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

Side by Side Diff: content/renderer/media/webrtc/webrtc_media_stream_adapter.cc

Issue 503683003: Remove implicit conversions from scoped_refptr to T* in content/renderer/media/webrtc* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/webrtc/webrtc_media_stream_adapter.h" 5 #include "content/renderer/media/webrtc/webrtc_media_stream_adapter.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/renderer/media/media_stream_audio_source.h" 8 #include "content/renderer/media/media_stream_audio_source.h"
9 #include "content/renderer/media/media_stream_track.h" 9 #include "content/renderer/media/media_stream_track.h"
10 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 10 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 webrtc_media_stream_->RemoveTrack( 57 webrtc_media_stream_->RemoveTrack(
58 webrtc_media_stream_->FindAudioTrack(track_id)); 58 webrtc_media_stream_->FindAudioTrack(track_id));
59 } else { 59 } else {
60 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo); 60 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo);
61 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = 61 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track =
62 webrtc_media_stream_->FindVideoTrack(track_id).get(); 62 webrtc_media_stream_->FindVideoTrack(track_id).get();
63 webrtc_media_stream_->RemoveTrack(webrtc_track.get()); 63 webrtc_media_stream_->RemoveTrack(webrtc_track.get());
64 64
65 for (ScopedVector<WebRtcVideoTrackAdapter>::iterator it = 65 for (ScopedVector<WebRtcVideoTrackAdapter>::iterator it =
66 video_adapters_.begin(); it != video_adapters_.end(); ++it) { 66 video_adapters_.begin(); it != video_adapters_.end(); ++it) {
67 if ((*it)->webrtc_video_track() == webrtc_track) { 67 if ((*it)->webrtc_video_track() == webrtc_track.get()) {
68 video_adapters_.erase(it); 68 video_adapters_.erase(it);
69 break; 69 break;
70 } 70 }
71 } 71 }
72 } 72 }
73 } 73 }
74 74
75 void WebRtcMediaStreamAdapter::CreateAudioTrack( 75 void WebRtcMediaStreamAdapter::CreateAudioTrack(
76 const blink::WebMediaStreamTrack& track) { 76 const blink::WebMediaStreamTrack& track) {
77 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeAudio); 77 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeAudio);
78 // A media stream is connected to a peer connection, enable the 78 // A media stream is connected to a peer connection, enable the
79 // peer connection mode for the sources. 79 // peer connection mode for the sources.
80 MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track); 80 MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track);
81 if (!native_track || !native_track->is_local_track()) { 81 if (!native_track || !native_track->is_local_track()) {
82 // We don't support connecting remote audio tracks to PeerConnection yet. 82 // We don't support connecting remote audio tracks to PeerConnection yet.
83 // See issue http://crbug/344303. 83 // See issue http://crbug/344303.
84 // TODO(xians): Remove this after we support connecting remote audio track 84 // TODO(xians): Remove this after we support connecting remote audio track
85 // to PeerConnection. 85 // to PeerConnection.
86 DLOG(ERROR) << "webrtc audio track can not be created from a remote audio" 86 DLOG(ERROR) << "webrtc audio track can not be created from a remote audio"
87 << " track."; 87 << " track.";
88 NOTIMPLEMENTED(); 88 NOTIMPLEMENTED();
89 return; 89 return;
90 } 90 }
91 91
92 // This is a local audio track. 92 // This is a local audio track.
93 const blink::WebMediaStreamSource& source = track.source(); 93 const blink::WebMediaStreamSource& source = track.source();
94 MediaStreamAudioSource* audio_source = 94 MediaStreamAudioSource* audio_source =
95 static_cast<MediaStreamAudioSource*>(source.extraData()); 95 static_cast<MediaStreamAudioSource*>(source.extraData());
96 if (audio_source && audio_source->GetAudioCapturer()) 96 if (audio_source && audio_source->GetAudioCapturer().get())
97 audio_source->GetAudioCapturer()->EnablePeerConnectionMode(); 97 audio_source->GetAudioCapturer()->EnablePeerConnectionMode();
98 98
99 webrtc_media_stream_->AddTrack(native_track->GetAudioAdapter()); 99 webrtc_media_stream_->AddTrack(native_track->GetAudioAdapter());
100 } 100 }
101 101
102 void WebRtcMediaStreamAdapter::CreateVideoTrack( 102 void WebRtcMediaStreamAdapter::CreateVideoTrack(
103 const blink::WebMediaStreamTrack& track) { 103 const blink::WebMediaStreamTrack& track) {
104 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo); 104 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo);
105 WebRtcVideoTrackAdapter* adapter = 105 WebRtcVideoTrackAdapter* adapter =
106 new WebRtcVideoTrackAdapter(track, factory_); 106 new WebRtcVideoTrackAdapter(track, factory_);
107 video_adapters_.push_back(adapter); 107 video_adapters_.push_back(adapter);
108 webrtc_media_stream_->AddTrack(adapter->webrtc_video_track()); 108 webrtc_media_stream_->AddTrack(adapter->webrtc_video_track());
109 } 109 }
110 110
111 } // namespace content 111 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698