diff options
author | Lev Zelenskiy <lev.zelenskiy@nokia.com> | 2012-05-11 11:36:15 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-11 04:42:39 +0200 |
commit | 3d0dc61b9fc34c96497d80b7ad02d3c26bc5813a (patch) | |
tree | 2188e6d63b39449b1336ca5965b17636e0516f35 /src/plugins/gstreamer/mediaplayer | |
parent | 4bb755598bf2abb762d0458dadb9f7a9feba32c3 (diff) |
QGStreamerPlayerSession: unref pads after using them.
Change-Id: I3eec73eca5c2da3c449f362da8639a6dfb52a9e9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/mediaplayer')
-rw-r--r-- | src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp index 33c836130..caf034d2d 100644 --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp @@ -1806,8 +1806,10 @@ void QGstreamerPlayerSession::removeVideoBufferProbe() } GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); - if (pad) + if (pad) { gst_pad_remove_buffer_probe(pad, m_videoBufferProbeId); + gst_object_unref(GST_OBJECT(pad)); + } m_videoBufferProbeId = -1; } @@ -1819,8 +1821,10 @@ void QGstreamerPlayerSession::addVideoBufferProbe() return; GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); - if (pad) + if (pad) { m_videoBufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padVideoBufferProbe), this); + gst_object_unref(GST_OBJECT(pad)); + } } void QGstreamerPlayerSession::removeAudioBufferProbe() @@ -1834,8 +1838,10 @@ void QGstreamerPlayerSession::removeAudioBufferProbe() } GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); - if (pad) + if (pad) { gst_pad_remove_buffer_probe(pad, m_audioBufferProbeId); + gst_object_unref(GST_OBJECT(pad)); + } m_audioBufferProbeId = -1; } @@ -1847,8 +1853,10 @@ void QGstreamerPlayerSession::addAudioBufferProbe() return; GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); - if (pad) + if (pad) { m_audioBufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padAudioBufferProbe), this); + gst_object_unref(GST_OBJECT(pad)); + } } void QGstreamerPlayerSession::flushVideoProbes() |