diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 00:22:33 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 00:22:33 +0000 |
commit | b67954bed772b0d67ddcf2424ac5d47f43cbf3f8 (patch) | |
tree | 96aaed54a3eb06c256f3566d782e2bcc8b7e1064 /media/media.gyp | |
parent | 2976fe30ed9e0454b0995456e64a5ef7ae216df8 (diff) | |
download | chromium_src-b67954bed772b0d67ddcf2424ac5d47f43cbf3f8.zip chromium_src-b67954bed772b0d67ddcf2424ac5d47f43cbf3f8.tar.gz chromium_src-b67954bed772b0d67ddcf2424ac5d47f43cbf3f8.tar.bz2 |
Clean up AudioRendererAlgorithmOLA when dealing with very little remaining data.
Since the main OLA loop refuses to process data when there isn't enough to process, it was possible in some situations for OLA to hold on to a few remaining bytes and never be completely "finished". This resulted in the ended event not firing, which leads to looping not working.
The solution was to simply consume all remaining data and replace it with muted audio in the destination buffer. Not the best solution (we end up losing <8ms of audio at the end), but it works and is a safe fix.
I also lowered the OLA threshold to 0.5x since we sound the same as other implementations so why not :P
TEST=media_unittests, ended+looping when rate != 1.0f
BUG=19105,19856
Review URL: http://codereview.chromium.org/174270
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24189 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/media.gyp')
-rw-r--r-- | media/media.gyp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/media/media.gyp b/media/media.gyp index ece65c7..23140b0 100644 --- a/media/media.gyp +++ b/media/media.gyp @@ -174,6 +174,7 @@ 'base/seekable_buffer_unittest.cc', 'base/video_frame_impl_unittest.cc', 'base/yuv_convert_unittest.cc', + 'filters/audio_renderer_algorithm_ola_unittest.cc', 'filters/audio_renderer_base_unittest.cc', 'filters/ffmpeg_demuxer_unittest.cc', 'filters/ffmpeg_glue_unittest.cc', |