OLD | NEW |
---|---|
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/media_stream_video_webrtc_sink.h" | 10 #include "content/renderer/media/webrtc/media_stream_video_webrtc_sink.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 MediaStreamAudioTrack* native_track = MediaStreamAudioTrack::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 NOTIMPLEMENTED() << "webrtc audio track can not be created from a remote " | 86 NOTIMPLEMENTED() << "webrtc audio track can not be created from a remote " |
87 << "audio track."; | 87 << "audio track."; |
88 return; | 88 return; |
89 } | 89 } |
90 | 90 |
91 // This is a local audio track. | 91 // This is a local audio track. |
92 const blink::WebMediaStreamSource& source = track.source(); | 92 const blink::WebMediaStreamSource& source = track.source(); |
93 MediaStreamAudioSource* audio_source = | 93 MediaStreamAudioSource* audio_source = |
94 static_cast<MediaStreamAudioSource*>(source.extraData()); | 94 static_cast<MediaStreamAudioSource*>(source.extraData()); |
95 if (audio_source && audio_source->GetAudioCapturer().get()) | 95 if (audio_source && audio_source->GetAudioCapturer().get()) |
96 audio_source->GetAudioCapturer()->EnablePeerConnectionMode(); | 96 audio_source->GetAudioCapturer()->EnablePeerConnectionMode(); |
perkj_chrome
2015/12/11 12:31:38
Fyi, here is interesting code... This is were I wo
tommi (sloooow) - chröme
2015/12/11 15:36:51
Ack. I need to wrap my head around what's going o
| |
97 | 97 |
98 webrtc_media_stream_->AddTrack(native_track->GetAudioAdapter()); | 98 webrtc_media_stream_->AddTrack(native_track->GetAudioAdapter()); |
99 } | 99 } |
100 | 100 |
101 void WebRtcMediaStreamAdapter::CreateVideoTrack( | 101 void WebRtcMediaStreamAdapter::CreateVideoTrack( |
102 const blink::WebMediaStreamTrack& track) { | 102 const blink::WebMediaStreamTrack& track) { |
103 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo); | 103 DCHECK_EQ(track.source().type(), blink::WebMediaStreamSource::TypeVideo); |
104 MediaStreamVideoWebRtcSink* adapter = | 104 MediaStreamVideoWebRtcSink* adapter = |
105 new MediaStreamVideoWebRtcSink(track, factory_); | 105 new MediaStreamVideoWebRtcSink(track, factory_); |
106 video_adapters_.push_back(adapter); | 106 video_adapters_.push_back(adapter); |
107 webrtc_media_stream_->AddTrack(adapter->webrtc_video_track()); | 107 webrtc_media_stream_->AddTrack(adapter->webrtc_video_track()); |
108 } | 108 } |
109 | 109 |
110 } // namespace content | 110 } // namespace content |
OLD | NEW |