summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-16 15:28:57 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-16 14:48:04 +0000
commit929be7c02f99726d2c887d291ad914a91e005402 (patch)
treea1e56d59d444548322406b6eb8c66778ab8bd9a0
parent83cd7dc2c3ec4af44564c2c9860f8b3122d7ec74 (diff)
[Backport] [M55] Use FFmpeg default padding when allocating audio buffers.
Previously, we would pad to the alignment size when allocating an audio buffer. However, this did not always provide enough padding to avoid overruns. Instead, we now let FFmpeg determine the correct padding for us. BUG=658440 Review-Url: https://codereview.chromium.org/2464963003 Cr-Commit-Position: refs/heads/master@{#429014} (cherry picked from commit b8733772baf52a693ab6a887373feaa6b91c7cdd) Review URL: https://codereview.chromium.org/2481913002 . Cr-Commit-Position: refs/branch-heads/2883@{#480} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} (CVE-2016-669928) Change-Id: I1bf5bedcbf3a4a71e04343d4cd624a39c69230be Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--chromium/media/filters/ffmpeg_audio_decoder.cc9
1 files changed, 3 insertions, 6 deletions
diff --git a/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc
index 61f63d1ad57..dec26cbd9f1 100644
--- a/chromium/media/filters/ffmpeg_audio_decoder.cc
+++ b/chromium/media/filters/ffmpeg_audio_decoder.cc
@@ -81,12 +81,9 @@ static int GetAudioBuffer(struct AVCodecContext* s, AVFrame* frame, int flags) {
// Determine how big the buffer should be and allocate it. FFmpeg may adjust
// how big each channel data is in order to meet the alignment policy, so
// we need to take this into consideration.
- int buffer_size_in_bytes =
- av_samples_get_buffer_size(&frame->linesize[0],
- channels,
- frame->nb_samples,
- format,
- AudioBuffer::kChannelAlignment);
+ int buffer_size_in_bytes = av_samples_get_buffer_size(
+ &frame->linesize[0], channels, frame->nb_samples, format,
+ 0 /* align, use ffmpeg default */);
// Check for errors from av_samples_get_buffer_size().
if (buffer_size_in_bytes < 0)
return buffer_size_in_bytes;