summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/playback/gstplaysink.c6
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 {