Adds active field to VideoStream struct.

This change allows work to be done in parallel for lower level implementation and wiring/exposing multiple simulcast layer's encoding parameters at the api interface.

Bug: webrtc:8653
Change-Id: I89c9a6af0786134771d28526056759bd63213a0a
Reviewed-on: https://webrtc-review.googlesource.com/32902
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21375}
This commit is contained in:
Seth Hampson 2017-12-14 11:41:18 -08:00 committed by Commit Bot
parent 53d901332c
commit 36193c3756
2 changed files with 10 additions and 0 deletions

View File

@ -24,6 +24,7 @@ VideoStream::VideoStream()
target_bitrate_bps(-1),
max_bitrate_bps(-1),
max_qp(-1) {}
VideoStream::VideoStream(const VideoStream& other) = default;
VideoStream::~VideoStream() = default;

View File

@ -26,6 +26,7 @@ namespace webrtc {
struct VideoStream {
VideoStream();
~VideoStream();
VideoStream(const VideoStream& other);
std::string ToString() const;
size_t width;
@ -39,6 +40,9 @@ struct VideoStream {
int max_qp;
// TODO(bugs.webrtc.org/8653): Support active per-simulcast layer.
bool active;
// Bitrate thresholds for enabling additional temporal layers. Since these are
// thresholds in between layers, we have one additional layer. One threshold
// gives two temporal layers, one below the threshold and one above, two give
@ -146,6 +150,11 @@ class VideoEncoderConfig {
// The bitrate priority used for all VideoStreams.
double bitrate_priority;
// The simulcast layer's configurations set by the application for this video
// sender. These are modified by the video_stream_factory before being passed
// down to lower layers for the video encoding.
std::vector<VideoStream> simulcast_layers;
// Max number of encoded VideoStreams to produce.
size_t number_of_streams;