Wire up BitrateAllocation to be sent as RTCP TargetBitrate
This is the video parts of https://codereview.webrtc.org/2531383002/ Wire up BitrateAllocation to be sent as RTCP TargetBitrate BUG=webrtc:6301 Review-Url: https://codereview.webrtc.org/2541303003 Cr-Commit-Position: refs/heads/master@{#15359}
This commit is contained in:
@ -35,6 +35,7 @@
|
||||
namespace webrtc {
|
||||
|
||||
class VideoBitrateAllocator;
|
||||
class VideoBitrateAllocationObserver;
|
||||
|
||||
namespace vcm {
|
||||
|
||||
@ -79,14 +80,23 @@ class VideoSender : public Module {
|
||||
int Bitrate(unsigned int* bitrate) const;
|
||||
int FrameRate(unsigned int* framerate) const;
|
||||
|
||||
int32_t SetChannelParameters(uint32_t target_bitrate_bps,
|
||||
uint8_t lossRate,
|
||||
int64_t rtt,
|
||||
VideoBitrateAllocator* bitrate_allocator);
|
||||
// Updates the channel parameters, with a reallocated bitrate based on a
|
||||
// presumably updated codec configuration, but does not update the encoder
|
||||
// itself (it will be updated on the next frame).
|
||||
void UpdateChannelParemeters(VideoBitrateAllocator* bitrate_allocator);
|
||||
// Update the channel parameters based on new rates and rtt. This will also
|
||||
// cause an immediate call to VideoEncoder::SetRateAllocation().
|
||||
int32_t SetChannelParameters(
|
||||
uint32_t target_bitrate_bps,
|
||||
uint8_t loss_rate,
|
||||
int64_t rtt,
|
||||
VideoBitrateAllocator* bitrate_allocator,
|
||||
VideoBitrateAllocationObserver* bitrate_updated_callback);
|
||||
|
||||
// Updates the channel parameters with a new bitrate allocation, but using the
|
||||
// current targit_bitrate, loss rate and rtt. That is, the distribution or
|
||||
// caps may be updated to a change to a new VideoCodec or allocation mode.
|
||||
// The new parameters will be stored as pending EncoderParameters, and the
|
||||
// encoder will only be updated on the next frame.
|
||||
void UpdateChannelParemeters(
|
||||
VideoBitrateAllocator* bitrate_allocator,
|
||||
VideoBitrateAllocationObserver* bitrate_updated_callback);
|
||||
|
||||
// Deprecated:
|
||||
// TODO(perkj): Remove once no projects use it.
|
||||
|
Reference in New Issue
Block a user