Changeset 101082 in webkit
- Timestamp:
- Nov 23, 2011 7:33:19 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r101081 r101082 1 2011-11-23 Philippe Normand <pnormand@igalia.com> 2 3 [GStreamer] improper usage of gst_object_ref_sink 4 https://bugs.webkit.org/show_bug.cgi?id=73014 5 6 Reviewed by Martin Robinson. 7 8 No new tests. Existing tests cover this already. 9 10 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: 11 (WTF::adoptGRef): Ensure this is called with non-floating GstObjects. 12 (WTF::GstElement): Replace gst_object_ref_sink with 13 gst_object_ref+gst_object_sink like advised in the GstObject documentation. 14 (WTF::GstPad): Ditto. 15 * platform/graphics/gstreamer/GRefPtrGStreamer.h: 16 1 17 2011-11-23 Yury Semikhatsky <yurys@chromium.org> 2 18 -
trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp
r99977 r101082 26 26 namespace WTF { 27 27 28 template <> GRefPtr<GstElement> adoptGRef(GstElement* ptr) 29 { 30 ASSERT(!GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr))); 31 return GRefPtr<GstElement>(ptr, GRefPtrAdopt); 32 } 33 28 34 template <> GstElement* refGPtr<GstElement>(GstElement* ptr) 29 35 { 30 if (ptr) 31 gst_object_ref_sink(ptr); 36 if (ptr) { 37 gst_object_ref(GST_OBJECT(ptr)); 38 gst_object_sink(GST_OBJECT(ptr)); 39 } 40 32 41 return ptr; 33 42 } … … 39 48 } 40 49 50 template <> GRefPtr<GstPad> adoptGRef(GstPad* ptr) 51 { 52 ASSERT(!GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr))); 53 return GRefPtr<GstPad>(ptr, GRefPtrAdopt); 54 } 55 41 56 template <> GstPad* refGPtr<GstPad>(GstPad* ptr) 42 57 { 43 if (ptr) 44 gst_object_ref_sink(GST_OBJECT(ptr)); 58 if (ptr) { 59 gst_object_ref(GST_OBJECT(ptr)); 60 gst_object_sink(GST_OBJECT(ptr)); 61 } 45 62 return ptr; 46 63 } -
trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h
r99977 r101082 30 30 namespace WTF { 31 31 32 template<> GRefPtr<GstElement> adoptGRef(GstElement* ptr); 32 33 template<> GstElement* refGPtr<GstElement>(GstElement* ptr); 33 34 template<> void derefGPtr<GstElement>(GstElement* ptr); 34 35 36 template<> GRefPtr<GstPad> adoptGRef(GstPad* ptr); 35 37 template<> GstPad* refGPtr<GstPad>(GstPad* ptr); 36 38 template<> void derefGPtr<GstPad>(GstPad* ptr);
Note: See TracChangeset
for help on using the changeset viewer.