diff options
author | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 22:24:21 +0000 |
---|---|---|
committer | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 22:24:21 +0000 |
commit | 52fb9c27e801672992f1b5c3cc63516e2b39776d (patch) | |
tree | 296b3664f9b2ea306500cc4d3eedb88dbd917256 /media/ffmpeg | |
parent | 82d1954da4ed99c892c137736820ed1e19ad9e35 (diff) | |
download | chromium_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.cc | 5 |
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; |