comparison raw.c @ 3926:14020f10caf7 libavformat

write number of samples in FLAC extradata. based on a patch by Mathieu Velten (matmaul gmail com).
author jbr
date Sun, 14 Sep 2008 20:00:36 +0000
parents f55b5e474321
children 549a09cf23fe
comparison
equal deleted inserted replaced
3925:dfd3033e7de7 3926:14020f10caf7
40 put_buffer(s->pb, header, 8); 40 put_buffer(s->pb, header, 8);
41 put_buffer(s->pb, streaminfo, len); 41 put_buffer(s->pb, streaminfo, len);
42 } 42 }
43 return 0; 43 return 0;
44 } 44 }
45
46 static int flac_write_trailer(struct AVFormatContext *s)
47 {
48 ByteIOContext *pb = s->pb;
49 uint8_t *streaminfo = s->streams[0]->codec->extradata;
50 int len = s->streams[0]->codec->extradata_size;
51 offset_t file_size;
52
53 if (streaminfo && len > 0 && !url_is_streamed(s->pb)) {
54 file_size = url_ftell(pb);
55 url_fseek(pb, 8, SEEK_SET);
56 put_buffer(pb, streaminfo, len);
57 url_fseek(pb, file_size, SEEK_SET);
58 put_flush_packet(pb);
59 }
60 return 0;
61 }
45 #endif 62 #endif
46 63
47 #ifdef CONFIG_ROQ_MUXER 64 #ifdef CONFIG_ROQ_MUXER
48 static int roq_write_header(struct AVFormatContext *s) 65 static int roq_write_header(struct AVFormatContext *s)
49 { 66 {
703 0, 720 0,
704 CODEC_ID_FLAC, 721 CODEC_ID_FLAC,
705 CODEC_ID_NONE, 722 CODEC_ID_NONE,
706 flac_write_header, 723 flac_write_header,
707 raw_write_packet, 724 raw_write_packet,
725 flac_write_trailer,
708 .flags= AVFMT_NOTIMESTAMPS, 726 .flags= AVFMT_NOTIMESTAMPS,
709 }; 727 };
710 #endif 728 #endif
711 729
712 #ifdef CONFIG_GSM_DEMUXER 730 #ifdef CONFIG_GSM_DEMUXER