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

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

Issue 1966043006: Revert of MediaStream audio: Refactor 3 separate "glue" implementations into one. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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/media_stream_renderer_factory_impl.h" 5 #include "content/renderer/media/media_stream_renderer_factory_impl.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "content/renderer/media/media_stream.h" 8 #include "content/renderer/media/media_stream.h"
9 #include "content/renderer/media/media_stream_audio_track.h" 9 #include "content/renderer/media/media_stream_audio_track.h"
10 #include "content/renderer/media/media_stream_video_renderer_sink.h" 10 #include "content/renderer/media/media_stream_video_renderer_sink.h"
11 #include "content/renderer/media/media_stream_video_track.h" 11 #include "content/renderer/media/media_stream_video_track.h"
12 #include "content/renderer/media/track_audio_renderer.h" 12 #include "content/renderer/media/track_audio_renderer.h"
13 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 13 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
14 #include "content/renderer/media/webrtc/peer_connection_remote_audio_source.h"
15 #include "content/renderer/media/webrtc_audio_renderer.h" 14 #include "content/renderer/media/webrtc_audio_renderer.h"
16 #include "content/renderer/render_thread_impl.h" 15 #include "content/renderer/render_thread_impl.h"
17 #include "media/base/audio_hardware_config.h" 16 #include "media/base/audio_hardware_config.h"
18 #include "third_party/WebKit/public/platform/WebMediaStream.h" 17 #include "third_party/WebKit/public/platform/WebMediaStream.h"
19 #include "third_party/webrtc/api/mediastreaminterface.h" 18 #include "third_party/webrtc/api/mediastreaminterface.h"
20 19
21 namespace content { 20 namespace content {
22 21
23 namespace { 22 namespace {
24 23
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 MediaStreamAudioTrack::From(audio_tracks[0]); 107 MediaStreamAudioTrack::From(audio_tracks[0]);
109 if (!audio_track) { 108 if (!audio_track) {
110 // This can happen if the track was cloned. 109 // This can happen if the track was cloned.
111 // TODO(tommi, perkj): Fix cloning of tracks to handle extra data too. 110 // TODO(tommi, perkj): Fix cloning of tracks to handle extra data too.
112 LOG(ERROR) << "No native track for WebMediaStreamTrack."; 111 LOG(ERROR) << "No native track for WebMediaStreamTrack.";
113 return nullptr; 112 return nullptr;
114 } 113 }
115 114
116 // If the track has a local source, or is a remote track that does not use the 115 // If the track has a local source, or is a remote track that does not use the
117 // WebRTC audio pipeline, return a new TrackAudioRenderer instance. 116 // WebRTC audio pipeline, return a new TrackAudioRenderer instance.
118 if (!PeerConnectionRemoteAudioTrack::From(audio_track)) { 117 //
118 // TODO(miu): In a soon up-coming change, I'll introduce a cleaner way (i.e.,
119 // rather than calling GetAudioAdapter()) to determine whether a remote source
120 // is via WebRTC or something else.
121 if (audio_track->is_local_track() || !audio_track->GetAudioAdapter()) {
119 // TODO(xians): Add support for the case where the media stream contains 122 // TODO(xians): Add support for the case where the media stream contains
120 // multiple audio tracks. 123 // multiple audio tracks.
121 DVLOG(1) << "Creating TrackAudioRenderer for " 124 DVLOG(1) << "Creating TrackAudioRenderer for "
122 << (audio_track->is_local_track() ? "local" : "remote") 125 << (audio_track->is_local_track() ? "local" : "remote")
123 << " track."; 126 << " track.";
124 return new TrackAudioRenderer(audio_tracks[0], render_frame_id, 127 return new TrackAudioRenderer(audio_tracks[0], render_frame_id,
125 0 /* no session_id */, device_id, 128 0 /* no session_id */, device_id,
126 security_origin); 129 security_origin);
127 } 130 }
128 131
(...skipping 14 matching lines...) Expand all
143 device_id, security_origin); 146 device_id, security_origin);
144 147
145 if (!audio_device->SetAudioRenderer(renderer.get())) 148 if (!audio_device->SetAudioRenderer(renderer.get()))
146 return nullptr; 149 return nullptr;
147 } 150 }
148 151
149 return renderer->CreateSharedAudioRendererProxy(web_stream); 152 return renderer->CreateSharedAudioRendererProxy(web_stream);
150 } 153 }
151 154
152 } // namespace content 155 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_center.cc ('k') | content/renderer/media/media_stream_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698