summaryrefslogtreecommitdiff
path: root/video_engine/vie_channel_manager.cc
diff options
context:
space:
mode:
authorsolenberg@webrtc.org <solenberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-03-26 14:32:47 +0000
committersolenberg@webrtc.org <solenberg@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-03-26 14:32:47 +0000
commit2f0c5f796148eba014cd90b0d080ccd6a4761fd3 (patch)
tree416eff5139ba472b21082995c22d5f0c452e72f7 /video_engine/vie_channel_manager.cc
parent9511bbddf90d6cd4e1449da8c75c1e267415fb1a (diff)
downloadwebrtc-2f0c5f796148eba014cd90b0d080ccd6a4761fd3.tar.gz
Add API to allow deducting bitrate from incoming estimates before the capacity is distributed among outgoing video streams. For example, this can be used to reserve space for audio streams.
BUG= R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10499004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5791 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'video_engine/vie_channel_manager.cc')
-rw-r--r--video_engine/vie_channel_manager.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/video_engine/vie_channel_manager.cc b/video_engine/vie_channel_manager.cc
index 746cb258..2e838724 100644
--- a/video_engine/vie_channel_manager.cc
+++ b/video_engine/vie_channel_manager.cc
@@ -368,6 +368,19 @@ bool ViEChannelManager::SetRembStatus(int channel_id, bool sender,
return group->SetChannelRembStatus(channel_id, sender, receiver, channel);
}
+bool ViEChannelManager::SetReservedTransmitBitrate(
+ int channel_id, uint32_t reserved_transmit_bitrate_bps) {
+ CriticalSectionScoped cs(channel_id_critsect_);
+ ChannelGroup* group = FindGroup(channel_id);
+ if (!group) {
+ return false;
+ }
+
+ BitrateController* bitrate_controller = group->GetBitrateController();
+ bitrate_controller->SetReservedBitrate(reserved_transmit_bitrate_bps);
+ return true;
+}
+
void ViEChannelManager::UpdateSsrcs(int channel_id,
const std::list<unsigned int>& ssrcs) {
CriticalSectionScoped cs(channel_id_critsect_);