[MPlayer-users] dvdnav problems 32bit MinGW

Roger Pack rogerdpack2 at gmail.com
Fri Nov 11 23:22:24 CET 2011


> Well, I'm pretty sure it's right. I'm using MinGW Runtime 3.20. The patch
> is for 3.18.
> But the code is identical at these sections.

If I build mplayer with "vanilla" GCC I get a hard crash when playing
dvdnav:// here:

mp_msg("dvdnav_stream, seeking to %"PRIu64" failed: %s\n", newpos, "a
test string");
https://gist.github.com/1356451 has the backtrace, and how to kind of
reproduce it.

I think it's failing before "newpos" (an off_t) is a long, and it
expects a long long.

I guess it's expected that a long would fail given that particular
printf macro then [anybody know?]

Anyway, if you run it through the preprocessor:

$ gcc -MD -MP -Ilibdvdnav -Wundef -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign
-Wdeclaration-after-statement -std=gnu99  -O2 -march=native
-mtune=native -pipe -g  -fno-tree-vectorize -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I.
-Iffmpeg  -fno-common  -c -o output -E stream/stream_dvdnav.c

and look in the file "output" how does it define long?

typedef long _off_t; // does it look like this?

If so then (it should be a long long) you possibly didn't apply the
last part of the patch.
I applied the patch on a fresh mingw with 4.6.1 and it compiled and
built, doesn't crash now, and plays through an entire DVD start to
finish.  I'd be happy to share it with you if you desire.
Cheers!
-roger-


More information about the MPlayer-users mailing list