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

Side by Side Diff: webrtc/config.h

Issue 2060403002: Add task queue to Call. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@move_getpadding
Patch Set: Fix audio thread check when adding audio to bitrateallocator. Created 4 years, 4 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 /* 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
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 // The VideoEncoder may redistribute bitrates over the temporal layers so a 118 // The VideoEncoder may redistribute bitrates over the temporal layers so a
119 // bitrate threshold of 100k and an estimate of 105k does not imply that we 119 // bitrate threshold of 100k and an estimate of 105k does not imply that we
120 // get 100k in one temporal layer and 5k in the other, just that the bitrate 120 // get 100k in one temporal layer and 5k in the other, just that the bitrate
121 // in the first temporal layer should not exceed 100k. 121 // in the first temporal layer should not exceed 100k.
122 // TODO(pbos): Apart from a special case for two-layer screencast these 122 // TODO(pbos): Apart from a special case for two-layer screencast these
123 // thresholds are not propagated to the VideoEncoder. To be implemented. 123 // thresholds are not propagated to the VideoEncoder. To be implemented.
124 std::vector<int> temporal_layer_thresholds_bps; 124 std::vector<int> temporal_layer_thresholds_bps;
125 }; 125 };
126 126
127 struct VideoEncoderConfig { 127 struct VideoEncoderConfig {
128 public:
128 enum class ContentType { 129 enum class ContentType {
129 kRealtimeVideo, 130 kRealtimeVideo,
130 kScreen, 131 kScreen,
131 }; 132 };
132 133
134 VideoEncoderConfig& operator=(VideoEncoderConfig&&) = default;
135 VideoEncoderConfig& operator=(const VideoEncoderConfig&) = delete;
136
137 // Mostly used by tests. Avoid creating copies if you can.
138 VideoEncoderConfig Copy() const { return VideoEncoderConfig(*this); }
139
133 VideoEncoderConfig(); 140 VideoEncoderConfig();
141 VideoEncoderConfig(VideoEncoderConfig&&) = default;
134 ~VideoEncoderConfig(); 142 ~VideoEncoderConfig();
135 std::string ToString() const; 143 std::string ToString() const;
136 144
137 std::vector<VideoStream> streams; 145 std::vector<VideoStream> streams;
138 std::vector<SpatialLayer> spatial_layers; 146 std::vector<SpatialLayer> spatial_layers;
139 ContentType content_type; 147 ContentType content_type;
140 void* encoder_specific_settings; 148 void* encoder_specific_settings;
141 149
142 // Padding will be used up to this bitrate regardless of the bitrate produced 150 // Padding will be used up to this bitrate regardless of the bitrate produced
143 // by the encoder. Padding above what's actually produced by the encoder helps 151 // by the encoder. Padding above what's actually produced by the encoder helps
144 // maintaining a higher bitrate estimate. Padding will however not be sent 152 // maintaining a higher bitrate estimate. Padding will however not be sent
145 // unless the estimated bandwidth indicates that the link can handle it. 153 // unless the estimated bandwidth indicates that the link can handle it.
146 int min_transmit_bitrate_bps; 154 int min_transmit_bitrate_bps;
147 bool expect_encode_from_texture; 155 bool expect_encode_from_texture;
156
157 private:
158 // Access to the copy constructor is private to force use of the Copy()
159 // method for those exceptional cases where we do use it.
160 VideoEncoderConfig(const VideoEncoderConfig&) = default;
148 }; 161 };
149 162
150 struct VideoDecoderH264Settings { 163 struct VideoDecoderH264Settings {
151 std::string sprop_parameter_sets; 164 std::string sprop_parameter_sets;
152 }; 165 };
153 166
154 class DecoderSpecificSettings { 167 class DecoderSpecificSettings {
155 public: 168 public:
156 virtual ~DecoderSpecificSettings() {} 169 virtual ~DecoderSpecificSettings() {}
157 rtc::Optional<VideoDecoderH264Settings> h264_extra_settings; 170 rtc::Optional<VideoDecoderH264Settings> h264_extra_settings;
(...skipping 24 matching lines...) Expand all
182 struct VoicePacing { 195 struct VoicePacing {
183 VoicePacing() : enabled(false) {} 196 VoicePacing() : enabled(false) {}
184 explicit VoicePacing(bool value) : enabled(value) {} 197 explicit VoicePacing(bool value) : enabled(value) {}
185 static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing; 198 static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing;
186 bool enabled; 199 bool enabled;
187 }; 200 };
188 201
189 } // namespace webrtc 202 } // namespace webrtc
190 203
191 #endif // WEBRTC_CONFIG_H_ 204 #endif // WEBRTC_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698