| Index: webrtc/config.h
|
| diff --git a/webrtc/config.h b/webrtc/config.h
|
| index 0e8b769b69701febc27edd524cfcf77703dca170..54e1c2519f37d9ddc3aff8fae052e0be24144a18 100644
|
| --- a/webrtc/config.h
|
| +++ b/webrtc/config.h
|
| @@ -179,6 +179,21 @@ struct VideoEncoderConfig {
|
| kScreen,
|
| };
|
|
|
| + class VideoStreamFactoryInterface : public rtc::RefCountInterface {
|
| + public:
|
| + // An implementation should return a std::vector<VideoStream> with the
|
| + // wanted VideoStream settings for the given video resolution.
|
| + // The size of the vector may not be larger than
|
| + // |encoder_config.number_of_streams|.
|
| + virtual std::vector<VideoStream> CreateEncoderStreams(
|
| + int width,
|
| + int height,
|
| + const VideoEncoderConfig& encoder_config) = 0;
|
| +
|
| + protected:
|
| + virtual ~VideoStreamFactoryInterface() {}
|
| + };
|
| +
|
| VideoEncoderConfig& operator=(VideoEncoderConfig&&) = default;
|
| VideoEncoderConfig& operator=(const VideoEncoderConfig&) = delete;
|
|
|
| @@ -190,7 +205,7 @@ struct VideoEncoderConfig {
|
| ~VideoEncoderConfig();
|
| std::string ToString() const;
|
|
|
| - std::vector<VideoStream> streams;
|
| + rtc::scoped_refptr<VideoStreamFactoryInterface> encoder_stream_factory;
|
| std::vector<SpatialLayer> spatial_layers;
|
| ContentType content_type;
|
| rtc::scoped_refptr<const EncoderSpecificSettings> encoder_specific_settings;
|
| @@ -200,7 +215,10 @@ struct VideoEncoderConfig {
|
| // maintaining a higher bitrate estimate. Padding will however not be sent
|
| // unless the estimated bandwidth indicates that the link can handle it.
|
| int min_transmit_bitrate_bps;
|
| - bool expect_encode_from_texture;
|
| + int max_bitrate_bps;
|
| +
|
| + // Max number of encoded VideoStreams to produce.
|
| + size_t number_of_streams;
|
|
|
| private:
|
| // Access to the copy constructor is private to force use of the Copy()
|
|
|