Hi,
> >
> > I don't really have any idea about how to fix it.
>
> Are you sure aviplay doesn't play them ?
ok i've just updated aviplay from cvs, and it plays it with sound, but with
the same ~ 6 sec desync as mplayer.
btw, avifile doesn't compiles without errors (but this time ./configure was
generated and run well :)):
/bin/sh ../../libtool --mode=link g++ -g -O2 -mcpu=i686 -march=i686
-ffast-math -pipe -o avimake avimake.o ../../lib/libaviplay.la
-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread -L/usr/X11R6/lib
-lSM -lICE -lXxf86dga -lXxf86vm -lXi -lXft -lXv -lXext -lX11 -ljpeg -lnsl
-ldl
g++ -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -o .libs/avimake
avimake.o -Wl,-rpath -Wl,/usr/local/lib ../../lib/.libs/libaviplay.so -lm
-L/usr/local/lib -lm -L/opt/gnome/lib -lm -L/usr/X11R6/lib -lm
/opt/gnome/lib/libesd.so -lm -lm
/opt/gnome/lib/libaudiofile.so -lm -lm -lm -lm -lm /usr/local/lib/libSDL.so
-lm
-lesd -laudiofile -lm /usr/local/lib/libaa.so -lpthread -lSM -lICE
-lXxf86dga -lXxf86vm -lXi -lXft -lXv -lXext -lX11 -ljpeg -lnsl -ldl
-Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/opt/gnome/lib
avimake.o: In function atalError type_info function':
/demo/mplayer/avifile-CVS/avifile-0.6/samples/misc/../../include/avm_stl.h(.text+0x83):
undefined reference to err'
/demo/mplayer/avifile-CVS/avifile-0.6/samples/misc/../../include/avm_stl.h(.text+0x88):
undefined reference to tream::operator<<(char const *)'
/demo/mplayer/avifile-CVS/avifile-0.6/samples/misc/../../include/avm_stl.h(.text+0x91):
undefined reference to tream::operator<<(char const *)'
...
but as it's in samples/misc, i don't care. make -k worked, other files
compile well.
anyway i have an idea bout what's wrong with a-v sync here.
======= STREAM Header =======
Type: auds FCC: (0)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 48000/1152 = 41.667
Start: 0 Len: 6433
Suggested BufferSize: 23040
Quality 0
Sample size: 0
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 26686
Block align: 1152
bits/sample: 0
cbSize: 12
so Block align is 1152.
according to Avery Lee's paper on dshow demuxer bug (making vbr audio
possible) the dshow avi demuxer rounds up chunk size to Block align value.
so, for normal vbr files, where chunks are small (smaller than 1152 bytes)
it works well, and teh demuxer handles it as CBR (due to rounded-up
chunksizes are constant). but, in this file, due to zeroes, the chunk sizes
are bad:
0: 01wb 0 00000004 len: 23040 pos: 0-> 0.000 0->0.000
1: 01wb 0 00005A0C len: 1152 pos: 23040-> 1.229 1->0.042
2: 01wb 0 00005E94 len: 2304 pos: 24192-> 1.290 2->0.083
3: 01wb 0 0000679C len: 2304 pos: 26496-> 1.413 3->0.125
4: 01wb 0 000070A4 len: 1152 pos: 28800-> 1.536 4->0.167
5: 01wb 0 0000752C len: 2304 pos: 29952-> 1.598 5->0.209
6: 01wb 0 00007E34 len: 2304 pos: 32256-> 1.721 6->0.250
7: 01wb 0 0000873C len: 2304 pos: 34560-> 1.843 7->0.292
8: 01wb 0 00009044 len: 1152 pos: 36864-> 1.966 8->0.334
9: 01wb 0 000094CC len: 2304 pos: 38016-> 2.028 9->0.375
10: 01wb 0 00009DD4 len: 2304 pos: 40320-> 2.151 10->0.417
...
so this rounding thing doesn't work the same way.
it probably handles the 2304 byte chunks as 2 frames, so it may cause a-v
desync. what do you think?
A'rpi / Astral & ESP-team
--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile