summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2006-10-11 10:09:45 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2006-10-11 10:09:45 +0000
commit8d41fe285bbf7385cde537e7c9a22109ab68204f (patch)
tree81fdf39934588cd8c353d632c0b8ec1cf6a8bb20
parent086b05cdad9fc229fee64cfcd0e7f8ff0a9fc478 (diff)
simplify by not writing unneeded codec name to fix segfault when stream copy
Originally committed as revision 6643 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/aiff.c17
-rw-r--r--tests/libav.regression.ref4
2 files changed, 4 insertions, 17 deletions
diff --git a/libavformat/aiff.c b/libavformat/aiff.c
index e258436bc1..efb4b28ee8 100644
--- a/libavformat/aiff.c
+++ b/libavformat/aiff.c
@@ -180,7 +180,6 @@ static int aiff_write_header(AVFormatContext *s)
ByteIOContext *pb = &s->pb;
AVCodecContext *enc = s->streams[0]->codec;
AVExtFloat sample_rate;
- int coder_len;
/* First verify if format is ok */
enc->codec_tag = codec_get_tag(codec_aiff_tags, enc->codec_id);
@@ -189,8 +188,6 @@ static int aiff_write_header(AVFormatContext *s)
return -1;
}
- coder_len = strlen(enc->codec->name);
-
/* FORM AIFF header */
put_tag(pb, "FORM");
aiff->form = url_ftell(pb);
@@ -204,10 +201,7 @@ static int aiff_write_header(AVFormatContext *s)
/* Common chunk */
put_tag(pb, "COMM");
- if (coder_len & 1) /* Common chunk is of var size */
- put_be32(pb, 23+coder_len);
- else
- put_be32(pb, 24+coder_len);
+ put_be32(pb, 24); /* size */
put_be16(pb, enc->channels); /* Number of channels */
aiff->frames = url_ftell(pb);
@@ -221,14 +215,7 @@ static int aiff_write_header(AVFormatContext *s)
put_buffer(pb, (uint8_t*)&sample_rate, sizeof(sample_rate));
put_le32(pb, enc->codec_tag);
- if (coder_len & 1) {
- put_byte(pb, coder_len);
- put_buffer(pb, (const uint8_t*)enc->codec->name, coder_len);
- } else {
- put_byte(pb, coder_len+1);
- put_buffer(pb, (const uint8_t*)enc->codec->name, coder_len);
- put_byte(pb, 0);
- }
+ put_be16(pb, 0);
/* Sound data chunk */
put_tag(pb, "SSND");
diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref
index 1fe10376de..7db066b59c 100644
--- a/tests/libav.regression.ref
+++ b/tests/libav.regression.ref
@@ -65,8 +65,8 @@ e2a6d6fae17394dfe87cb5bb8ae11837 *./data/b-libav.al
272b91d8fc31ed43b08246d182719751 *./data/b-libav.mmf
22609 ./data/b-libav.mmf
./data/b-libav.mmf CRC=0x03633476
-a324baee6d76c53ab7c74616cfc31616 *./data/b-libav.aif
- 89168 ./data/b-libav.aif
+c8cf5bac13fb7862bcbce76977328f92 *./data/b-libav.aif
+89160 ./data/b-libav.aif
./data/b-libav.aif CRC=0x2a09519c
8d117c49d6b210abe783d1b0b897cec7 *./data/b-libav.voc
32768 ./data/b-libav.voc