summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristophe.dumez <christophe.dumez@intel.com>2013-03-04 11:27:18 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-04 14:11:18 +0100
commit664913c1db0e7281e284a9942888d4abcbdc4bd3 (patch)
tree92fc395c0f8fc3c7d88ceb2b1e47a93bff68c89d
parente387c506a0dfe4b62a9e8beedc76d1abcc177c24 (diff)
downloadqtwebkit-664913c1db0e7281e284a9942888d4abcbdc4bd3.tar.gz
Regression(r140414): It is causing crashes with gstreamer 0.10
https://bugs.webkit.org/show_bug.cgi?id=107554 Reviewed by Philippe Normand. gstreamer 0.10 doc led me to believe that gst_element_factory_make() was not returning a floating reference. However, based on testing (and results on Qt port) it does so we should NOT adopt the returned GstElement object. No new tests, already covered by existing tests. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Change-Id: I7f76be4d04e180a1b953ad20dded75f9944202de git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140422 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-rw-r--r--Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index cd34c1845..6b69cb006 100644
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -1768,12 +1768,11 @@ void MediaPlayerPrivateGStreamer::createGSTPlayBin()
{
ASSERT(!m_playBin);
-#ifdef GST_API_VERSION_1
- // In gstreamer 1.0, gst_element_factory_make returns a floating
- // reference so we should not adopt.
+ // gst_element_factory_make() returns a floating reference so
+ // we should not adopt.
m_playBin = gst_element_factory_make(gPlaybinName, "play");
-#else
- m_playBin = adoptGRef(gst_element_factory_make(gPlaybinName, "play"));
+
+#ifndef GST_API_VERSION_1
m_gstGWorld = GStreamerGWorld::createGWorld(m_playBin.get());
#endif