| Index: content/renderer/media/webrtc_audio_renderer.cc
|
| diff --git a/content/renderer/media/webrtc_audio_renderer.cc b/content/renderer/media/webrtc_audio_renderer.cc
|
| index 49fc1857f83b3771212249d1dc3dec6efa067201..e993dc26f74fb923a5a3fb1211e366e2783fb65d 100644
|
| --- a/content/renderer/media/webrtc_audio_renderer.cc
|
| +++ b/content/renderer/media/webrtc_audio_renderer.cc
|
| @@ -15,6 +15,7 @@
|
| #include "content/renderer/media/media_stream_audio_track.h"
|
| #include "content/renderer/media/media_stream_dispatcher.h"
|
| #include "content/renderer/media/media_stream_track.h"
|
| +#include "content/renderer/media/webrtc/peer_connection_remote_audio_source.h"
|
| #include "content/renderer/media/webrtc_audio_device_impl.h"
|
| #include "content/renderer/media/webrtc_logging.h"
|
| #include "content/renderer/render_frame_impl.h"
|
| @@ -586,14 +587,17 @@ void WebRtcAudioRenderer::OnPlayStateChanged(
|
| media_stream.audioTracks(web_tracks);
|
|
|
| for (const blink::WebMediaStreamTrack& web_track : web_tracks) {
|
| - MediaStreamAudioTrack* track = MediaStreamAudioTrack::GetTrack(web_track);
|
| // WebRtcAudioRenderer can only render audio tracks received from a remote
|
| // peer. Since the actual MediaStream is mutable from JavaScript, we need
|
| // to make sure |web_track| is actually a remote track.
|
| - if (track->is_local_track())
|
| + PeerConnectionRemoteAudioTrack* const remote_track =
|
| + PeerConnectionRemoteAudioTrack::From(
|
| + MediaStreamAudioTrack::Get(web_track));
|
| + if (!remote_track)
|
| continue;
|
| webrtc::AudioSourceInterface* source =
|
| - track->GetAudioAdapter()->GetSource();
|
| + static_cast<webrtc::AudioTrackInterface*>(remote_track->track_interface())
|
| + ->GetSource();
|
| DCHECK(source);
|
| if (!state->playing()) {
|
| if (RemovePlayingState(source, state))
|
|
|