summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-05-11 11:36:15 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-11 04:42:39 +0200
commit3d0dc61b9fc34c96497d80b7ad02d3c26bc5813a (patch)
tree2188e6d63b39449b1336ca5965b17636e0516f35 /src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
parent4bb755598bf2abb762d0458dadb9f7a9feba32c3 (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/qgstreamerplayersession.cpp')
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp16
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()