| Index: webrtc/video_send_stream.h
|
| diff --git a/webrtc/video_send_stream.h b/webrtc/video_send_stream.h
|
| index b79f6dd30e7909454aa6fb471e8d3ee5a0da178f..afdec43c745cc2cc877b416ef5150f6d27c0cecb 100644
|
| --- a/webrtc/video_send_stream.h
|
| +++ b/webrtc/video_send_stream.h
|
| @@ -13,13 +13,13 @@
|
|
|
| #include <map>
|
| #include <string>
|
| +#include <vector>
|
|
|
| #include "webrtc/common_types.h"
|
| #include "webrtc/common_video/include/frame_callback.h"
|
| #include "webrtc/config.h"
|
| #include "webrtc/media/base/videosinkinterface.h"
|
| #include "webrtc/transport.h"
|
| -#include "webrtc/media/base/videosinkinterface.h"
|
|
|
| namespace webrtc {
|
|
|
| @@ -72,13 +72,28 @@ class VideoSendStream {
|
| };
|
|
|
| struct Config {
|
| + public:
|
| Config() = delete;
|
| + Config(Config&&) = default;
|
| explicit Config(Transport* send_transport)
|
| : send_transport(send_transport) {}
|
|
|
| + Config& operator=(Config&&) = default;
|
| + Config& operator=(const Config&) = delete;
|
| +
|
| + // Mostly used by tests. Avoid creating copies if you can.
|
| + Config Copy() const { return Config(*this); }
|
| +
|
| std::string ToString() const;
|
|
|
| struct EncoderSettings {
|
| + EncoderSettings() = default;
|
| + EncoderSettings(std::string payload_name,
|
| + int payload_type,
|
| + VideoEncoder* encoder)
|
| + : payload_name(std::move(payload_name)),
|
| + payload_type(payload_type),
|
| + encoder(encoder) {}
|
| std::string ToString() const;
|
|
|
| std::string payload_name;
|
| @@ -151,10 +166,6 @@ class VideoSendStream {
|
| // than the measuring window, since the sample data will have been dropped.
|
| EncodedFrameObserver* post_encode_callback = nullptr;
|
|
|
| - // Renderer for local preview. The local renderer will be called even if
|
| - // sending hasn't started. 'nullptr' disables local rendering.
|
| - rtc::VideoSinkInterface<VideoFrame>* local_renderer = nullptr;
|
| -
|
| // Expected delay needed by the renderer, i.e. the frame will be delivered
|
| // this many milliseconds, if possible, earlier than expected render time.
|
| // Only valid if |local_renderer| is set.
|
| @@ -168,6 +179,11 @@ class VideoSendStream {
|
| // below the minimum configured bitrate. If this variable is false, the
|
| // stream may send at a rate higher than the estimated available bitrate.
|
| bool suspend_below_min_bitrate = false;
|
| +
|
| + private:
|
| + // Access to the copy constructor is private to force use of the Copy()
|
| + // method for those exceptional cases where we do use it.
|
| + Config(const Config&) = default;
|
| };
|
|
|
| // Starts stream activity.
|
| @@ -184,7 +200,7 @@ class VideoSendStream {
|
| // Set which streams to send. Must have at least as many SSRCs as configured
|
| // in the config. Encoder settings are passed on to the encoder instance along
|
| // with the VideoStream settings.
|
| - virtual void ReconfigureVideoEncoder(const VideoEncoderConfig& config) = 0;
|
| + virtual void ReconfigureVideoEncoder(VideoEncoderConfig config) = 0;
|
|
|
| virtual Stats GetStats() = 0;
|
|
|
|
|