From a038e5e583a7a74f8b36c6afc00d25c1bff276ad Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 25 Jun 2012 16:01:06 +0200 Subject: [PATCH] playsink: Unlink pads when switching between enabling/disabling the deinterlace chain See bug #678762. --- gst/playback/gstplaysink.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index d122a9f..c0249df 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -3094,6 +3094,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink) add_chain (GST_PLAY_CHAIN (playsink->videodeinterlacechain), TRUE); activate_chain (GST_PLAY_CHAIN (playsink->videodeinterlacechain), TRUE); + gst_pad_unlink (playsink->video_srcpad_stream_synchronizer, + playsink->videochain->sinkpad); gst_pad_link_full (playsink->video_srcpad_stream_synchronizer, playsink->videodeinterlacechain->sinkpad, GST_PAD_LINK_CHECK_NOTHING); } else { @@ -3111,6 +3113,10 @@ gst_play_sink_reconfigure (GstPlaySink * playsink) if (!need_vis && !need_text && (!playsink->textchain || !playsink->text_pad)) { GST_DEBUG_OBJECT (playsink, "ghosting video sinkpad"); + gst_pad_unlink (playsink->video_srcpad_stream_synchronizer, + playsink->videochain->sinkpad); + gst_pad_unlink (playsink->videodeinterlacechain->srcpad, + playsink->videochain->sinkpad); if (need_deinterlace) gst_pad_link_full (playsink->videodeinterlacechain->srcpad, playsink->videochain->sinkpad, GST_PAD_LINK_CHECK_NOTHING); -- 2.7.4