[Ffmpeg-cvslog] r7978 - in trunk: libavformat/aiff.c tests/libav.regression.ref
bcoudurier
subversion
Wed Feb 14 12:01:05 CET 2007
Author: bcoudurier
Date: Wed Feb 14 12:01:05 2007
New Revision: 7978
Modified:
trunk/libavformat/aiff.c
trunk/tests/libav.regression.ref
Log:
use aiff when we can, some players only support aiff
Modified: trunk/libavformat/aiff.c
==============================================================================
--- trunk/libavformat/aiff.c (original)
+++ trunk/libavformat/aiff.c Wed Feb 14 12:01:05 2007
@@ -163,26 +163,32 @@
ByteIOContext *pb = &s->pb;
AVCodecContext *enc = s->streams[0]->codec;
AVExtFloat sample_rate;
+ int aifc = 0;
/* First verify if format is ok */
if (!enc->codec_tag) {
return -1;
}
+ if (enc->codec_tag != MKTAG('N','O','N','E'))
+ aifc = 1;
+
/* FORM AIFF header */
put_tag(pb, "FORM");
aiff->form = url_ftell(pb);
put_be32(pb, 0); /* file length */
- put_tag(pb, "AIFC");
+ put_tag(pb, aifc ? "AIFC" : "AIFF");
+ if (aifc) {
/* Version chunk */
put_tag(pb, "FVER");
put_be32(pb, 4);
put_be32(pb, 0xA2805140);
+ }
/* Common chunk */
put_tag(pb, "COMM");
- put_be32(pb, 24); /* size */
+ put_be32(pb, aifc ? 24 : 18); /* size */
put_be16(pb, enc->channels); /* Number of channels */
aiff->frames = url_ftell(pb);
@@ -202,8 +208,10 @@
sample_rate = av_dbl2ext((double)enc->sample_rate);
put_buffer(pb, (uint8_t*)&sample_rate, sizeof(sample_rate));
+ if (aifc) {
put_le32(pb, enc->codec_tag);
put_be16(pb, 0);
+ }
/* Sound data chunk */
put_tag(pb, "SSND");
Modified: trunk/tests/libav.regression.ref
==============================================================================
--- trunk/tests/libav.regression.ref (original)
+++ trunk/tests/libav.regression.ref Wed Feb 14 12:01:05 2007
@@ -62,8 +62,8 @@
272b91d8fc31ed43b08246d182719751 *./data/b-libav.mmf
22609 ./data/b-libav.mmf
./data/b-libav.mmf CRC=0x03633476
-c8cf5bac13fb7862bcbce76977328f92 *./data/b-libav.aif
-89160 ./data/b-libav.aif
+ae3a23a7ea13c92a2909445ca8144dcd *./data/b-libav.aif
+89142 ./data/b-libav.aif
./data/b-libav.aif CRC=0x2a09519c
8d117c49d6b210abe783d1b0b897cec7 *./data/b-libav.voc
32768 ./data/b-libav.voc
More information about the ffmpeg-cvslog
mailing list