diff options
author | turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-12-15 18:42:32 +0000 |
---|---|---|
committer | turaj@webrtc.org <turaj@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-12-15 18:42:32 +0000 |
commit | c5a5713889a6013411f8e1ec758587de9c6b7348 (patch) | |
tree | a2a8ab7497d0f03220c6bde4dce8cb8888a34eac /video_engine/vie_channel_manager.cc | |
parent | 3bbc91ea9857d48971b74b482645d88ffc2102e1 (diff) | |
download | webrtc-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.cc | 31 |
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_); |