Mercurial > libavformat.hg
diff flvenc.c @ 679:54d87ed9b3e4 libavformat
correct pcm in flv handling
author | alex |
---|---|
date | Mon, 21 Feb 2005 18:05:21 +0000 |
parents | c0849ef998e7 |
children | d7c7f7bbdf55 |
line wrap: on
line diff
--- a/flvenc.c Mon Feb 21 17:50:48 2005 +0000 +++ b/flvenc.c Mon Feb 21 18:05:21 2005 +0000 @@ -35,7 +35,7 @@ } static int get_audio_flags(AVCodecContext *enc){ - int flags = 0x02; + int flags = 0; switch (enc->sample_rate) { case 44100: @@ -61,8 +61,16 @@ switch(enc->codec_id){ case CODEC_ID_MP3: - flags |= 0x20; + flags |= 0x20 | 0x2; break; + case CODEC_ID_PCM_S8: + break; + case CODEC_ID_PCM_S16BE: + flags |= 0x60 | 0x2; + break; + case CODEC_ID_PCM_S16LE: + flags |= 0x2; + break; case 0: flags |= enc->codec_tag<<4; break; @@ -155,8 +163,8 @@ put_be32(pb,flv->reserved); put_byte(pb,flags); put_buffer(pb, pkt->data, size); - put_be32(pb,size+1+11); // reserved - + put_be32(pb,size+1+11); // previous tag size + put_flush_packet(pb); return 0; }