diff options
Diffstat (limited to 'chromecast/media/cma/backend/audio_decoder_wrapper.cc')
-rw-r--r-- | chromecast/media/cma/backend/audio_decoder_wrapper.cc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/chromecast/media/cma/backend/audio_decoder_wrapper.cc b/chromecast/media/cma/backend/audio_decoder_wrapper.cc new file mode 100644 index 0000000..eff40d3 --- /dev/null +++ b/chromecast/media/cma/backend/audio_decoder_wrapper.cc @@ -0,0 +1,55 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chromecast/media/cma/backend/audio_decoder_wrapper.h" + +#include "base/logging.h" + +namespace chromecast { +namespace media { + +AudioDecoderWrapper::AudioDecoderWrapper( + MediaPipelineBackend::AudioDecoder* audio_decoder) + : audio_decoder_(audio_decoder), + stream_type_volume_(1.0), + stream_volume_(1.0) { + DCHECK(audio_decoder_); +} + +AudioDecoderWrapper::~AudioDecoderWrapper() { +} + +void AudioDecoderWrapper::SetDelegate(Delegate* delegate) { + audio_decoder_->SetDelegate(delegate); +} + +MediaPipelineBackend::BufferStatus AudioDecoderWrapper::PushBuffer( + CastDecoderBuffer* buffer) { + return audio_decoder_->PushBuffer(buffer); +} + +void AudioDecoderWrapper::GetStatistics(Statistics* statistics) { + audio_decoder_->GetStatistics(statistics); +} + +bool AudioDecoderWrapper::SetConfig(const AudioConfig& config) { + return audio_decoder_->SetConfig(config); +} + +bool AudioDecoderWrapper::SetVolume(float multiplier) { + stream_volume_ = multiplier; + return audio_decoder_->SetVolume(stream_volume_ * stream_type_volume_); +} + +AudioDecoderWrapper::RenderingDelay AudioDecoderWrapper::GetRenderingDelay() { + return audio_decoder_->GetRenderingDelay(); +} + +bool AudioDecoderWrapper::SetStreamTypeVolume(float stream_type_volume) { + stream_type_volume_ = stream_type_volume; + return audio_decoder_->SetVolume(stream_volume_ * stream_type_volume_); +} + +} // namespace media +} // namespace chromecast |