[MPlayer-dev-eng] [BUG] [PATCH] Ogg/Theora frametime broken on 0-length packets

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sun May 1 19:01:25 CEST 2011


On Sat, Apr 30, 2011 at 04:56:08PM +0200, David Kuehling wrote:
> >>>>> "Reimar" == Reimar Döffinger <Reimar.Doeffinger at gmx.de> writes:
> 
> > On Sat, Apr 30, 2011 at 02:34:20PM +0200, David Kuehling wrote:
> >> I noticed that a/v sync drifts in theora files that contain 0-length
> >> video demux packets (i.e. frames where the image doesn't change at
> >> all), when played back with -demuxer ogg.  The libavformat demuxer
> >> seems to work correctly.  However it uses so much memory (a leak),
> >> that it won't work on the target platform (NanoNote: 32MB RAM, no
> >> swap).
> 
> [..]
> 
> > There are multiple possible solutions, the most correct _probably_ to
> > stop the Ogg demuxer from outputting 0-size packets.  Though this also
> > might be an issue of the decoder behaving incorrectly.  Are you sure
> > it is not related to that you end up using libtheora when using
> > -demuxer ogg while using fftheora with -demuxer lavf?  But a sample
> > file to test and verify multiple approaches would be most useful.
> 
> I just encoded an example file that exposes the problem very clearly.
> Now even the libavformat demuxer shows that it cannot cope with the
> file.  The only way to play it back is to use the patch I posted in the
> first mail, and give -demuxer ogg:
> 
>   http://mosquito.dyndns.tv/david/nanonote/theora-0packets.ogv

Actually, MPlayer does know how it should play it, it just thinks
it's not a good idea to do so because the video time-stamps change
too suddenly to it liking.
-mc 100 reduces the issue significantly, though if -demuxer lavf
is "correct" the it still plays far too smoothly - though that is
kind of a feature.

> (Looks like at firefox 3.6 plays it correctly :)

Comparing with that, -demuxer lavf plays it _completely_ differently.
I'm afraid you'll have to explain a bit which behaviour is ok and which
is not.
FFplay seems to play it in yet another way.


More information about the MPlayer-dev-eng mailing list