mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-18 05:16:05 +00:00
playsink: Fix disabling of subtitles if subtitles were used before
In this case the video still goes through the text chain and subtitles are still going in there, in case subtitles are enabled again. This makes sure that re-enabling subtitles happens instantly. Fixes hanging video when disabling subtitles, caused by an unliked video pad.
This commit is contained in:
parent
36fee21834
commit
3b842bc98b
1 changed files with 3 additions and 2 deletions
|
@ -1787,7 +1787,8 @@ gst_play_sink_reconfigure (GstPlaySink * playsink)
|
|||
add_chain (GST_PLAY_CHAIN (playsink->videochain), TRUE);
|
||||
activate_chain (GST_PLAY_CHAIN (playsink->videochain), TRUE);
|
||||
/* if we are not part of vis or subtitles, set the ghostpad target */
|
||||
if (!need_vis && !need_text) {
|
||||
if (!need_vis && !need_text && !playsink->text_pad
|
||||
&& !playsink->textchain) {
|
||||
GST_DEBUG_OBJECT (playsink, "ghosting video sinkpad");
|
||||
gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (playsink->video_pad),
|
||||
playsink->videochain->sinkpad);
|
||||
|
@ -1859,7 +1860,7 @@ gst_play_sink_reconfigure (GstPlaySink * playsink)
|
|||
}
|
||||
if (!need_video && playsink->video_pad)
|
||||
gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (playsink->video_pad), NULL);
|
||||
if (playsink->text_pad)
|
||||
if (playsink->text_pad && !playsink->textchain)
|
||||
gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (playsink->text_pad), NULL);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue