Index: content/renderer/media/media_stream_impl.cc |
diff --git a/content/renderer/media/media_stream_impl.cc b/content/renderer/media/media_stream_impl.cc |
index 1deb444221c2c7429f1ab6fcc415db29946e4f0a..457649d97ef6bcdfb43cc7999fe44f5b8f66112d 100644 |
--- a/content/renderer/media/media_stream_impl.cc |
+++ b/content/renderer/media/media_stream_impl.cc |
@@ -271,7 +271,14 @@ MediaStreamImpl::GetAudioRenderer(const GURL& url) { |
if (extra_data->is_local()) { |
// Create the local audio renderer if the stream contains audio tracks. |
- return CreateLocalAudioRenderer(extra_data->stream().get()); |
+ blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
+ web_stream.audioTracks(audio_tracks); |
+ if (audio_tracks.isEmpty()) |
+ return NULL; |
+ |
+ // TODO(xians): Add support for the case that the media stream contains |
+ // multiple audio tracks. |
+ return CreateLocalAudioRenderer(audio_tracks[0]); |
} |
webrtc::MediaStreamInterface* stream = extra_data->stream().get(); |
@@ -799,19 +806,8 @@ scoped_refptr<WebRtcAudioRenderer> MediaStreamImpl::CreateRemoteAudioRenderer( |
scoped_refptr<WebRtcLocalAudioRenderer> |
MediaStreamImpl::CreateLocalAudioRenderer( |
- webrtc::MediaStreamInterface* stream) { |
- if (stream->GetAudioTracks().empty()) |
- return NULL; |
- |
- DVLOG(1) << "MediaStreamImpl::CreateLocalAudioRenderer label:" |
- << stream->label(); |
- |
- webrtc::AudioTrackVector audio_tracks = stream->GetAudioTracks(); |
- DCHECK_EQ(audio_tracks.size(), 1u); |
- webrtc::AudioTrackInterface* audio_track = audio_tracks[0]; |
- DVLOG(1) << "audio_track.kind : " << audio_track->kind() |
- << "audio_track.id : " << audio_track->id() |
- << "audio_track.enabled: " << audio_track->enabled(); |
+ const blink::WebMediaStreamTrack& audio_track) { |
+ DVLOG(1) << "MediaStreamImpl::CreateLocalAudioRenderer"; |
int session_id = 0, sample_rate = 0, buffer_size = 0; |
if (!GetAuthorizedDeviceInfoForAudioRenderer(&session_id, |
@@ -823,7 +819,7 @@ MediaStreamImpl::CreateLocalAudioRenderer( |
// Create a new WebRtcLocalAudioRenderer instance and connect it to the |
// existing WebRtcAudioCapturer so that the renderer can use it as source. |
return new WebRtcLocalAudioRenderer( |
- static_cast<WebRtcLocalAudioTrack*>(audio_track), |
+ audio_track, |
RenderViewObserver::routing_id(), |
session_id, |
buffer_size); |