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

Unified Diff: webrtc/modules/video_coding/video_coding_impl.h

Issue 2510583002: Reland #2 of Issue 2434073003: Extract bitrate allocation ... (Closed)
Patch Set: Addressed comments Created 4 years, 1 month 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
« no previous file with comments | « webrtc/modules/video_coding/video_coding.gypi ('k') | webrtc/modules/video_coding/video_coding_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/video_coding/video_coding_impl.h
diff --git a/webrtc/modules/video_coding/video_coding_impl.h b/webrtc/modules/video_coding/video_coding_impl.h
index fa19ac47c3a71c702d6da36ae016757fb2cfdebe..adeb980072e7ec020f161c0429460cb55ed8a1d7 100644
--- a/webrtc/modules/video_coding/video_coding_impl.h
+++ b/webrtc/modules/video_coding/video_coding_impl.h
@@ -34,6 +34,8 @@
namespace webrtc {
+class VideoBitrateAllocator;
+
namespace vcm {
class VCMProcessTimer {
@@ -75,9 +77,15 @@ class VideoSender : public Module {
int Bitrate(unsigned int* bitrate) const;
int FrameRate(unsigned int* framerate) const;
- int32_t SetChannelParameters(uint32_t target_bitrate, // bits/s.
+ int32_t SetChannelParameters(uint32_t target_bitrate_bps,
uint8_t lossRate,
- int64_t rtt);
+ 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);
+
// Deprecated:
// TODO(perkj): Remove once no projects use it.
int32_t RegisterProtectionCallback(VCMProtectionCallback* protection);
@@ -92,6 +100,10 @@ class VideoSender : public Module {
void Process() override;
private:
+ EncoderParameters UpdateEncoderParameters(
+ const EncoderParameters& params,
+ VideoBitrateAllocator* bitrate_allocator,
+ uint32_t target_bitrate_bps);
void SetEncoderParameters(EncoderParameters params, bool has_internal_source)
EXCLUSIVE_LOCKS_REQUIRED(encoder_crit_);
« no previous file with comments | « webrtc/modules/video_coding/video_coding.gypi ('k') | webrtc/modules/video_coding/video_coding_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698