Mercurial > libavformat.hg
changeset 490:c0849ef998e7 libavformat
assert(0) -> retunrn -1
author | michael |
---|---|
date | Fri, 02 Jul 2004 19:26:51 +0000 |
parents | aeb69a5f3756 |
children | 4cf46e9a1bb8 |
files | flvenc.c |
diffstat | 1 files changed, 42 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/flvenc.c Wed Jun 30 19:24:43 2004 +0000 +++ b/flvenc.c Fri Jul 02 19:26:51 2004 +0000 @@ -34,6 +34,45 @@ put_byte(pb, (value>> 0) & 0xFF ); } +static int get_audio_flags(AVCodecContext *enc){ + int flags = 0x02; + + switch (enc->sample_rate) { + case 44100: + flags |= 0x0C; + break; + case 22050: + flags |= 0x08; + break; + case 11025: + flags |= 0x04; + break; + case 8000: //nellymoser only + case 5512: //not mp3 + flags |= 0x00; + break; + default: + return -1; + } + + if (enc->channels > 1) { + flags |= 0x01; + } + + switch(enc->codec_id){ + case CODEC_ID_MP3: + flags |= 0x20; + break; + case 0: + flags |= enc->codec_tag<<4; + break; + default: + return -1; + } + + return flags; +} + static int flv_write_header(AVFormatContext *s) { ByteIOContext *pb = &s->pb; @@ -60,6 +99,8 @@ put_be32(pb,11); // size flv->reserved=5; } + if(enc->codec_type == CODEC_TYPE_AUDIO && get_audio_flags(enc)<0) + return -1; } return 0; @@ -99,41 +140,8 @@ flv->hasVideo = 1; } else { assert(enc->codec_type == CODEC_TYPE_AUDIO); - flags = 0x02; - - switch (enc->sample_rate) { - case 44100: - flags |= 0x0C; - break; - case 22050: - flags |= 0x08; - break; - case 11025: - flags |= 0x04; - break; - case 8000: //nellymoser only - case 5512: //not mp3 - flags |= 0x00; - break; - default: - assert(0); - } - - if (enc->channels > 1) { - flags |= 0x01; - } + flags = get_audio_flags(enc); - switch(enc->codec_id){ - case CODEC_ID_MP3: - flags |= 0x20; - break; - case 0: - flags |= enc->codec_tag<<4; - break; - default: - assert(0); - } - assert(size); put_byte(pb, 8);