From 30b55651cf9500b1ed8917e4d040513559ad3e83 Mon Sep 17 00:00:00 2001 From: tommi Date: Fri, 11 Dec 2015 19:43:50 -0800 Subject: Add support for unmixed audio from remote WebRTC remote tracks. To begin with WebAudio will have support for this with more areas to come (e.g. MediaStreamRecording) BUG=121673 Review URL: https://codereview.chromium.org/1514143003 Cr-Commit-Position: refs/heads/master@{#364885} --- content/public/renderer/media_stream_audio_sink.cc | 38 ++++------------------ 1 file changed, 7 insertions(+), 31 deletions(-) (limited to 'content/public/renderer') diff --git a/content/public/renderer/media_stream_audio_sink.cc b/content/public/renderer/media_stream_audio_sink.cc index 507bef0..a6e01a9 100644 --- a/content/public/renderer/media_stream_audio_sink.cc +++ b/content/public/renderer/media_stream_audio_sink.cc @@ -5,8 +5,7 @@ #include "content/public/renderer/media_stream_audio_sink.h" #include "base/logging.h" -#include "content/renderer/media/media_stream_track.h" -#include "content/renderer/media/webrtc_local_audio_track.h" +#include "content/renderer/media/media_stream_audio_track.h" #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" @@ -16,44 +15,21 @@ void MediaStreamAudioSink::AddToAudioTrack( MediaStreamAudioSink* sink, const blink::WebMediaStreamTrack& track) { DCHECK(track.source().type() == blink::WebMediaStreamSource::TypeAudio); - MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track); - // TODO(xians): Support remote audio track. - if (!native_track->is_local_track()) { - LOG(ERROR) << "Can't add the sink to a remote audio track"; - return; - } - - WebRtcLocalAudioTrack* audio_track = - static_cast(native_track); - audio_track->AddSink(sink); + MediaStreamAudioTrack* native_track = MediaStreamAudioTrack::GetTrack(track); + native_track->AddSink(sink); } void MediaStreamAudioSink::RemoveFromAudioTrack( MediaStreamAudioSink* sink, const blink::WebMediaStreamTrack& track) { - MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track); - // TODO(xians): Support remote audio track. - if (!native_track->is_local_track()) { - LOG(ERROR) << "Can't remove the sink from a remote audio track"; - return; - } - - WebRtcLocalAudioTrack* audio_track = - static_cast(native_track); - audio_track->RemoveSink(sink); + MediaStreamAudioTrack* native_track = MediaStreamAudioTrack::GetTrack(track); + native_track->RemoveSink(sink); } media::AudioParameters MediaStreamAudioSink::GetFormatFromAudioTrack( const blink::WebMediaStreamTrack& track) { - MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track); - if (!native_track->is_local_track()) { - LOG(ERROR) << "Can't get format from a remote audio track"; - return media::AudioParameters(); - } - - WebRtcLocalAudioTrack* audio_track = - static_cast(native_track); - return audio_track->GetOutputFormat(); + MediaStreamAudioTrack* native_track = MediaStreamAudioTrack::GetTrack(track); + return native_track->GetOutputFormat(); } } // namespace content -- cgit v1.1