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

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

Issue 1514143003: Add support for unmixed audio from remote WebRTC remote tracks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years 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/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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698