OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 // TODO(pbos): Move Config from common.h to here. | 11 // TODO(pbos): Move Config from common.h to here. |
12 | 12 |
13 #ifndef WEBRTC_CONFIG_H_ | 13 #ifndef WEBRTC_CONFIG_H_ |
14 #define WEBRTC_CONFIG_H_ | 14 #define WEBRTC_CONFIG_H_ |
15 | 15 |
16 #include <string> | 16 #include <string> |
17 #include <vector> | 17 #include <vector> |
18 | 18 |
| 19 #include "webrtc/base/optional.h" |
19 #include "webrtc/common.h" | 20 #include "webrtc/common.h" |
20 #include "webrtc/common_types.h" | 21 #include "webrtc/common_types.h" |
21 #include "webrtc/typedefs.h" | 22 #include "webrtc/typedefs.h" |
22 | 23 |
23 namespace webrtc { | 24 namespace webrtc { |
24 | 25 |
25 // Settings for NACK, see RFC 4585 for details. | 26 // Settings for NACK, see RFC 4585 for details. |
26 struct NackConfig { | 27 struct NackConfig { |
27 NackConfig() : rtp_history_ms(0) {} | 28 NackConfig() : rtp_history_ms(0) {} |
28 std::string ToString() const; | 29 std::string ToString() const; |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 void* encoder_specific_settings; | 140 void* encoder_specific_settings; |
140 | 141 |
141 // Padding will be used up to this bitrate regardless of the bitrate produced | 142 // Padding will be used up to this bitrate regardless of the bitrate produced |
142 // by the encoder. Padding above what's actually produced by the encoder helps | 143 // by the encoder. Padding above what's actually produced by the encoder helps |
143 // maintaining a higher bitrate estimate. Padding will however not be sent | 144 // maintaining a higher bitrate estimate. Padding will however not be sent |
144 // unless the estimated bandwidth indicates that the link can handle it. | 145 // unless the estimated bandwidth indicates that the link can handle it. |
145 int min_transmit_bitrate_bps; | 146 int min_transmit_bitrate_bps; |
146 bool expect_encode_from_texture; | 147 bool expect_encode_from_texture; |
147 }; | 148 }; |
148 | 149 |
| 150 struct VideoDecoderH264Settings { |
| 151 std::string sprop_parameter_sets; |
| 152 }; |
| 153 |
| 154 class DecoderSpecificSettings { |
| 155 public: |
| 156 virtual ~DecoderSpecificSettings() {} |
| 157 rtc::Optional<VideoDecoderH264Settings> h264_extra_settings; |
| 158 }; |
| 159 |
149 // Controls the capacity of the packet buffer in NetEq. The capacity is the | 160 // Controls the capacity of the packet buffer in NetEq. The capacity is the |
150 // maximum number of packets that the buffer can contain. If the limit is | 161 // maximum number of packets that the buffer can contain. If the limit is |
151 // exceeded, the buffer will be flushed. The capacity does not affect the actual | 162 // exceeded, the buffer will be flushed. The capacity does not affect the actual |
152 // audio delay in the general case, since this is governed by the target buffer | 163 // audio delay in the general case, since this is governed by the target buffer |
153 // level (calculated from the jitter profile). It is only in the rare case of | 164 // level (calculated from the jitter profile). It is only in the rare case of |
154 // severe network freezes that a higher capacity will lead to a (transient) | 165 // severe network freezes that a higher capacity will lead to a (transient) |
155 // increase in audio delay. | 166 // increase in audio delay. |
156 struct NetEqCapacityConfig { | 167 struct NetEqCapacityConfig { |
157 NetEqCapacityConfig() : enabled(false), capacity(0) {} | 168 NetEqCapacityConfig() : enabled(false), capacity(0) {} |
158 explicit NetEqCapacityConfig(int value) : enabled(true), capacity(value) {} | 169 explicit NetEqCapacityConfig(int value) : enabled(true), capacity(value) {} |
(...skipping 12 matching lines...) Expand all Loading... |
171 struct VoicePacing { | 182 struct VoicePacing { |
172 VoicePacing() : enabled(false) {} | 183 VoicePacing() : enabled(false) {} |
173 explicit VoicePacing(bool value) : enabled(value) {} | 184 explicit VoicePacing(bool value) : enabled(value) {} |
174 static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing; | 185 static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing; |
175 bool enabled; | 186 bool enabled; |
176 }; | 187 }; |
177 | 188 |
178 } // namespace webrtc | 189 } // namespace webrtc |
179 | 190 |
180 #endif // WEBRTC_CONFIG_H_ | 191 #endif // WEBRTC_CONFIG_H_ |
OLD | NEW |