Mercurial > libavformat.hg
comparison ffmenc.c @ 4756:d426504e401b libavformat
do not write ffm write index by default, detect if file is being written and return EOF
author | bcoudurier |
---|---|
date | Fri, 20 Mar 2009 01:23:33 +0000 |
parents | 77e0c7511d41 |
children | de6eb16c2b5b |
comparison
equal
deleted
inserted
replaced
4755:e8d5fa636916 | 4756:d426504e401b |
---|---|
91 ffm->packet_size = FFM_PACKET_SIZE; | 91 ffm->packet_size = FFM_PACKET_SIZE; |
92 | 92 |
93 /* header */ | 93 /* header */ |
94 put_le32(pb, MKTAG('F', 'F', 'M', '1')); | 94 put_le32(pb, MKTAG('F', 'F', 'M', '1')); |
95 put_be32(pb, ffm->packet_size); | 95 put_be32(pb, ffm->packet_size); |
96 /* XXX: store write position in other file ? */ | 96 put_be64(pb, 0); /* current write position */ |
97 put_be64(pb, ffm->packet_size); /* current write position */ | |
98 | 97 |
99 put_be32(pb, s->nb_streams); | 98 put_be32(pb, s->nb_streams); |
100 bit_rate = 0; | 99 bit_rate = 0; |
101 for(i=0;i<s->nb_streams;i++) { | 100 for(i=0;i<s->nb_streams;i++) { |
102 st = s->streams[i]; | 101 st = s->streams[i]; |
222 if (ffm->packet_ptr > ffm->packet) | 221 if (ffm->packet_ptr > ffm->packet) |
223 flush_packet(s); | 222 flush_packet(s); |
224 | 223 |
225 put_flush_packet(pb); | 224 put_flush_packet(pb); |
226 | 225 |
227 if (!url_is_streamed(pb)) { | |
228 int64_t size; | |
229 /* update the write offset */ | |
230 size = url_ftell(pb); | |
231 url_fseek(pb, 8, SEEK_SET); | |
232 put_be64(pb, size); | |
233 put_flush_packet(pb); | |
234 } | |
235 | |
236 return 0; | 226 return 0; |
237 } | 227 } |
238 | 228 |
239 AVOutputFormat ffm_muxer = { | 229 AVOutputFormat ffm_muxer = { |
240 "ffm", | 230 "ffm", |