Chromium Code Reviews| Index: chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc |
| diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc |
| index 62332edb9f611744f21eee147b19ee14738d29a1..c0e801d5243a3341ce911f6e58eba9fbbc7da834 100644 |
| --- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc |
| +++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.cc |
| @@ -83,6 +83,7 @@ StreamMixerAlsaInputImpl::StreamMixerAlsaInputImpl( |
| fade_frames_remaining_(0), |
| fade_out_frames_total_(0), |
| zeroed_frames_(0), |
| + being_skipped_(false), |
| weak_factory_(this) { |
| LOG(INFO) << "Create " << this; |
| DCHECK(delegate_); |
| @@ -237,6 +238,10 @@ void StreamMixerAlsaInputImpl::DidQueueData(bool end_of_stream) { |
| void StreamMixerAlsaInputImpl::OnSkipped() { |
| DCHECK(mixer_task_runner_->BelongsToCurrentThread()); |
| + if (!being_skipped_) { |
|
slan
2016/12/07 00:22:27
Suggestion: I think that an integer |consecutive_f
kmackay
2016/12/07 22:59:58
Changed name to is_underflowing_
|
| + LOG(WARNING) << "Underflow for " << this; |
| + being_skipped_ = true; |
| + } |
| if (state_ == kStateNormalPlayback) { |
| // Fade in once this input starts providing data again. |
| fade_frames_remaining_ = NormalFadeFrames(); |
| @@ -316,6 +321,7 @@ void StreamMixerAlsaInputImpl::GetResampledData(::media::AudioBus* dest, |
| DCHECK(dest); |
| DCHECK_EQ(kNumOutputChannels, dest->channels()); |
| DCHECK_GE(dest->frames(), frames); |
| + being_skipped_ = false; |
| if (state_ == kStatePaused || state_ == kStateDeleted) { |
| dest->ZeroFramesPartial(0, frames); |