Multiple subs in mp4 make seeking freeze

Erik Slagter erik at slagter.name
Sat Jun 11 14:50:10 PDT 2011


Hi guys,

I am currently trying to find a nasty problem I have been having with 
gstreamer for ages. Gstreamer is being used in enigma2, a settopbox 
"gui", which uses gstreamer to play any non-transport-stream media. It 
does so by using a playbin2().

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).

Thanks for your effort!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5110 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110611/2ad9ac43/attachment.bin>


More information about the gstreamer-devel mailing list