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

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

Issue 1900233006: [Chromecast] Remove command-line switch to change the number of mixer output channels (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 4 years, 8 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_H_ 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_H_
6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_H_ 6 #define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_H_
7 7
8 #include <alsa/asoundlib.h> 8 #include <alsa/asoundlib.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 kStateNormalPlayback, 113 kStateNormalPlayback,
114 kStateError, 114 kStateError,
115 }; 115 };
116 116
117 static StreamMixerAlsa* Get(); 117 static StreamMixerAlsa* Get();
118 static void MakeSingleThreadedForTest(); 118 static void MakeSingleThreadedForTest();
119 119
120 int output_samples_per_second() const { return output_samples_per_second_; } 120 int output_samples_per_second() const { return output_samples_per_second_; }
121 bool empty() const { return inputs_.empty(); } 121 bool empty() const { return inputs_.empty(); }
122 State state() const { return state_; } 122 State state() const { return state_; }
123 int num_output_channels() const { return num_output_channels_; }
124 123
125 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner() const { 124 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner() const {
126 return mixer_task_runner_; 125 return mixer_task_runner_;
127 } 126 }
128 127
129 // Adds an input to the mixer. The input will live at least until 128 // Adds an input to the mixer. The input will live at least until
130 // RemoveInput(input) is called. Can be called on any thread. 129 // RemoveInput(input) is called. Can be called on any thread.
131 void AddInput(std::unique_ptr<InputQueue> input); 130 void AddInput(std::unique_ptr<InputQueue> input);
132 // Instructs the mixer to remove an input. The input should not be referenced 131 // Instructs the mixer to remove an input. The input should not be referenced
133 // after this is called. Can be called on any thread. 132 // after this is called. Can be called on any thread.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 int requested_output_samples_per_second_; 198 int requested_output_samples_per_second_;
200 int output_samples_per_second_; 199 int output_samples_per_second_;
201 snd_pcm_t* pcm_; 200 snd_pcm_t* pcm_;
202 snd_pcm_hw_params_t* pcm_hw_params_; 201 snd_pcm_hw_params_t* pcm_hw_params_;
203 snd_pcm_status_t* pcm_status_; 202 snd_pcm_status_t* pcm_status_;
204 snd_pcm_format_t pcm_format_; 203 snd_pcm_format_t pcm_format_;
205 204
206 // User-configurable ALSA parameters. This caches the results, so the code 205 // User-configurable ALSA parameters. This caches the results, so the code
207 // only has to interact with the command line parameters once. 206 // only has to interact with the command line parameters once.
208 std::string alsa_device_name_; 207 std::string alsa_device_name_;
209 int num_output_channels_;
210 snd_pcm_uframes_t alsa_buffer_size_; 208 snd_pcm_uframes_t alsa_buffer_size_;
211 bool alsa_period_explicitly_set; 209 bool alsa_period_explicitly_set;
212 snd_pcm_uframes_t alsa_period_size_; 210 snd_pcm_uframes_t alsa_period_size_;
213 snd_pcm_uframes_t alsa_start_threshold_; 211 snd_pcm_uframes_t alsa_start_threshold_;
214 snd_pcm_uframes_t alsa_avail_min_; 212 snd_pcm_uframes_t alsa_avail_min_;
215 213
216 State state_; 214 State state_;
217 215
218 std::vector<std::unique_ptr<InputQueue>> inputs_; 216 std::vector<std::unique_ptr<InputQueue>> inputs_;
219 std::vector<std::unique_ptr<InputQueue>> ignored_inputs_; 217 std::vector<std::unique_ptr<InputQueue>> ignored_inputs_;
(...skipping 14 matching lines...) Expand all
234 232
235 std::vector<CastMediaShlib::LoopbackAudioObserver*> loopback_observers_; 233 std::vector<CastMediaShlib::LoopbackAudioObserver*> loopback_observers_;
236 234
237 DISALLOW_COPY_AND_ASSIGN(StreamMixerAlsa); 235 DISALLOW_COPY_AND_ASSIGN(StreamMixerAlsa);
238 }; 236 };
239 237
240 } // namespace media 238 } // namespace media
241 } // namespace chromecast 239 } // namespace chromecast
242 240
243 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_H_ 241 #endif // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_STREAM_MIXER_ALSA_H_
OLDNEW
« no previous file with comments | « chromecast/base/chromecast_switches.cc ('k') | chromecast/media/cma/backend/alsa/stream_mixer_alsa.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698