forw_ptr CRC

Originally committed as revision 10016 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 18 years ago
parent 8d9a3f7e21
commit 6c666941eb
  1. 10
      libavformat/nutenc.c

@ -180,8 +180,14 @@ static inline void put_s_trace(ByteIOContext *bc, int64_t v, char *file, char *f
static void put_packet(NUTContext *nut, ByteIOContext *bc, ByteIOContext *dyn_bc, int calculate_checksum){ static void put_packet(NUTContext *nut, ByteIOContext *bc, ByteIOContext *dyn_bc, int calculate_checksum){
uint8_t *dyn_buf=NULL; uint8_t *dyn_buf=NULL;
int dyn_size= url_close_dyn_buf(dyn_bc, &dyn_buf); int dyn_size= url_close_dyn_buf(dyn_bc, &dyn_buf);
int forw_ptr= dyn_size + 4*calculate_checksum;
if(forw_ptr > 4096)
init_checksum(bc, av_crc04C11DB7_update, 0);
put_v(bc, forw_ptr);
if(forw_ptr > 4096)
put_le32(bc, get_checksum(bc));
put_v(bc, dyn_size + 4*calculate_checksum);
if(calculate_checksum) if(calculate_checksum)
init_checksum(bc, av_crc04C11DB7_update, 0); init_checksum(bc, av_crc04C11DB7_update, 0);
put_buffer(bc, dyn_buf, dyn_size); put_buffer(bc, dyn_buf, dyn_size);
@ -350,7 +356,7 @@ static int write_header(AVFormatContext *s){
put_flush_packet(bc); put_flush_packet(bc);
//FIXME info header, header repeation, header packet CRC, ... //FIXME info header, header repeation, ...
return 0; return 0;
} }

Loading…
Cancel
Save