changeset 1374:75e006876c55 libavformat

simplify by not writing unneeded codec name to fix segfault when stream copy
author bcoudurier
date Wed, 11 Oct 2006 10:09:45 +0000
parents 586f4d032b3c
children c42cb95fa0d4
files aiff.c
diffstat 1 files changed, 2 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/aiff.c	Wed Oct 11 08:30:13 2006 +0000
+++ b/aiff.c	Wed Oct 11 10:09:45 2006 +0000
@@ -180,7 +180,6 @@
     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 @@
         return -1;
     }
 
-    coder_len = strlen(enc->codec->name);
-
     /* FORM AIFF header */
     put_tag(pb, "FORM");
     aiff->form = url_ftell(pb);
@@ -204,10 +201,7 @@
 
     /* 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 @@
     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");