Create EncoderStreamFactory in VideoStreamEncoder
This cl/ changes so that the EncoderStreamFactory is not created inside WebRtcVideoSendStream (webrtc_video_engine). The benifit of this is that the VideoStreamEncoder can then amend the EncoderStreamFactory with state (and types) w/o exposing it in VideoEncoderConfig. I.e as an alternative to changes done inside https://webrtc-review.googlesource.com/c/src/+/276742. The fake_webrtc_call is modified to (if needed) create it's own EncoderStreamFactory if needed. Note: this cl/ will have to be merged with with https://webrtc-review.googlesource.com/c/src/+/277002. Bug: webrtc:14451 Change-Id: I3d896b227d39725ba6409622e8d09d14bd45d5fe Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277160 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38237}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
e82c2285a4
commit
7252348d76
@ -158,6 +158,9 @@ class VideoEncoderConfig {
|
||||
VideoCodecType codec_type;
|
||||
SdpVideoFormat video_format;
|
||||
|
||||
// Note: This factory can be unset, and VideoStreamEncoder will
|
||||
// then use the EncoderStreamFactory. The factory is only set by
|
||||
// tests.
|
||||
rtc::scoped_refptr<VideoStreamFactoryInterface> video_stream_factory;
|
||||
std::vector<SpatialLayer> spatial_layers;
|
||||
ContentType content_type;
|
||||
@ -189,6 +192,11 @@ class VideoEncoderConfig {
|
||||
// Indicates whether quality scaling can be used or not.
|
||||
bool is_quality_scaling_allowed;
|
||||
|
||||
// Maximum Quantization Parameter.
|
||||
// This value is fed into EncoderStreamFactory that
|
||||
// apply it to all simulcast layers/spatial layers.
|
||||
int max_qp;
|
||||
|
||||
private:
|
||||
// Access to the copy constructor is private to force use of the Copy()
|
||||
// method for those exceptional cases where we do use it.
|
||||
|
||||
Reference in New Issue
Block a user