OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 5 #ifndef CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
6 #define CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 6 #define CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 MediaStreamType type, | 73 MediaStreamType type, |
74 const std::string& id, | 74 const std::string& id, |
75 const std::string& name); | 75 const std::string& name); |
76 | 76 |
77 MediaStreamDevice( | 77 MediaStreamDevice( |
78 MediaStreamType type, | 78 MediaStreamType type, |
79 const std::string& id, | 79 const std::string& id, |
80 const std::string& name, | 80 const std::string& name, |
81 int sample_rate, | 81 int sample_rate, |
82 int channel_layout, | 82 int channel_layout, |
83 int frames_per_buffer); | 83 int frames_per_buffer, |
| 84 bool use_platform_aec); |
84 | 85 |
85 ~MediaStreamDevice(); | 86 ~MediaStreamDevice(); |
86 | 87 |
87 bool IsEqual(const MediaStreamDevice& second) const; | 88 bool IsEqual(const MediaStreamDevice& second) const; |
88 | 89 |
89 // The device's type. | 90 // The device's type. |
90 MediaStreamType type; | 91 MediaStreamType type; |
91 | 92 |
92 // The device's unique ID. | 93 // The device's unique ID. |
93 std::string id; | 94 std::string id; |
94 | 95 |
95 // The facing mode for video capture device. | 96 // The facing mode for video capture device. |
96 VideoFacingMode video_facing; | 97 VideoFacingMode video_facing; |
97 | 98 |
98 // The device id of a matched output device if any (otherwise empty). | 99 // The device id of a matched output device if any (otherwise empty). |
99 // Only applicable to audio devices. | 100 // Only applicable to audio devices. |
100 std::string matched_output_device_id; | 101 std::string matched_output_device_id; |
101 | 102 |
102 // The device's "friendly" name. Not guaranteed to be unique. | 103 // The device's "friendly" name. Not guaranteed to be unique. |
103 std::string name; | 104 std::string name; |
104 | 105 |
105 // Contains properties that match directly with those with the same name | 106 // Contains properties that match directly with those with the same name |
106 // in media::AudioParameters. | 107 // in media::AudioParameters. |
107 struct AudioDeviceParameters { | 108 struct AudioDeviceParameters { |
108 AudioDeviceParameters() | 109 AudioDeviceParameters() |
109 : sample_rate(), channel_layout(), frames_per_buffer() { | 110 : sample_rate(), channel_layout(), frames_per_buffer(), |
| 111 use_platform_aec(false) { |
110 } | 112 } |
111 | 113 |
112 AudioDeviceParameters(int sample_rate, int channel_layout, | 114 AudioDeviceParameters(int sample_rate, int channel_layout, |
113 int frames_per_buffer) | 115 int frames_per_buffer, bool use_platform_aec) |
114 : sample_rate(sample_rate), | 116 : sample_rate(sample_rate), |
115 channel_layout(channel_layout), | 117 channel_layout(channel_layout), |
116 frames_per_buffer(frames_per_buffer) { | 118 frames_per_buffer(frames_per_buffer), |
| 119 use_platform_aec(use_platform_aec) { |
117 } | 120 } |
118 | 121 |
119 // Preferred sample rate in samples per second for the device. | 122 // Preferred sample rate in samples per second for the device. |
120 int sample_rate; | 123 int sample_rate; |
121 | 124 |
122 // Preferred channel configuration for the device. | 125 // Preferred channel configuration for the device. |
123 // TODO(henrika): ideally, we would like to use media::ChannelLayout here | 126 // TODO(henrika): ideally, we would like to use media::ChannelLayout here |
124 // but including media/base/channel_layout.h violates checkdeps rules. | 127 // but including media/base/channel_layout.h violates checkdeps rules. |
125 int channel_layout; | 128 int channel_layout; |
126 | 129 |
127 // Preferred number of frames per buffer for the device. This is filled | 130 // Preferred number of frames per buffer for the device. This is filled |
128 // in on the browser side and can be used by the renderer to match the | 131 // in on the browser side and can be used by the renderer to match the |
129 // expected browser side settings and avoid unnecessary buffering. | 132 // expected browser side settings and avoid unnecessary buffering. |
130 // See media::AudioParameters for more. | 133 // See media::AudioParameters for more. |
131 int frames_per_buffer; | 134 int frames_per_buffer; |
| 135 |
| 136 // See media::AudioParameters. |
| 137 bool use_platform_aec; |
132 }; | 138 }; |
133 | 139 |
134 // These below two member variables are valid only when the type of device is | 140 // These below two member variables are valid only when the type of device is |
135 // audio (i.e. IsAudioMediaType returns true). | 141 // audio (i.e. IsAudioMediaType returns true). |
136 | 142 |
137 // Contains the device properties of the capture device. | 143 // Contains the device properties of the capture device. |
138 AudioDeviceParameters input; | 144 AudioDeviceParameters input; |
139 | 145 |
140 // If the capture device has an associated output device (e.g. headphones), | 146 // If the capture device has an associated output device (e.g. headphones), |
141 // this will contain the properties for the output device. If no such device | 147 // this will contain the properties for the output device. If no such device |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 }; | 228 }; |
223 | 229 |
224 // Callback used return results of media access requests. | 230 // Callback used return results of media access requests. |
225 typedef base::Callback<void( | 231 typedef base::Callback<void( |
226 const MediaStreamDevices& devices, | 232 const MediaStreamDevices& devices, |
227 scoped_ptr<MediaStreamUI> ui)> MediaResponseCallback; | 233 scoped_ptr<MediaStreamUI> ui)> MediaResponseCallback; |
228 | 234 |
229 } // namespace content | 235 } // namespace content |
230 | 236 |
231 #endif // CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ | 237 #endif // CONTENT_PUBLIC_COMMON_MEDIA_STREAM_REQUEST_H_ |
OLD | NEW |