GNOME Bugzilla – Bug 557378
input-selector element makes subtitles pop up at unexpected times
Last modified: 2009-03-17 21:26:11 UTC
Please describe the problem: when using an input-selector element to be able to switch between different subtitle tracks out of a matroska container, the timing of the subtitle callbacks gets messed up - callbacks generally happen too early. Steps to reproduce: 1. gst-launch filesrc location=[testvideo.mkv] ! matroskademux name=d d.video_00 ! queue ! [videosink] d.audio_00 ! queue ! [audiosink] d.subtitle_00 ! ssaparse ! fakesink dump=true async=false sync=True 2. gst-launch filesrc location=[testvideo.mkv] ! matroskademux name=d d.video_00 ! queue ! [videosink] d.audio_00 ! queue ! [audiosink] d.subtitle_00 ! input-selector ! ssaparse ! fakesink dump=true async=false sync=True Actual results: first command shows the subtitles buffers at expected times second command results in subtitle buffers being handed off too quickly Expected results: i would expect the input-selector element not to affect the timing of subtitles Does this happen every time? yes. it also happens in a C++ application where signal-handoffs of the fakesink is connected to a subtitle rendering callback function Other information: test container file where this behaviour can be observed is available at http://rapidshare.com/files/156262942/testmovie.zip.html
the timing issue doesn't occur with SRT subtitles coming from a seperate file and going through an input-selector element aswell.
input-selector has trouble with the accumulated segments.
any news already? btw: isn't this bug technically confirmable?
Created attachment 121637 [details] [review] possible patch This patch fixes the reported bug but might break the original operation of the selector when switching streams.
Tested and works fine for me in a rather complex pipeline inside my application typically something like filesrc mkv ! ! matroskademux audio1 \ ! matroskademux audio2 ~ ! input-selector ! audiosink ! matroskademux audio3 / filesrc external srt file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ ! matroskademux SSA subtitle \ ! matroskademux SSA subtitle ~ ! input-selector ! ssaparse ~ ! input-selector ! matroskademux SSA subtitle / ! matroskademux utf8 subtitle \ ! matroskademux utf8 subtitle ~ ! input-selector ! subparse / ! matroskademux utf8 subtitle /
this issue is - from our point of view - obsolete. playbin2 doesn't seem to have this problem.