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",