playsink: cannot enable text flag while playing
authorVineeth TM <vineeth.tm@samsung.com>
Wed, 10 Jun 2015 06:50:12 +0000 (15:50 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 10 Jun 2015 08:38:45 +0000 (10:38 +0200)
when text playbin is not enabled in the beginning, then
video_srcpad_stream_synchronizer gets linked to videochain->sinkpad
and when we try to enable text bin during play, since it is already linked to videochain,
text chain does not get linked properly. Hence unlinking the same
before linking to text chain

https://bugzilla.gnome.org/show_bug.cgi?id=748908

gst/playback/gstplaysink.c

index 3fe4763..1b00cd7 100644 (file)
@@ -3744,12 +3744,17 @@ gst_play_sink_do_reconfigure (GstPlaySink * playsink)
               GST_PAD_LINK_CHECK_NOTHING);
           gst_object_unref (srcpad);
         } else {
-          if (need_deinterlace)
+          if (need_deinterlace) {
+            gst_pad_unlink (playsink->videodeinterlacechain->srcpad,
+                playsink->videochain->sinkpad);
             gst_pad_link_full (playsink->videodeinterlacechain->srcpad,
                 playsink->textchain->videosinkpad, GST_PAD_LINK_CHECK_NOTHING);
-          else
+          } else {
+            gst_pad_unlink (playsink->video_srcpad_stream_synchronizer,
+                playsink->videochain->sinkpad);
             gst_pad_link_full (playsink->video_srcpad_stream_synchronizer,
                 playsink->textchain->videosinkpad, GST_PAD_LINK_CHECK_NOTHING);
+          }
         }
         gst_pad_link_full (playsink->textchain->srcpad,
             playsink->videochain->sinkpad, GST_PAD_LINK_CHECK_NOTHING);