Index: media/ffmpeg/ffmpeg_common.cc |
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc |
index 2e0ca65d401895e47fb19a1e94905f49e86d0af1..ce36e2f20f32200744113a9741670c501c4bb3bc 100644 |
--- a/media/ffmpeg/ffmpeg_common.cc |
+++ b/media/ffmpeg/ffmpeg_common.cc |
@@ -329,21 +329,6 @@ bool AVCodecContextToAudioDecoderConfig( |
int sample_rate = codec_context->sample_rate; |
switch (codec) { |
- case kCodecOpus: |
- // |codec_context->sample_fmt| is not set by FFmpeg because Opus decoding |
- // is not enabled in FFmpeg. It doesn't matter what value is set here, so |
- // long as it's valid, the true sample format is selected inside the |
- // decoder. |
- sample_format = kSampleFormatF32; |
- |
- // Always use 48kHz for OPUS. Technically we should match to the highest |
- // supported hardware sample rate among [8, 12, 16, 24, 48] kHz, but we |
- // don't know the hardware sample rate at this point and those rates are |
- // rarely used for output. See the "Input Sample Rate" section of the |
- // spec: http://tools.ietf.org/html/draft-terriberry-oggopus-01#page-11 |
- sample_rate = 48000; |
- break; |
- |
// For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does |
// not fill |sample_fmt|. |
case kCodecAC3: |
@@ -387,21 +372,17 @@ bool AVCodecContextToAudioDecoderConfig( |
extra_data, encryption_scheme, seek_preroll, |
codec_context->delay); |
- // Verify that AudioConfig.bits_per_channel was calculated correctly for |
- // codecs that have |sample_fmt| set by FFmpeg. |
- switch (codec) { |
- case kCodecOpus: |
#if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) |
- case kCodecAC3: |
- case kCodecEAC3: |
+ // These are bitstream formats unknown to ffmpeg, so they don't have |
+ // a known sample format size. |
+ if (codec == kCodecAC3 || codec == kCodecEAC3) |
+ return true; |
#endif |
- break; |
- default: |
- DCHECK_EQ(av_get_bytes_per_sample(codec_context->sample_fmt) * 8, |
- config->bits_per_channel()); |
- break; |
- } |
+ // Verify that AudioConfig.bits_per_channel was calculated correctly for |
+ // codecs that have |sample_fmt| set by FFmpeg. |
+ DCHECK_EQ(av_get_bytes_per_sample(codec_context->sample_fmt) * 8, |
+ config->bits_per_channel()); |
return true; |
} |