summaryrefslogtreecommitdiffstats
path: root/media/audio/mac
diff options
context:
space:
mode:
authorcrogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-06 21:12:34 +0000
committercrogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-06 21:12:34 +0000
commitee1880f71b503740bad3644819fa88c63d2c3105 (patch)
tree26e3c33148f14bb8adaf8e76239fd00201e96f02 /media/audio/mac
parent5ece194449a237024c0b0893830f786052ef034f (diff)
downloadchromium_src-ee1880f71b503740bad3644819fa88c63d2c3105.zip
chromium_src-ee1880f71b503740bad3644819fa88c63d2c3105.tar.gz
chromium_src-ee1880f71b503740bad3644819fa88c63d2c3105.tar.bz2
Avoid crash when changing sample-rates using live audio input
BUG=155940 R=dalecurtis@chromium.org Review URL: https://codereview.chromium.org/14682018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198535 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio/mac')
-rw-r--r--media/audio/mac/audio_synchronized_mac.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/audio/mac/audio_synchronized_mac.cc b/media/audio/mac/audio_synchronized_mac.cc
index 0534862..e9798e8 100644
--- a/media/audio/mac/audio_synchronized_mac.cc
+++ b/media/audio/mac/audio_synchronized_mac.cc
@@ -795,8 +795,10 @@ OSStatus AudioSynchronizedStream::HandleOutputCallback(
UInt32 bus_number,
UInt32 number_of_frames,
AudioBufferList* io_data) {
- if (first_input_time_ < 0.0) {
- // Input callback hasn't run yet -> silence.
+ // Input callback hasn't run yet or we've suddenly changed sample-rates
+ // -> silence.
+ if (first_input_time_ < 0.0 ||
+ static_cast<int>(number_of_frames) != params_.frames_per_buffer()) {
ZeroBufferList(io_data);
return noErr;
}