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

Unified Diff: content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc

Issue 2897603004: WebRtcMediaStreamAdapter using WebRtcMediaStreamTrackMap. (Closed)
Patch Set: Rebase Created 3 years, 6 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
Index: content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc
diff --git a/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc b/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc
index 64129a221d363315b64d558fa6816e4991c50dce..ea1e311d84ae1a722be898bd7f84df3545709da5 100644
--- a/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc
+++ b/content/renderer/media/webrtc/webrtc_media_stream_track_adapter.cc
@@ -18,7 +18,6 @@ WebRtcMediaStreamTrackAdapter::CreateLocalTrackAdapter(
const scoped_refptr<base::SingleThreadTaskRunner>& main_thread,
const blink::WebMediaStreamTrack& web_track) {
DCHECK(main_thread->BelongsToCurrentThread());
- DCHECK(!web_track.Source().Remote());
Guido Urdaneta 2017/06/08 13:54:35 Are the changes to this file a drive-by improvemen
hbos_chromium 2017/06/08 14:34:44 No, a local track may in fact have a remote source
scoped_refptr<WebRtcMediaStreamTrackAdapter> local_track_adapter(
new WebRtcMediaStreamTrackAdapter(factory, main_thread));
if (web_track.Source().GetType() == blink::WebMediaStreamSource::kTypeAudio) {
@@ -71,24 +70,19 @@ void WebRtcMediaStreamTrackAdapter::Dispose() {
if (!is_initialized_)
return;
is_initialized_ = false;
- if (!web_track_.Source().Remote()) {
- if (web_track_.Source().GetType() ==
- blink::WebMediaStreamSource::kTypeAudio) {
+ if (web_track_.Source().GetType() ==
+ blink::WebMediaStreamSource::kTypeAudio) {
+ if (local_track_audio_sink_)
DisposeLocalAudioTrack();
- } else {
- DCHECK_EQ(web_track_.Source().GetType(),
- blink::WebMediaStreamSource::kTypeVideo);
- DisposeLocalVideoTrack();
- }
- } else {
- if (web_track_.Source().GetType() ==
- blink::WebMediaStreamSource::kTypeAudio) {
+ else
DisposeRemoteAudioTrack();
- } else {
- DCHECK_EQ(web_track_.Source().GetType(),
- blink::WebMediaStreamSource::kTypeVideo);
+ } else {
+ DCHECK_EQ(web_track_.Source().GetType(),
+ blink::WebMediaStreamSource::kTypeVideo);
+ if (local_track_video_sink_)
+ DisposeLocalVideoTrack();
+ else
DisposeRemoteVideoTrack();
- }
}
}
@@ -121,7 +115,6 @@ void WebRtcMediaStreamTrackAdapter::InitializeLocalAudioTrack(
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
DCHECK(!web_track.IsNull());
- DCHECK(!web_track.Source().Remote());
DCHECK_EQ(web_track.Source().GetType(),
blink::WebMediaStreamSource::kTypeAudio);
web_track_ = web_track;
@@ -158,7 +151,6 @@ void WebRtcMediaStreamTrackAdapter::InitializeLocalVideoTrack(
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
DCHECK(!web_track.IsNull());
- DCHECK(!web_track.Source().Remote());
DCHECK_EQ(web_track.Source().GetType(),
blink::WebMediaStreamSource::kTypeVideo);
web_track_ = web_track;
@@ -218,12 +210,11 @@ void WebRtcMediaStreamTrackAdapter::
void WebRtcMediaStreamTrackAdapter::DisposeLocalAudioTrack() {
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
- DCHECK(!web_track_.Source().Remote());
+ DCHECK(local_track_audio_sink_);
DCHECK_EQ(web_track_.Source().GetType(),
blink::WebMediaStreamSource::kTypeAudio);
MediaStreamAudioTrack* audio_track = MediaStreamAudioTrack::From(web_track_);
DCHECK(audio_track);
- DCHECK(local_track_audio_sink_);
audio_track->RemoveSink(local_track_audio_sink_.get());
local_track_audio_sink_.reset();
webrtc_track_ = nullptr;
@@ -233,7 +224,7 @@ void WebRtcMediaStreamTrackAdapter::DisposeLocalAudioTrack() {
void WebRtcMediaStreamTrackAdapter::DisposeLocalVideoTrack() {
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
- DCHECK(!web_track_.Source().Remote());
+ DCHECK(local_track_video_sink_);
DCHECK_EQ(web_track_.Source().GetType(),
blink::WebMediaStreamSource::kTypeVideo);
local_track_video_sink_.reset();
@@ -244,7 +235,7 @@ void WebRtcMediaStreamTrackAdapter::DisposeLocalVideoTrack() {
void WebRtcMediaStreamTrackAdapter::DisposeRemoteAudioTrack() {
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
- DCHECK(web_track_.Source().Remote());
+ DCHECK(remote_audio_track_adapter_);
DCHECK_EQ(web_track_.Source().GetType(),
blink::WebMediaStreamSource::kTypeAudio);
factory_->GetWebRtcSignalingThread()->PostTask(
@@ -257,7 +248,7 @@ void WebRtcMediaStreamTrackAdapter::DisposeRemoteAudioTrack() {
void WebRtcMediaStreamTrackAdapter::DisposeRemoteVideoTrack() {
DCHECK(main_thread_->BelongsToCurrentThread());
DCHECK(!is_initialized_);
- DCHECK(web_track_.Source().Remote());
+ DCHECK(remote_video_track_adapter_);
DCHECK_EQ(web_track_.Source().GetType(),
blink::WebMediaStreamSource::kTypeVideo);
FinalizeRemoteTrackDisposingOnMainThread();

Powered by Google App Engine
This is Rietveld 408576698