Date: Sun, 8 Jun 2003 15:06:15 +0200 From: ted@NLnetLabs.nl (Ted Lindgreen) To: freebsd-current@freebsd.org Subject: Re Regression: Playing QT files from mplayer stopped working in 5.1 Message-ID: <200306081306.h58D6F89005060@open.nlnetlabs.nl>
next in thread | raw e-mail | index | archive | help
> Since a short time (don't know exactly when it happened) it's not possible
> anymore to play Quicktime files (.mov) with mplayer on 5.1-CURRENT. It has to
> be a change in -CURRENT, I haven't updated mplayer.
I do not have the right fix, but the cause of the problem is
that in loader/win32.c at line 2077:
2076 if (v1 > 2)
2077 if (!close(v1a))
close is called with a ridiciously large value. In previous
FreeBSD releases this appearently did not cause a fatal problem,
but since a week or so mplayer aborts on it.
A stupid, but effective workaround is not to call close if v1
is too large, f.i.:
2072 static int WINAPI expCloseHandle(long v1)
2073 {
2074 dbgprintf("CloseHandle(0x%x) => 1\n", v1);
2075 /* do not close stdin,stdout and stderr */
2076 if (v1 > 2 && v1 < 128)
2077 if (!close(v1))
2078 return 0;
2079 return 1;
2080 }
Of course for the real fix one needs to delve deeper into mplayer
to find out where the large valued filedescriptor comes from.
-- ted
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306081306.h58D6F89005060>
