Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.cc

Issue 2701613006: [Chromecast] Process streams with different post-processing. (Closed)
Patch Set: constexpr Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h" 5 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa.h" 9 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa.h"
10 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h" 10 #include "chromecast/media/cma/backend/alsa/stream_mixer_alsa_input_impl.h"
11 11
12 namespace chromecast { 12 namespace chromecast {
13 namespace media { 13 namespace media {
14 14
15 StreamMixerAlsaInput::StreamMixerAlsaInput(Delegate* delegate, 15 StreamMixerAlsaInput::StreamMixerAlsaInput(Delegate* delegate,
16 int samples_per_second, 16 int samples_per_second,
17 bool primary) { 17 bool primary,
18 std::unique_ptr<StreamMixerAlsaInputImpl> impl(new StreamMixerAlsaInputImpl( 18 const std::string& device_id) {
19 delegate, samples_per_second, primary, StreamMixerAlsa::Get())); 19 std::unique_ptr<StreamMixerAlsaInputImpl> impl(
20 new StreamMixerAlsaInputImpl(delegate, samples_per_second, primary,
21 device_id, StreamMixerAlsa::Get()));
20 impl_ = impl.get(); // Store a pointer to the impl, but the mixer owns it. 22 impl_ = impl.get(); // Store a pointer to the impl, but the mixer owns it.
21 StreamMixerAlsa::Get()->AddInput(std::move(impl)); 23 StreamMixerAlsa::Get()->AddInput(std::move(impl));
22 } 24 }
23 25
24 StreamMixerAlsaInput::~StreamMixerAlsaInput() { 26 StreamMixerAlsaInput::~StreamMixerAlsaInput() {
25 DCHECK(thread_checker_.CalledOnValidThread()); 27 DCHECK(thread_checker_.CalledOnValidThread());
26 impl_->PreventDelegateCalls(); 28 impl_->PreventDelegateCalls();
27 StreamMixerAlsa::Get()->RemoveInput(impl_); 29 StreamMixerAlsa::Get()->RemoveInput(impl_);
28 } 30 }
29 31
30 void StreamMixerAlsaInput::WritePcm( 32 void StreamMixerAlsaInput::WritePcm(
31 const scoped_refptr<DecoderBufferBase>& data) { 33 const scoped_refptr<DecoderBufferBase>& data) {
32 DCHECK(thread_checker_.CalledOnValidThread()); 34 DCHECK(thread_checker_.CalledOnValidThread());
33 impl_->WritePcm(data); 35 impl_->WritePcm(data);
34 } 36 }
35 37
36 void StreamMixerAlsaInput::SetPaused(bool paused) { 38 void StreamMixerAlsaInput::SetPaused(bool paused) {
37 DCHECK(thread_checker_.CalledOnValidThread()); 39 DCHECK(thread_checker_.CalledOnValidThread());
38 impl_->SetPaused(paused); 40 impl_->SetPaused(paused);
39 } 41 }
40 42
41 void StreamMixerAlsaInput::SetVolumeMultiplier(float multiplier) { 43 void StreamMixerAlsaInput::SetVolumeMultiplier(float multiplier) {
42 DCHECK(thread_checker_.CalledOnValidThread()); 44 DCHECK(thread_checker_.CalledOnValidThread());
43 impl_->SetVolumeMultiplier(multiplier); 45 impl_->SetVolumeMultiplier(multiplier);
44 } 46 }
45 47
46 } // namespace media 48 } // namespace media
47 } // namespace chromecast 49 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698