diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-12-25 10:28:02 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-12-28 12:37:53 +0200 |
commit | 010057e0a49ffb1d6bc1524055eb15ee98186877 (patch) | |
tree | 73f78f3c01f28c5edd21783cc51fff4e1502a089 | |
parent | 565386874ec8bb3e64c62067dfd2a8b6c2db07f0 (diff) | |
download | gstreamer-plugins-base-010057e0a49ffb1d6bc1524055eb15ee98186877.tar.gz |
playsink: Don't leak audio/video filters when using non-raw media
-rw-r--r-- | gst/playback/gstplaysink.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index 1685692d9..eb81c0558 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -1818,6 +1818,9 @@ gen_video_chain (GstPlaySink * playsink, gboolean raw, gboolean async) GST_PLAY_SINK_TYPE_VIDEO_RAW); if (chain->filter) { if (!raw) { + gst_object_unref (chain->filter); + chain->filter = NULL; + if (playsink->flags & GST_PLAY_FLAG_FORCE_FILTERS) { goto filter_with_nonraw; } else { @@ -2693,6 +2696,9 @@ gen_audio_chain (GstPlaySink * playsink, gboolean raw) GST_PLAY_SINK_TYPE_AUDIO_RAW); if (chain->filter) { if (!raw) { + gst_object_unref (chain->filter); + chain->filter = NULL; + if (playsink->flags & GST_PLAY_FLAG_FORCE_FILTERS) { goto filter_with_nonraw; } else { |