diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-08-09 12:48:52 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-08-09 12:48:52 +0000 |
commit | 6c666941eb2904d7c33fe91495d1ca47be92f2a7 (patch) | |
tree | e381965a79747afc4d26623a51ba64f5a59ef857 | |
parent | 8d9a3f7e21435ddf47635909c90f56f8c966397b (diff) | |
download | ffmpeg-6c666941eb2904d7c33fe91495d1ca47be92f2a7.tar.gz |
forw_ptr CRC
Originally committed as revision 10016 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/nutenc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 9ce92d93a8..05f94285a6 100644 --- a/libavformat/nutenc.c +++ b/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){ uint8_t *dyn_buf=NULL; 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) init_checksum(bc, av_crc04C11DB7_update, 0); put_buffer(bc, dyn_buf, dyn_size); @@ -350,7 +356,7 @@ static int write_header(AVFormatContext *s){ put_flush_packet(bc); - //FIXME info header, header repeation, header packet CRC, ... + //FIXME info header, header repeation, ... return 0; } |