summaryrefslogtreecommitdiff
path: root/video_engine/vie_channel_manager.cc
diff options
context:
space:
mode:
authorturaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-12-15 18:42:32 +0000
committerturaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-12-15 18:42:32 +0000
commitc5a5713889a6013411f8e1ec758587de9c6b7348 (patch)
treea2a8ab7497d0f03220c6bde4dce8cb8888a34eac /video_engine/vie_channel_manager.cc
parent3bbc91ea9857d48971b74b482645d88ffc2102e1 (diff)
downloadwebrtc-c5a5713889a6013411f8e1ec758587de9c6b7348.tar.gz
Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream. > > BUG= > R=mflodman@webrtc.org, stefan@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/5409004 TBR=solenberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5889004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'video_engine/vie_channel_manager.cc')
-rw-r--r--video_engine/vie_channel_manager.cc31
1 files changed, 30 insertions, 1 deletions
diff --git a/video_engine/vie_channel_manager.cc b/video_engine/vie_channel_manager.cc
index b62e2829..5fdbde5b 100644
--- a/video_engine/vie_channel_manager.cc
+++ b/video_engine/vie_channel_manager.cc
@@ -89,7 +89,7 @@ int ViEChannelManager::CreateChannel(int* channel_id) {
}
// Create a new channel group and add this channel.
- ChannelGroup* group = new ChannelGroup(engine_id_, module_process_thread_,
+ ChannelGroup* group = new ChannelGroup(module_process_thread_,
config_);
BitrateController* bitrate_controller = group->GetBitrateController();
ViEEncoder* vie_encoder = new ViEEncoder(engine_id_, new_channel_id,
@@ -366,6 +366,35 @@ bool ViEChannelManager::SetRembStatus(int channel_id, bool sender,
return group->SetChannelRembStatus(channel_id, sender, receiver, channel);
}
+bool ViEChannelManager::SetReceiveAbsoluteSendTimeStatus(int channel_id,
+ bool enable,
+ int id) {
+ CriticalSectionScoped cs(channel_id_critsect_);
+ ViEChannel* channel = ViEChannelPtr(channel_id);
+ if (!channel) {
+ return false;
+ }
+ if (channel->SetReceiveAbsoluteSendTimeStatus(enable, id) != 0) {
+ return false;
+ }
+
+ // Enable absolute send time extension on the group if at least one of the
+ // channels use it.
+ ChannelGroup* group = FindGroup(channel_id);
+ assert(group);
+ bool any_enabled = false;
+ for (ChannelMap::const_iterator c_it = channel_map_.begin();
+ c_it != channel_map_.end(); ++c_it) {
+ if (group->HasChannel(c_it->first) &&
+ c_it->second->GetReceiveAbsoluteSendTimeStatus()) {
+ any_enabled = true;
+ break;
+ }
+ }
+ group->SetReceiveAbsoluteSendTimeStatus(any_enabled);
+ return true;
+}
+
void ViEChannelManager::UpdateSsrcs(int channel_id,
const std::list<unsigned int>& ssrcs) {
CriticalSectionScoped cs(channel_id_critsect_);