| 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 | 
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 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: |  | 
| 129   enum class ContentType { | 128   enum class ContentType { | 
| 130     kRealtimeVideo, | 129     kRealtimeVideo, | 
| 131     kScreen, | 130     kScreen, | 
| 132   }; | 131   }; | 
| 133 | 132 | 
| 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 |  | 
| 140   VideoEncoderConfig(); | 133   VideoEncoderConfig(); | 
| 141   VideoEncoderConfig(VideoEncoderConfig&&) = default; |  | 
| 142   ~VideoEncoderConfig(); | 134   ~VideoEncoderConfig(); | 
| 143   std::string ToString() const; | 135   std::string ToString() const; | 
| 144 | 136 | 
| 145   std::vector<VideoStream> streams; | 137   std::vector<VideoStream> streams; | 
| 146   std::vector<SpatialLayer> spatial_layers; | 138   std::vector<SpatialLayer> spatial_layers; | 
| 147   ContentType content_type; | 139   ContentType content_type; | 
| 148   void* encoder_specific_settings; | 140   void* encoder_specific_settings; | 
| 149 | 141 | 
| 150   // 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 | 
| 151   // 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 | 
| 152   // maintaining a higher bitrate estimate. Padding will however not be sent | 144   // maintaining a higher bitrate estimate. Padding will however not be sent | 
| 153   // unless the estimated bandwidth indicates that the link can handle it. | 145   // unless the estimated bandwidth indicates that the link can handle it. | 
| 154   int min_transmit_bitrate_bps; | 146   int min_transmit_bitrate_bps; | 
| 155   bool expect_encode_from_texture; | 147   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; |  | 
| 161 }; | 148 }; | 
| 162 | 149 | 
| 163 struct VideoDecoderH264Settings { | 150 struct VideoDecoderH264Settings { | 
| 164   std::string sprop_parameter_sets; | 151   std::string sprop_parameter_sets; | 
| 165 }; | 152 }; | 
| 166 | 153 | 
| 167 class DecoderSpecificSettings { | 154 class DecoderSpecificSettings { | 
| 168  public: | 155  public: | 
| 169   virtual ~DecoderSpecificSettings() {} | 156   virtual ~DecoderSpecificSettings() {} | 
| 170   rtc::Optional<VideoDecoderH264Settings> h264_extra_settings; | 157   rtc::Optional<VideoDecoderH264Settings> h264_extra_settings; | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 195 struct VoicePacing { | 182 struct VoicePacing { | 
| 196   VoicePacing() : enabled(false) {} | 183   VoicePacing() : enabled(false) {} | 
| 197   explicit VoicePacing(bool value) : enabled(value) {} | 184   explicit VoicePacing(bool value) : enabled(value) {} | 
| 198   static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing; | 185   static const ConfigOptionID identifier = ConfigOptionID::kVoicePacing; | 
| 199   bool enabled; | 186   bool enabled; | 
| 200 }; | 187 }; | 
| 201 | 188 | 
| 202 }  // namespace webrtc | 189 }  // namespace webrtc | 
| 203 | 190 | 
| 204 #endif  // WEBRTC_CONFIG_H_ | 191 #endif  // WEBRTC_CONFIG_H_ | 
| OLD | NEW | 
|---|