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

Unified Diff: talk/session/media/channelmanager.cc

Issue 1269863005: MediaController/Call instantiation. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove redundant reset(nullptr) Created 5 years, 3 months 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 | « talk/session/media/channelmanager.h ('k') | talk/session/media/channelmanager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/session/media/channelmanager.cc
diff --git a/talk/session/media/channelmanager.cc b/talk/session/media/channelmanager.cc
index f39e966e5158941188e32fa21ec115cfce37f377..c109d60388bb5fb37e4aaa856bbe6b048b292599 100644
--- a/talk/session/media/channelmanager.cc
+++ b/talk/session/media/channelmanager.cc
@@ -33,6 +33,7 @@
#include <algorithm>
+#include "talk/app/webrtc/mediacontroller.h"
#include "talk/media/base/capturemanager.h"
#include "talk/media/base/hybriddataengine.h"
#include "talk/media/base/rtpdataengine.h"
@@ -308,7 +309,7 @@ void ChannelManager::Terminate_w() {
DestroyVideoChannel_w(video_channels_.back());
}
while (!voice_channels_.empty()) {
- DestroyVoiceChannel_w(voice_channels_.back(), nullptr);
+ DestroyVoiceChannel_w(voice_channels_.back());
}
if (!SetCaptureDevice_w(NULL)) {
LOG(LS_WARNING) << "failed to delete video capturer";
@@ -317,23 +318,32 @@ void ChannelManager::Terminate_w() {
}
VoiceChannel* ChannelManager::CreateVoiceChannel(
+ webrtc::MediaControllerInterface* media_controller,
BaseSession* session,
const std::string& content_name,
bool rtcp,
const AudioOptions& options) {
return worker_thread_->Invoke<VoiceChannel*>(
- Bind(&ChannelManager::CreateVoiceChannel_w, this, session, content_name,
- rtcp, options));
+ Bind(&ChannelManager::CreateVoiceChannel_w,
+ this,
+ media_controller,
+ session,
+ content_name,
+ rtcp,
+ options));
}
VoiceChannel* ChannelManager::CreateVoiceChannel_w(
+ webrtc::MediaControllerInterface* media_controller,
BaseSession* session,
const std::string& content_name,
bool rtcp,
const AudioOptions& options) {
ASSERT(initialized_);
ASSERT(worker_thread_ == rtc::Thread::Current());
- VoiceMediaChannel* media_channel = media_engine_->CreateChannel(options);
+ ASSERT(nullptr != media_controller);
+ VoiceMediaChannel* media_channel =
+ media_engine_->CreateChannel(media_controller->call_w(), options);
if (!media_channel)
return nullptr;
@@ -348,17 +358,14 @@ VoiceChannel* ChannelManager::CreateVoiceChannel_w(
return voice_channel;
}
-void ChannelManager::DestroyVoiceChannel(VoiceChannel* voice_channel,
- VideoChannel* video_channel) {
+void ChannelManager::DestroyVoiceChannel(VoiceChannel* voice_channel) {
if (voice_channel) {
worker_thread_->Invoke<void>(
- Bind(&ChannelManager::DestroyVoiceChannel_w, this, voice_channel,
- video_channel));
+ Bind(&ChannelManager::DestroyVoiceChannel_w, this, voice_channel));
}
}
-void ChannelManager::DestroyVoiceChannel_w(VoiceChannel* voice_channel,
- VideoChannel* video_channel) {
+void ChannelManager::DestroyVoiceChannel_w(VoiceChannel* voice_channel) {
// Destroy voice channel.
ASSERT(initialized_);
ASSERT(worker_thread_ == rtc::Thread::Current());
@@ -367,57 +374,37 @@ void ChannelManager::DestroyVoiceChannel_w(VoiceChannel* voice_channel,
ASSERT(it != voice_channels_.end());
if (it == voice_channels_.end())
return;
-
- if (video_channel) {
- video_channel->media_channel()->DetachVoiceChannel();
- }
voice_channels_.erase(it);
delete voice_channel;
}
VideoChannel* ChannelManager::CreateVideoChannel(
+ webrtc::MediaControllerInterface* media_controller,
BaseSession* session,
const std::string& content_name,
bool rtcp,
- VoiceChannel* voice_channel) {
- return worker_thread_->Invoke<VideoChannel*>(
- Bind(&ChannelManager::CreateVideoChannel_w,
- this,
- session,
- content_name,
- rtcp,
- VideoOptions(),
- voice_channel));
-}
-
-VideoChannel* ChannelManager::CreateVideoChannel(
- BaseSession* session,
- const std::string& content_name,
- bool rtcp,
- const VideoOptions& options,
- VoiceChannel* voice_channel) {
+ const VideoOptions& options) {
return worker_thread_->Invoke<VideoChannel*>(
Bind(&ChannelManager::CreateVideoChannel_w,
this,
+ media_controller,
session,
content_name,
rtcp,
- options,
- voice_channel));
+ options));
}
VideoChannel* ChannelManager::CreateVideoChannel_w(
+ webrtc::MediaControllerInterface* media_controller,
BaseSession* session,
const std::string& content_name,
bool rtcp,
- const VideoOptions& options,
- VoiceChannel* voice_channel) {
+ const VideoOptions& options) {
ASSERT(initialized_);
ASSERT(worker_thread_ == rtc::Thread::Current());
+ ASSERT(nullptr != media_controller);
VideoMediaChannel* media_channel =
- // voice_channel can be NULL in case of NullVoiceEngine.
- media_engine_->CreateVideoChannel(
- options, voice_channel ? voice_channel->media_channel() : NULL);
+ media_engine_->CreateVideoChannel(media_controller->call_w(), options);
if (media_channel == NULL)
return NULL;
« no previous file with comments | « talk/session/media/channelmanager.h ('k') | talk/session/media/channelmanager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698