On 06/27/2012 01:07 PM, Martin Storsjö wrote:
> On Wed, 27 Jun 2012, Damien Fetis wrote:
>
>> ---
>> libavformat/flv.h | 2 ++
>> libavformat/flvdec.c | 8 ++++++++
>> libavformat/flvenc.c | 8 ++++++++
>> 3 files changed, 18 insertions(+), 0 deletions(-)
>>
>> diff --git a/libavformat/flv.h b/libavformat/flv.h
>> index 6418b27..fe0fc90 100644
>> --- a/libavformat/flv.h
>> +++ b/libavformat/flv.h
>> @@ -82,6 +82,8 @@ enum {
>> FLV_CODECID_NELLYMOSER_16KHZ_MONO = 4<< FLV_AUDIO_CODECID_OFFSET,
>> FLV_CODECID_NELLYMOSER_8KHZ_MONO = 5<< FLV_AUDIO_CODECID_OFFSET,
>> FLV_CODECID_NELLYMOSER = 6<< FLV_AUDIO_CODECID_OFFSET,
>> + FLV_CODECID_PCM_ALAW = 7<< FLV_AUDIO_CODECID_OFFSET,
>> + FLV_CODECID_PCM_MULAW = 8<< FLV_AUDIO_CODECID_OFFSET,
>> FLV_CODECID_AAC = 10<< FLV_AUDIO_CODECID_OFFSET,
>> FLV_CODECID_SPEEX = 11<< FLV_AUDIO_CODECID_OFFSET,
>> };
>> diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
>> index 8e9759b..078c2a2 100644
>> --- a/libavformat/flvdec.c
>> +++ b/libavformat/flvdec.c
>> @@ -108,6 +108,14 @@ static void flv_set_audio_codec(AVFormatContext
>> *s, AVStream *astream, AVCodecCo
>> case FLV_CODECID_NELLYMOSER:
>> acodec->codec_id = CODEC_ID_NELLYMOSER;
>> break;
>> + case FLV_CODECID_PCM_MULAW:
>> + acodec->sample_rate = 8000;
>> + acodec->codec_id = CODEC_ID_PCM_MULAW;
>> + break;
>> + case FLV_CODECID_PCM_ALAW:
>> + acodec->sample_rate = 8000;
>> + acodec->codec_id = CODEC_ID_PCM_ALAW;
>> + break;
>> default:
>> av_log(s, AV_LOG_INFO, "Unsupported audio codec (%x)\n",
>> flv_codecid>> FLV_AUDIO_CODECID_OFFSET);
>> acodec->codec_tag = flv_codecid>> FLV_AUDIO_CODECID_OFFSET;
>> diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
>> index 62756a1..acd6f27 100644
>> --- a/libavformat/flvenc.c
>> +++ b/libavformat/flvenc.c
>> @@ -48,6 +48,8 @@ static const AVCodecTag flv_audio_codec_ids[] = {
>> {CODEC_ID_ADPCM_SWF, FLV_CODECID_ADPCM>> FLV_AUDIO_CODECID_OFFSET},
>> {CODEC_ID_AAC, FLV_CODECID_AAC>> FLV_AUDIO_CODECID_OFFSET},
>> {CODEC_ID_NELLYMOSER, FLV_CODECID_NELLYMOSER>>
>> FLV_AUDIO_CODECID_OFFSET},
>> + {CODEC_ID_PCM_MULAW, FLV_CODECID_PCM_MULAW>>
>> FLV_AUDIO_CODECID_OFFSET},
>> + {CODEC_ID_PCM_ALAW, FLV_CODECID_PCM_ALAW>>
>> FLV_AUDIO_CODECID_OFFSET},
>> {CODEC_ID_SPEEX, FLV_CODECID_SPEEX>> FLV_AUDIO_CODECID_OFFSET},
>> {CODEC_ID_NONE, 0}
>> };
>> @@ -109,6 +111,12 @@ static int get_audio_flags(AVFormatContext *s,
>> AVCodecContext *enc)
>> }
>>
>> switch(enc->codec_id){
>> + case CODEC_ID_PCM_MULAW:
>> + flags = FLV_CODECID_PCM_MULAW | FLV_SAMPLERATE_SPECIAL |
>> FLV_SAMPLESSIZE_16BIT ;
>> + break;
>> + case CODEC_ID_PCM_ALAW:
>> + flags = FLV_CODECID_PCM_ALAW | FLV_SAMPLERATE_SPECIAL |
>> FLV_SAMPLESSIZE_16BIT;
>> + break;
>> case CODEC_ID_MP3:
>> flags |= FLV_CODECID_MP3 | FLV_SAMPLESSIZE_16BIT;
>> break;
>> -- 1.7.4.1
>
> Looks correct to me.
Agreed.
lu
--
Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel