From 6f78ba8b0b40ce0f4daea4fa6659cdc52bbce400 Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Sat, 10 Nov 2012 10:27:36 +1100 Subject: electronic arts: support rare samples containing adpcm_ea_r1 audio Fixes ticket #1549. Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer --- libavformat/electronicarts.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libavformat') diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c index 0847a3accb..82bc0e246d 100644 --- a/libavformat/electronicarts.c +++ b/libavformat/electronicarts.c @@ -189,7 +189,16 @@ static int process_audio_header_elements(AVFormatContext *s) } switch (revision2) { case 8: ea->audio_codec = AV_CODEC_ID_PCM_S16LE_PLANAR; break; - case 10: ea->audio_codec = AV_CODEC_ID_ADPCM_EA_R2; break; + case 10: + switch (revision) { + case -1: + case 2: ea->audio_codec = AV_CODEC_ID_ADPCM_EA_R1; break; + case 3: ea->audio_codec = AV_CODEC_ID_ADPCM_EA_R2; break; + default: + av_log_ask_for_sample(s, "unsupported stream type; revision=%i, revision2=%i\n", revision, revision2); + return 0; + } + break; case 16: ea->audio_codec = AV_CODEC_ID_MP3; break; case -1: break; default: -- cgit v1.2.3