[MPlayer-dev-eng] [PATCH] bugfix - Possible Endless loop when using sstep on AVIs

Kai Londenberg K.Londenberg at librics.de
Thu Sep 6 17:00:18 CEST 2007


Hello ..

This is a very small patch against the head revision of mplayer, (less 
than 10 lines of  changed code)
which fixes a Problem when using mplayer like this in this example 
commandline:

mplayer -ao none -sstep 6 -x 320 -y 240 -vo 
jpeg:progressive:outdir=preview:quality=80 movie.avi

This command creates a sequence of jpeg snapshots of the given AVI 
movie, one snapshot every 6 seconds.

Instead of correctly detecting EOF, the demux_seek_avi() function in 
libmpdemux/demux_avi.c silently discards
frames which could not be skipped, since EOF has been reached.

This can lead to an endless loop and (in the example above) to unlimited 
disk space consumption.

The patch fixes the demux_seek_avi function in libmpdemux/demux_avi.c 
and the seek function in mplayer.c

I have an 8 MB AVI file which can be used to reproduce the problem - I'm 
not going to post it to a mailing list, though - Contact me, if you need 
this as well.

The patch fixes the problem, but could lead to side effects unknown to 
me. I tested it against some files, and everythings seems to be fine now.

Please review the patch, and if you deem it worthy, please include it in 
the official mplayer.

with best regards,


    Kai Londenberg
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mplayer-avi-sstep-endless-loop-patch.patch
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070906/447ed8bb/attachment.asc>


More information about the MPlayer-dev-eng mailing list