[MPlayer-users] dvdnav problems 32bit MinGW

Henry defsyn at gmail.com
Sat Nov 12 15:42:39 CET 2011


On Fri, Nov 11, 2011 at 5:22 PM, Roger Pack <rogerdpack2 at gmail.com> wrote:

> > 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?
>
> You left out a few Include directories in the above command line.
And if you don't define _OFF_T_, then long will not be redefined:
since it will only be redefined way if  _OFF_T_  is defined. Or so it looks
to me.

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


More information about the MPlayer-users mailing list