diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc b/chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc index 7b7fba6f9f1..a317b839799 100644 --- a/chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc +++ b/chromium/third_party/blink/renderer/modules/webaudio/media_element_audio_source_node.cc @@ -106,6 +106,13 @@ void MediaElementAudioSourceHandler::SetFormat(uint32_t number_of_channels, PrintCorsMessage(MediaElement()->currentSrc().GetString()); } + { + // Make sure |is_origin_tainted_| matches |is_tainted|. But need to + // synchronize with process() to set this. + MediaElementAudioSourceHandlerLocker locker(*this); + is_origin_tainted_ = is_tainted; + } + if (number_of_channels != source_number_of_channels_ || source_sample_rate != source_sample_rate_) { if (!number_of_channels || @@ -118,16 +125,13 @@ void MediaElementAudioSourceHandler::SetFormat(uint32_t number_of_channels, MediaElementAudioSourceHandlerLocker locker(*this); source_number_of_channels_ = 0; source_sample_rate_ = 0; - is_origin_tainted_ = is_tainted; return; } // Synchronize with process() to protect |source_number_of_channels_|, - // |source_sample_rate_|, |multi_channel_resampler_|. and - // |is_origin_tainted_|. + // |source_sample_rate_|, |multi_channel_resampler_|. MediaElementAudioSourceHandlerLocker locker(*this); - is_origin_tainted_ = is_tainted; source_number_of_channels_ = number_of_channels; source_sample_rate_ = source_sample_rate; |