GNOME Bugzilla – Bug 652541
playbin2: video freezes shortly after switching subtitle streams
Last modified: 2013-08-19 06:24:32 UTC
To reproduce: - download http://erikslag.home.xs4all.nl/test-2.mp4 - play in totem - switch to the other subtitle stream Effect: - new subtitles are not shown - video freezes at some point (N-15 secs) after switching Also see: http://lists.freedesktop.org/archives/gstreamer-devel/2011-June/031845.html : " The problem is this: an mp4 file with one (1) subtitle track works like a charm. As soon as more are present, problems come. Sometimes the file plays until the end, sometimes it freezes. If I select the second subtitle track, at least I don't get the subtitles, also sooner or later it freezes as well. The problem of not getting subs after switching sub track can be worked around by seeking to the start of the file and back, as recommended by a developer for older versions of gstreamer. Enigma2 uses 0.10.32 though, which doesn't seem that old to me? But then the freezing is appearing even more. I've done a lot of debugging on the enigma2 source code lately and I now can dismiss any bugs in that code causing this. It's very simple. Every time I activate the second subtitle track ("current-text" = 2), and then do a seek (something like this:) rv = gst_element_seek_simple(GST_ELEMENT(m_gst_playbin), GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, 0); The call doesn't return and the pipeline halts after some time. This does *not* happen when subtitle track 1 or no subtitle track is selected. The actual seek position doesn't matter, it always freezes. Also in the meantime no significant messages are delivered to the app. It's just... frozen. Is this a known problem, has this been fixed in newer versions? I can't find any references to this problem, so I guess not. Can somebody try it? Here you can find example files: http://www.xs4all.nl/~erikslag. The -x part describes how many subtitle tracks are present. I also noticed that subtitles of the first subtitle track are delivered, even if no subtitle is actually selected, is this is a known problem? ("current-text" = -1). "
I have similar problem with gst-1.0.5. Switching to 2nd and next subtitle tracks will freeze immediately after set_property. It will never return from set_property("current-text", X) function.
The original files are not available anymore but I can't reproduce this problem with many files I tried here and latest GIT master. Please reopen if it still exists and provide the relevant media file.
Yeah, it works now. I think it's been solved by making qtdemux send GAP events for subtitle streams.
I have still same problem here with gstreamer-1.0.9 and my player in python. Using set_property("current-text", X) function will never return and video stops playing. My application freezes. This happens in an mkv video with multiple subtitles. I can't upload it, but can run some tests if needed. Any chance to fix this in 1.0 branch too?