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

Side by Side Diff: content/renderer/media/remote_media_stream_impl.cc

Issue 1647773002: MediaStream audio sourcing: Bypass audio processing for non-WebRTC cases. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: NOT FOR REVIEW -- This will be broken-up across multiple CLs. Created 4 years, 10 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/remote_media_stream_impl.h" 5 #include "content/renderer/media/remote_media_stream_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/location.h" 13 #include "base/location.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/strings/utf_string_conversions.h" 16 #include "base/strings/utf_string_conversions.h"
17 #include "base/thread_task_runner_handle.h" 17 #include "base/thread_task_runner_handle.h"
18 #include "content/renderer/media/media_stream.h" 18 #include "content/renderer/media/media_stream.h"
19 #include "content/renderer/media/media_stream_track.h" 19 #include "content/renderer/media/media_stream_track.h"
20 #include "content/renderer/media/media_stream_video_track.h" 20 #include "content/renderer/media/media_stream_video_track.h"
21 #include "content/renderer/media/webrtc/media_stream_remote_audio_track.h"
22 #include "content/renderer/media/webrtc/media_stream_remote_video_source.h" 21 #include "content/renderer/media/webrtc/media_stream_remote_video_source.h"
23 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 22 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
23 #include "content/renderer/media/webrtc/peer_connection_remote_audio_source.h"
24 #include "content/renderer/media/webrtc/track_observer.h" 24 #include "content/renderer/media/webrtc/track_observer.h"
25 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 25 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
26 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 26 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
27 #include "third_party/WebKit/public/platform/WebString.h" 27 #include "third_party/WebKit/public/platform/WebString.h"
28 28
29 namespace content { 29 namespace content {
30 namespace { 30 namespace {
31 31
32 template <typename WebRtcTrackVector, typename AdapterType> 32 template <typename WebRtcTrackVector, typename AdapterType>
33 void CreateAdaptersForTracks( 33 void CreateAdaptersForTracks(
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 #if DCHECK_IS_ON() 231 #if DCHECK_IS_ON()
232 DCHECK(!unregistered_); 232 DCHECK(!unregistered_);
233 unregistered_ = true; 233 unregistered_ = true;
234 #endif 234 #endif
235 observed_track()->UnregisterObserver(this); 235 observed_track()->UnregisterObserver(this);
236 } 236 }
237 237
238 void RemoteAudioTrackAdapter::InitializeWebkitAudioTrack() { 238 void RemoteAudioTrackAdapter::InitializeWebkitAudioTrack() {
239 InitializeWebkitTrack(blink::WebMediaStreamSource::TypeAudio); 239 InitializeWebkitTrack(blink::WebMediaStreamSource::TypeAudio);
240 240
241 webkit_track()->source().setExtraData( 241 MediaStreamAudioSource* const source =
242 new MediaStreamRemoteAudioSource(observed_track().get())); 242 new PeerConnectionRemoteAudioSource(observed_track().get());
243 webkit_track()->setExtraData( 243 webkit_track()->source().setExtraData(source); // Takes ownership.
244 new MediaStreamRemoteAudioTrack( 244 source->ConnectToTrack(*(webkit_track()));
245 webkit_track()->source(), webkit_track()->isEnabled()));
246 } 245 }
247 246
248 void RemoteAudioTrackAdapter::OnChanged() { 247 void RemoteAudioTrackAdapter::OnChanged() {
249 main_thread_->PostTask(FROM_HERE, 248 main_thread_->PostTask(FROM_HERE,
250 base::Bind(&RemoteAudioTrackAdapter::OnChangedOnMainThread, 249 base::Bind(&RemoteAudioTrackAdapter::OnChangedOnMainThread,
251 this, observed_track()->state())); 250 this, observed_track()->state()));
252 } 251 }
253 252
254 void RemoteAudioTrackAdapter::OnChangedOnMainThread( 253 void RemoteAudioTrackAdapter::OnChangedOnMainThread(
255 webrtc::MediaStreamTrackInterface::TrackState state) { 254 webrtc::MediaStreamTrackInterface::TrackState state) {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 // Unregister all the audio track observers that were not used. 424 // Unregister all the audio track observers that were not used.
426 // We need to do this before destruction since the observers can't unregister 425 // We need to do this before destruction since the observers can't unregister
427 // from within the dtor due to a race. 426 // from within the dtor due to a race.
428 for (auto& track : *audio_tracks.get()) { 427 for (auto& track : *audio_tracks.get()) {
429 if (track.get()) 428 if (track.get())
430 track->Unregister(); 429 track->Unregister();
431 } 430 }
432 } 431 }
433 432
434 } // namespace content 433 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/mock_media_stream_registry.cc ('k') | content/renderer/media/rtc_peer_connection_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698