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

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

Issue 2738873002: [Chromecast] Implement new volume control API (Closed)
Patch Set: no need for ALSA volume control Created 3 years, 9 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 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_ 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_
6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_ 6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/threading/thread_checker.h" 12 #include "base/threading/thread_checker.h"
13 #include "chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h" 13 #include "chromecast/media/cma/backend/alsa/media_pipeline_backend_alsa.h"
14 #include "chromecast/public/media/media_pipeline_device_params.h" 14 #include "chromecast/public/media/media_pipeline_device_params.h"
15 #include "chromecast/public/volume_control.h"
15 16
16 namespace chromecast { 17 namespace chromecast {
17 namespace media { 18 namespace media {
18 19
19 class DecoderBufferBase; 20 class DecoderBufferBase;
20 class StreamMixerAlsaInputImpl; 21 class StreamMixerAlsaInputImpl;
21 22
22 // Input handle to the mixer. All methods (including constructor and destructor) 23 // Input handle to the mixer. All methods (including constructor and destructor)
23 // must be called on the same thread. 24 // must be called on the same thread.
24 class StreamMixerAlsaInput { 25 class StreamMixerAlsaInput {
(...skipping 20 matching lines...) Expand all
45 46
46 protected: 47 protected:
47 virtual ~Delegate() {} 48 virtual ~Delegate() {}
48 }; 49 };
49 50
50 // Adds a new input to the mixer, creating the mixer if it does not already 51 // Adds a new input to the mixer, creating the mixer if it does not already
51 // exist. 52 // exist.
52 StreamMixerAlsaInput(Delegate* delegate, 53 StreamMixerAlsaInput(Delegate* delegate,
53 int samples_per_second, 54 int samples_per_second,
54 bool primary, 55 bool primary,
55 const std::string& device_id); 56 const std::string& device_id,
57 AudioContentType content_type);
56 // Removes this input from the mixer, destroying the mixer if there are no 58 // Removes this input from the mixer, destroying the mixer if there are no
57 // remaining inputs. 59 // remaining inputs.
58 ~StreamMixerAlsaInput(); 60 ~StreamMixerAlsaInput();
59 61
60 // Writes some PCM data to be mixed. |data| must be in planar float format. 62 // Writes some PCM data to be mixed. |data| must be in planar float format.
61 // Once the data has been written, the delegate's OnWritePcmCompletion() 63 // Once the data has been written, the delegate's OnWritePcmCompletion()
62 // method will be called on the same thread that the StreamMixerAlsaInput was 64 // method will be called on the same thread that the StreamMixerAlsaInput was
63 // created on. Note that no further calls to WritePcm() should be made until 65 // created on. Note that no further calls to WritePcm() should be made until
64 // OnWritePcmCompletion() has been called. 66 // OnWritePcmCompletion() has been called.
65 void WritePcm(const scoped_refptr<DecoderBufferBase>& data); 67 void WritePcm(const scoped_refptr<DecoderBufferBase>& data);
(...skipping 10 matching lines...) Expand all
76 StreamMixerAlsaInputImpl* impl_; 78 StreamMixerAlsaInputImpl* impl_;
77 base::ThreadChecker thread_checker_; 79 base::ThreadChecker thread_checker_;
78 80
79 DISALLOW_COPY_AND_ASSIGN(StreamMixerAlsaInput); 81 DISALLOW_COPY_AND_ASSIGN(StreamMixerAlsaInput);
80 }; 82 };
81 83
82 } // namespace media 84 } // namespace media
83 } // namespace chromecast 85 } // namespace chromecast
84 86
85 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_ 87 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_INPUT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698