[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