GNOME Bugzilla – Bug 395054
MP3 timeline playback not working properly
Last modified: 2007-02-08 20:36:44 UTC
Please describe the problem: When using GnonLin to play MP3 files, only the first file gets played, then EOS is sent. The same thing works without problem if one uses WAV files for example. Steps to reproduce: Create a GnonLin example where you put two or more MP3 files (i.e. gnlfilesource) one after another in the "GnonLin-timeline" (gnlcomposition), having the second one start at the duration of the first etc. Actual results: Only the first file gets played, then EOS is sent. Expected results: The files should be played one after another. Does this happen every time? Yes. Other information:
Created attachment 79966 [details] Example programs in Python and C. Here is an example program in Python and C to simulate the described behavior. You can decode the MP3 files to WAV files and change the filenames. It then works as expected (the two files get played after each other).
Works with OGG too, no problems with WAV or OGG files.
I don't know what behaviour of the decoder might cause this? It might be related to Bug #308312, but I'm not sure. Edward, can you comment?
Are there any news about this issue? Who is Edward and what does he/do you say about this?
The problem is that mad doesn't accept the seek event: ERROR gnlcomposition gnlcomposition.c:1213:no_more_pads_object_cb:<timeline> Sending seek event failed! Which means that that source isn't set up properly for playing back in segment mode. And what happens in the end is that it emits EOS (which is the normal behaviour in non-segment mode). The full reason for this is that the mad and fluendo mp3 decoder don't implement seeking accurately. Here the seeking is requested before the decoder can estimate the average bitrate, therefore can not do the time=>bytes conversion which is needed to do an upstream seek in bytes. I'm marking this as a duplicate of bug #308312 . *** This bug has been marked as a duplicate of 308312 ***