diff options
| author | christophe.dumez <christophe.dumez@intel.com> | 2013-03-04 11:27:18 +0100 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-04 14:11:18 +0100 |
| commit | 664913c1db0e7281e284a9942888d4abcbdc4bd3 (patch) | |
| tree | 92fc395c0f8fc3c7d88ceb2b1e47a93bff68c89d | |
| parent | e387c506a0dfe4b62a9e8beedc76d1abcc177c24 (diff) | |
| download | qtwebkit-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.cpp | 9 |
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 |
