[Ffmpeg-cvslog] r6966 - in trunk/libavformat: Makefile allformats.c nut.h nutdec.c
Oded Shimon
ods15
Sun Nov 12 06:16:10 CET 2006
On Sat, Nov 11, 2006 at 02:35:51AM +0100, michael wrote:
> Author: michael
> Date: Sat Nov 11 02:35:50 2006
> New Revision: 6966
>
> Added:
> trunk/libavformat/nut.h
> trunk/libavformat/nutdec.c
> - copied, changed from r6963, /trunk/libavformat/nut.c
> Modified:
> trunk/libavformat/Makefile
> trunk/libavformat/allformats.c
>
> Log:
> updating nut demuxer to latest spec
> no muxing yet
> no index yet
> no seeking yet
> samplerate is stored wrong by libnut (demuxer has a workaround)
fixed. it was a nutmerge but, not a libnut one :)
> libnuts crcs dont match mine (didnt investigate yet)
> static int get_packetheader(NUTContext *nut, ByteIOContext *bc, int calculate_checksum)
> {
> int64_t start, size;
> - start= url_ftell(bc) - 8;
> +// start= url_ftell(bc) - 8;
>
> size= get_v(bc);
>
> - init_checksum(bc, calculate_checksum ? av_adler32_update : NULL, 1);
> + init_checksum(bc, calculate_checksum ? av_crc04C11DB7_update : NULL, 1);
changing the initial value of crc in libnut from '0' to 'bswap_32(1)', and
running bswap_32() on the result makes our crc's match. The spec says the
initial value should be zero. I have no idea which of us is correct in
regards to the bswap_32 thing. If I am, an easy fix on your end would be
changing get_be32 to get_le32 for the checksum compare...
- ods15
More information about the ffmpeg-cvslog
mailing list