GNOME Bugzilla – Bug 726785
[PATCH] oggdemux fails to play very small files in push mode
Last modified: 2016-02-21 22:56:45 UTC
In a push mode pipeline, in order to find the duration of the file oggdemux seeks to its end before starting playback, so that it can see what is the time near the end. Unfortunately, it cannot seek to the very end (because that would send EOS to the application) and it also needs to go a bit earlier to make sure that there is a granpos within the segment. On very small files, this time is already at the start, so seeking to the end does not work and causes the file not to be played. This patch simply disables the duration check for such small files. Note that it does not disable seeking, although it will probably not work properly without knowing the duration, because seeking is needed in html5 backends implemented with gstreamer (see webkitgtk) in order to seek to 0 and replay the sound, if the web application requests it.
Created attachment 272504 [details] [review] oggdemux: disable push mode duration check on very small files
Can you share the sample that doesn't work ? I just tried with a 3KB file here, which seems to work (modulo duration being determine to be 0, instead of epsilon).
And if you had a test case that should work but does not, while not using webkit, it'd be great, I have some time to look into it :)
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!