[MPlayer-dev-eng] mga + playlist broken

D Richard Felker III dalias at aerifal.cx
Sun Apr 7 03:00:50 CEST 2002


On Sun, Apr 07, 2002 at 03:09:48AM +0200, Arpi wrote:
> Hi,
> 
> > right now, playing multiple files with vo mga (or xmga i would assume)
> > is entirely broken. after the first file, mga preinit fails with
> > device busy. a quick investigation shows that mplayer is not leaving
> > the device after the first file, but it *is* leaving an old mmap in
> > place which keeps the device busy.
> 
> cannot reproduce
> 
> mplayer -vo mga *
> works fine, playing 17 files, mpg and avi (divx 3,4)...
> 
> > would someone like to fix this properly, or is it ok if i just commit
> > a temporary workaround that makes mplayer never close the device and
> > keep using the same file descriptor if vo mga is needed again?
> 
> i can't see what could be the problem for you.
> it opens the device at preinit() and close at uninit()
> 
> maybe second mmap() can fail(), when config(0 is called more than once.

ok, i figured out when it happens. look at mga_init in mga_common.c.
if it's called more than once, the old map pointer stored in frames[0]
will be lost without ever being unmapped. i don't know why, but
mga_init can and *does* get called more than once when playing some
files -- maybe it has something to do with that aspect changing stuff
in vd_ffmpeg.c -- and it either needs to be able to handle multiple
calls (which correspond to multiple calls to video_out->config) or
there needs to be code in place elsewhere to ensure that config isn't
called more than once (however, as i understand it's supposed to be
perfectly valid for config to be called more than once).

if you'd like to grab the files i'm using, you can get them from

  ftp://brightrain.aerifal.cx/pub/movies/xgdummy.avi
  ftp://brightrain.aerifal.cx/pub/movies/waintro.avi

and try playing them in that order. (the ftp dir isnt browsable but
you can request those files directly by name...or i can upload to
mplayerhq if you prefer).

hope this helps,


rich






More information about the MPlayer-dev-eng mailing list