From 52fb9c27e801672992f1b5c3cc63516e2b39776d Mon Sep 17 00:00:00 2001 From: "dalecurtis@chromium.org" Date: Fri, 13 Dec 2013 22:24:21 +0000 Subject: Cleanup OPUS decoder. Remove extraneous transforms and copies. Various cleanups: - Fixes start trimming after seeks. - Patches FFmpegDemuxer to workaround FFmpeg pre-stripping codec delay. - Switches decoding to float on all platforms. - Decodes directly into the AudioBuffer instead of making a copy. - Switches various error logs to actually be DLOG(ERROR). - Various tiny code cleanups. - Rolls DEPS for a couple more OPUS FFmpeg fixes. BUG=104241, 166752, 168524, 315165, 328207 TEST=opus decoding still works. Review URL: https://codereview.chromium.org/100503006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240775 0039d316-1c4b-4281-b951-d872f2087c98 --- media/ffmpeg/ffmpeg_common.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'media/ffmpeg') diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc index 40696c6..6e7bd15 100644 --- a/media/ffmpeg/ffmpeg_common.cc +++ b/media/ffmpeg/ffmpeg_common.cc @@ -286,8 +286,9 @@ static void AVCodecContextToAudioDecoderConfig( if (codec == kCodecOpus) { // |codec_context->sample_fmt| is not set by FFmpeg because Opus decoding is - // not enabled in FFmpeg, so we need to manually set the sample format. - sample_format = kSampleFormatS16; + // 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; } base::TimeDelta seek_preroll; -- cgit v1.1