Mercurial > libavformat.hg
diff nutenc.c @ 2359:1860d5b4be2e libavformat
header repetition
| author | michael |
|---|---|
| date | Fri, 10 Aug 2007 12:59:17 +0000 |
| parents | ed9b81f74317 |
| children | b2eeaa4df665 |
line wrap: on
line diff
--- a/nutenc.c Fri Aug 10 11:52:28 2007 +0000 +++ b/nutenc.c Fri Aug 10 12:59:17 2007 +0000 @@ -365,6 +365,9 @@ url_open_dyn_buf(&dyn_bc); write_globalinfo(nut, &dyn_bc); put_packet(nut, bc, &dyn_bc, 1, INFO_STARTCODE); + + nut->last_syncpoint_pos= INT_MIN; + nut->header_count++; } static int write_header(AVFormatContext *s){ @@ -416,7 +419,7 @@ put_flush_packet(bc); - //FIXME header repeation, index + //FIXME index return 0; } @@ -445,6 +448,9 @@ int key_frame = !!(pkt->flags & PKT_FLAG_KEY); int store_sp=0; + if(1LL<<(20+3*nut->header_count) <= url_ftell(bc)) + write_headers(nut, bc); + if(key_frame && !!(nus->last_flags & FLAG_KEY)) store_sp= 1; @@ -563,7 +569,8 @@ NUTContext *nut= s->priv_data; ByteIOContext *bc= &s->pb; - write_headers(nut, bc); + while(nut->header_count<3) + write_headers(nut, bc); put_flush_packet(bc); return 0;
