summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Hasselmann <mathias.hasselmann@kdab.com>2013-11-15 01:03:21 +0100
committerMathias Hasselmann <mathias.hasselmann@kdab.com>2013-11-15 01:03:21 +0100
commit5d7951545099a02b83bb932673bff3399e013849 (patch)
tree3ffa428dafea475696b45ba8ae6de4914e95b6ee
parent0187fcd0c63172f07781456f99bd76acca1d78e9 (diff)
downloadqtquickstreamer-5d7951545099a02b83bb932673bff3399e013849.tar.gz
qtquickstreamer-5d7951545099a02b83bb932673bff3399e013849.tar.xz
Shutdown GStreamer elements when destructing their elementHEADmaster
-rw-r--r--src/QuickStreamer/item.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/QuickStreamer/item.cpp b/src/QuickStreamer/item.cpp
index a521241..b6aec20 100644
--- a/src/QuickStreamer/item.cpp
+++ b/src/QuickStreamer/item.cpp
@@ -876,6 +876,11 @@ Item::Item(const Item &other)
Item::~Item()
{
+ if (GST_IS_ELEMENT(m_target))
+ gst_element_set_state(GST_ELEMENT(m_target), GST_STATE_NULL);
+
+ g_signal_handlers_disconnect_matched(m_target, static_cast<GSignalMatchType>(0),
+ 0, 0, Q_NULLPTR, Q_NULLPTR, Q_NULLPTR);
g_object_unref(m_target);
}