Refactor of GetSimulcastConfig & EncoderStreamFactory.

The main pieces of this refactor are splitting up the creation of
simulcast layers for screenshare or the normal case, more consistent
naming, renaming streams to layers and trying to be more explicit with
some of the logic. Also added TODOs for future work to put more
application control into creating simulcast streams.

Bug: webrtc:8785
Change-Id: Ibf49fa0cc6d890ff96f8ee11c89d93a2c94119d6
Reviewed-on: https://webrtc-review.googlesource.com/47580
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21989}
This commit is contained in:
Seth Hampson
2018-02-07 08:50:36 -08:00
committed by Commit Bot
parent 6947025e95
commit 1370e309e7
4 changed files with 201 additions and 130 deletions

View File

@ -516,8 +516,8 @@ class EncoderStreamFactory
EncoderStreamFactory(std::string codec_name,
int max_qp,
int max_framerate,
bool is_screencast,
bool conference_mode);
bool is_screenshare,
bool screenshare_config_explicitly_enabled);
private:
std::vector<webrtc::VideoStream> CreateEncoderStreams(
@ -528,8 +528,10 @@ class EncoderStreamFactory
const std::string codec_name_;
const int max_qp_;
const int max_framerate_;
const bool is_screencast_;
const bool conference_mode_;
const bool is_screenshare_;
// Allows a screenshare specific configuration, which enables temporal
// layering and allows simulcast.
const bool screenshare_config_explicitly_enabled_;
};
} // namespace cricket