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

Unified Diff: webrtc/video_send_stream.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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698