[MPlayer-dev-eng] DGA and mplayer 0.90-rc3 - resource leak

Lewin A.R.W. Edwards larwe at larwe.com
Thu Mar 6 16:39:49 CET 2003


I've got a couple of problems getting mplayer running reliably without
rebooting continuously, and I'd love a hand :)

Here are the facts:

DGA is the _way_ fastest video output on my hardware (Epia motherboard
from Via, 800MHz C3 CPU, Apollo CLE133 graphics). Xv kinda works but
it's unusably buggy due to XFree86 issues on my hardware. There are two
problems though:

First, mplayer doesn't automatically return to previous video mode if
playing a movie with DGA. I looked into this and it appears that
XDGASetMode(mDisplay, mScreen, 0) doesn't work as documented. It's not
clear why this is so. I wonder if mplayer is maybe setting video mode
TWICE and the first call to XDGASetMode() is returning to the previously
set mode, not the original XFree86 mode.

Anyhow, I patched uninit() in libvo/vo_dga.c to XDGASetMode(mDisplay,
mScreen, 1) and that forces it to return to the highest-resolution mode,
which is my normal screen mode. Hack, but it works :/

This has uncovered a different (worse) problem, though. Now, some
resource is being leaked. I'm not sure what it is, but after some number
of plays (it may depend on the specific movie, but with my short 2sec
test MPEG-1 sample it is 1305 plays). strace doesn't tell me anything
useful :(

It's not RAM, because there is plenty free. Whatever this is, it needs a
full reboot before mplayer will work again. Simply closing and
restarting X doesn't fix the problem.

This is a big problem because my system is playing looped movies
unattended (advertising) :)

Any idea what this could be? It only happens with DGA output, as far as
I can tell.

-- 
-- Lewin A.R.W. Edwards
Work:     http://www.digi-frame.com/
Personal: http://www.larwe.com/



More information about the MPlayer-dev-eng mailing list