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 2fa15a1005b8c5a581d0c804de76a58ff97a5472..9537a0746137c6cbd286d704aa8cc4caa3d9c797 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 |
@@ -45,6 +45,7 @@ namespace media { |
namespace { |
+const int kNumOutputChannels = 2; |
const int64_t kMaxInputQueueUs = 90000; |
const int64_t kFadeMs = 15; |
// Number of samples to report as readable when paused. When paused, the mixer |
@@ -111,7 +112,7 @@ void StreamMixerAlsaInputImpl::Initialize( |
double resample_ratio = static_cast<double>(input_samples_per_second_) / |
mixer_->output_samples_per_second(); |
resampler_.reset(new ::media::MultiChannelResampler( |
- mixer_->num_output_channels(), resample_ratio, kDefaultReadSize, |
+ kNumOutputChannels, resample_ratio, kDefaultReadSize, |
base::Bind(&StreamMixerAlsaInputImpl::ReadCB, base::Unretained(this)))); |
resampler_->PrimeWithSilence(); |
} |
@@ -192,8 +193,7 @@ MediaPipelineBackendAlsa::RenderingDelay StreamMixerAlsaInputImpl::QueueData( |
const scoped_refptr<DecoderBufferBase>& data) { |
queue_lock_.AssertAcquired(); |
if (!data->end_of_stream()) { |
- int frames = |
- data->data_size() / (mixer_->num_output_channels() * sizeof(float)); |
+ int frames = data->data_size() / (kNumOutputChannels * sizeof(float)); |
queue_.push_back(data); |
queued_frames_ += frames; |
queued_frames_including_resampler_ += frames; |
@@ -238,7 +238,7 @@ void StreamMixerAlsaInputImpl::AfterWriteFrames( |
queued_frames_ = 0; |
for (const auto& data : queue_) |
queued_frames_ += |
- data->data_size() / (mixer_->num_output_channels() * sizeof(float)); |
+ data->data_size() / (kNumOutputChannels * sizeof(float)); |
queued_frames_ -= current_buffer_offset_; |
DCHECK_GE(queued_frames_, 0); |
queued_frames_including_resampler_ = |
@@ -291,7 +291,7 @@ void StreamMixerAlsaInputImpl::GetResampledData(::media::AudioBus* dest, |
int frames) { |
DCHECK(mixer_task_runner_->BelongsToCurrentThread()); |
DCHECK(dest); |
- DCHECK_EQ(mixer_->num_output_channels(), dest->channels()); |
+ DCHECK_EQ(kNumOutputChannels, dest->channels()); |
DCHECK_GE(dest->frames(), frames); |
if (state_ == kStatePaused || state_ == kStateDeleted) { |
@@ -339,8 +339,8 @@ void StreamMixerAlsaInputImpl::FillFrames(int frame_delay, |
base::AutoLock lock(queue_lock_); |
if (!queue_.empty()) { |
buffer = queue_.front(); |
- buffer_frames = buffer->data_size() / |
- (mixer_->num_output_channels() * sizeof(float)); |
+ buffer_frames = |
+ buffer->data_size() / (kNumOutputChannels * sizeof(float)); |
frames_to_copy = |
std::min(frames_left, buffer_frames - current_buffer_offset_); |
// Note that queued_frames_ is not updated until AfterWriteFrames(). |
@@ -357,7 +357,7 @@ void StreamMixerAlsaInputImpl::FillFrames(int frame_delay, |
if (buffer) { |
const float* buffer_samples = |
reinterpret_cast<const float*>(buffer->data()); |
- for (int i = 0; i < mixer_->num_output_channels(); ++i) { |
+ for (int i = 0; i < kNumOutputChannels; ++i) { |
const float* buffer_channel = buffer_samples + (buffer_frames * i); |
memcpy(output->channel(i) + frames_filled, |
buffer_channel + buffer_offset, frames_to_copy * sizeof(float)); |
@@ -397,7 +397,7 @@ void StreamMixerAlsaInputImpl::FadeIn(::media::AudioBus* dest, int frames) { |
base::Time::kMillisecondsPerSecond; |
for (int f = 0; f < frames && fade_frames_remaining_; ++f) { |
float fade_multiplier = 1.0 - fade_frames_remaining_ / fade_in_frames; |
- for (int c = 0; c < mixer_->num_output_channels(); ++c) |
+ for (int c = 0; c < kNumOutputChannels; ++c) |
dest->channel(c)[f] *= fade_multiplier; |
--fade_frames_remaining_; |
} |
@@ -410,13 +410,13 @@ void StreamMixerAlsaInputImpl::FadeOut(::media::AudioBus* dest, int frames) { |
for (; f < frames && fade_frames_remaining_; ++f) { |
float fade_multiplier = |
fade_frames_remaining_ / static_cast<float>(fade_out_frames_total_); |
- for (int c = 0; c < mixer_->num_output_channels(); ++c) |
+ for (int c = 0; c < kNumOutputChannels; ++c) |
dest->channel(c)[f] *= fade_multiplier; |
--fade_frames_remaining_; |
} |
// Zero remaining frames |
for (; f < frames; ++f) { |
- for (int c = 0; c < mixer_->num_output_channels(); ++c) |
+ for (int c = 0; c < kNumOutputChannels; ++c) |
dest->channel(c)[f] = 0.0f; |
} |