| 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 b85d1962f2ad52e662ec82025fd9347c4a6220e6..0a8f0a462da7a4550cd0060682e3d5ac05139214 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
|
| @@ -5,6 +5,7 @@
|
| #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h"
|
|
|
| #include <algorithm>
|
| +#include <limits>
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| @@ -53,6 +54,7 @@ const int64_t kFadeMs = 15;
|
| // fill the frames with silence.
|
| const int kPausedReadSamples = 512;
|
| const int kDefaultReadSize = ::media::SincResampler::kDefaultRequestSize;
|
| +const int64_t kNoTimestamp = std::numeric_limits<int64_t>::min();
|
|
|
| } // namespace
|
|
|
| @@ -200,9 +202,11 @@ MediaPipelineBackendAlsa::RenderingDelay StreamMixerAlsaInputImpl::QueueData(
|
| }
|
|
|
| MediaPipelineBackendAlsa::RenderingDelay delay = mixer_rendering_delay_;
|
| - delay.delay_microseconds += static_cast<int64_t>(
|
| - queued_frames_including_resampler_ * base::Time::kMicrosecondsPerSecond /
|
| - input_samples_per_second_);
|
| + if (delay.timestamp_microseconds != kNoTimestamp) {
|
| + delay.delay_microseconds += static_cast<int64_t>(
|
| + queued_frames_including_resampler_ *
|
| + base::Time::kMicrosecondsPerSecond / input_samples_per_second_);
|
| + }
|
| return delay;
|
| }
|
|
|
|
|