summaryrefslogtreecommitdiffstats
path: root/media/ffmpeg
diff options
context:
space:
mode:
authordalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-13 22:24:21 +0000
committerdalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-13 22:24:21 +0000
commit52fb9c27e801672992f1b5c3cc63516e2b39776d (patch)
tree296b3664f9b2ea306500cc4d3eedb88dbd917256 /media/ffmpeg
parent82d1954da4ed99c892c137736820ed1e19ad9e35 (diff)
downloadchromium_src-52fb9c27e801672992f1b5c3cc63516e2b39776d.zip
chromium_src-52fb9c27e801672992f1b5c3cc63516e2b39776d.tar.gz
chromium_src-52fb9c27e801672992f1b5c3cc63516e2b39776d.tar.bz2
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
Diffstat (limited to 'media/ffmpeg')
-rw-r--r--media/ffmpeg/ffmpeg_common.cc5
1 files changed, 3 insertions, 2 deletions
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;