# HG changeset patch # User bcoudurier # Date 1160561385 0 # Node ID 75e006876c5516c60d3891ac181f82be5627577f # Parent 586f4d032b3cb29f9ad266e041f8477e62f016cc simplify by not writing unneeded codec name to fix segfault when stream copy diff -r 586f4d032b3c -r 75e006876c55 aiff.c --- 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");