Chromium Code Reviews| Index: content/public/renderer/media_stream_audio_sink.cc |
| diff --git a/content/public/renderer/media_stream_audio_sink.cc b/content/public/renderer/media_stream_audio_sink.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1f8985ffb10fc3a8f1902dc65268d60505acec49 |
| --- /dev/null |
| +++ b/content/public/renderer/media_stream_audio_sink.cc |
| @@ -0,0 +1,36 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "content/public/renderer/media_stream_audio_sink.h" |
| + |
| +#include "base/logging.h" |
| +#include "content/renderer/media/media_stream_track_extra_data.h" |
| +#include "content/renderer/media/webrtc_local_audio_track.h" |
| +#include "third_party/WebKit/public/platform/WebMediaStreamSource.h" |
| +#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| + |
| +namespace content { |
| + |
| +void AddToAudioTrack(MediaStreamAudioSink* sink, |
| + const blink::WebMediaStreamTrack& track) { |
| + DCHECK(track.source().type() == blink::WebMediaStreamSource::TypeAudio); |
| + MediaStreamTrackExtraData* extra_data = |
|
Alpha Left Google
2013/12/02 19:11:38
track.isNull() can be true and extra_data can also
no longer working on chromium
2013/12/03 11:45:45
The sinks are depending on the track, and they sho
|
| + static_cast<MediaStreamTrackExtraData*>(track.extraData()); |
| + DCHECK(extra_data->is_local_track()); |
| + WebRtcLocalAudioTrack* audio_track = |
| + static_cast<WebRtcLocalAudioTrack*>(extra_data->track().get()); |
| + audio_track->AddSink(sink); |
| +} |
| + |
| +void RemoveFromAudioTrack(MediaStreamAudioSink* sink, |
| + const blink::WebMediaStreamTrack& track) { |
| + MediaStreamTrackExtraData* extra_data = |
| + static_cast<MediaStreamTrackExtraData*>(track.extraData()); |
| + DCHECK(extra_data->is_local_track()); |
| + WebRtcLocalAudioTrack* audio_track = |
| + static_cast<WebRtcLocalAudioTrack*>(extra_data->track().get()); |
| + audio_track->RemoveSink(sink); |
| +} |
| + |
| +} // namespace content |