Commit b6146b46 authored by Nathaniel Steinbock's avatar Nathaniel Steinbock Committed by Commit Bot

Prevent improper call of FeedDataContinue in AudioSinkAndroidAudioTrackImpl.

AudioSinkAndroidAudioTrackImpl::SetPaused() only checked
pending_data_bytes_already_fed_, whereas FeedDataContinue() requires
both this and that pending_data_ exists. Hence we protect this call with
an additional check on pending_data_.

AudioVideoPipelineDeviceTest.Mp4Playback and
AudioVideoPipelineDeviceTest.PcmPlayback both pass reliably on android.

Bug: internal/123356146
Change-Id: Ibb562ab04c9dca1fdaca5b4df743b4a59ec49cbb
Reviewed-on: https://chromium-review.googlesource.com/c/1437192
Auto-Submit: Nate Steinbock <steinbock@google.com>
Commit-Queue: Simeon Anfinrud <sanfin@chromium.org>
Reviewed-by: default avatarSimeon Anfinrud <sanfin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626228}
parent 518a02cf
......@@ -360,7 +360,7 @@ void AudioSinkAndroidAudioTrackImpl::SetPaused(bool paused) {
state_ = kStateNormalPlayback;
Java_AudioSinkAudioTrackImpl_play(base::android::AttachCurrentThread(),
j_audio_sink_audiotrack_impl_);
if (pending_data_bytes_already_fed_) {
if (pending_data_ && pending_data_bytes_already_fed_) {
// The last data buffer was partially fed, complete it now.
FeedDataContinue();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment