VP9 screenshare: use CONSTRAINED_FROM_ABOVE_DROP mode

This mode was added by libvpx team specificaly for this usecase: if a
layer is dropped, all lower layers have to be dropped also.

This ensures that higher layers always have higher framerate than the
lower layers and stream is RTP compatible.

This CL also renames full_superframe_drop_ to !layer_buffering, as it
closer reflects the purpose of that flag (in screenshare mode, no
buffering is needed, because the highest layer is always present in the
superframe, yet, it's not a full-superframe dropping mode).

Bug: webrtc:10257
Change-Id: I2589bfd2b9b63de0e410f277a716276234993843
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151764
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29155}
This commit is contained in:
Ilya Nikolaevskiy
2019-09-09 10:16:18 +02:00
committed by Commit Bot
parent 6fcdbc1d8d
commit 1af0f908c8
2 changed files with 24 additions and 21 deletions

View File

@ -125,8 +125,8 @@ class VP9EncoderImpl : public VP9Encoder {
bool external_ref_control_;
const bool trusted_rate_controller_;
const bool dynamic_rate_settings_;
bool layer_buffering_;
const bool full_superframe_drop_;
bool dropping_only_base_layer_;
vpx_svc_frame_drop_t svc_drop_frame_;
bool first_frame_in_picture_;
VideoBitrateAllocation current_bitrate_allocation_;