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

Unified Diff: content/renderer/media/webrtc_local_audio_renderer.cc

Issue 90743004: Add generic interfaces for the sinks of the media stream audio track (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed the nits. Created 7 years 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webrtc_local_audio_renderer.cc
diff --git a/content/renderer/media/webrtc_local_audio_renderer.cc b/content/renderer/media/webrtc_local_audio_renderer.cc
index 017f63239e275bcb0c4fcac96d48f3a4fe4fb4ed..6a92d906d32d36585588e42762d22ac4a91d6f91 100644
--- a/content/renderer/media/webrtc_local_audio_renderer.cc
+++ b/content/renderer/media/webrtc_local_audio_renderer.cc
@@ -56,21 +56,16 @@ void WebRtcLocalAudioRenderer::OnRenderError() {
NOTIMPLEMENTED();
}
-// content::WebRtcAudioCapturerSink implementation
-int WebRtcLocalAudioRenderer::CaptureData(const std::vector<int>& channels,
- const int16* audio_data,
- int sample_rate,
- int number_of_channels,
- int number_of_frames,
- int audio_delay_milliseconds,
- int current_volume,
- bool need_audio_processing,
- bool key_pressed) {
+// content::MediaStreamAudioSink implementation
+void WebRtcLocalAudioRenderer::OnData(const int16* audio_data,
+ int sample_rate,
+ int number_of_channels,
+ int number_of_frames) {
DCHECK(capture_thread_checker_.CalledOnValidThread());
TRACE_EVENT0("audio", "WebRtcLocalAudioRenderer::CaptureData");
base::AutoLock auto_lock(thread_lock_);
if (!playing_ || !volume_ || !loopback_fifo_)
- return 0;
+ return;
// Push captured audio to FIFO so it can be read by a local sink.
if (loopback_fifo_->frames() + number_of_frames <=
@@ -88,13 +83,11 @@ int WebRtcLocalAudioRenderer::CaptureData(const std::vector<int>& channels,
} else {
DVLOG(1) << "FIFO is full";
}
-
- return 0;
}
-void WebRtcLocalAudioRenderer::SetCaptureFormat(
+void WebRtcLocalAudioRenderer::OnSetFormat(
const media::AudioParameters& params) {
- DVLOG(1) << "WebRtcLocalAudioRenderer::SetCaptureFormat()";
+ DVLOG(1) << "WebRtcLocalAudioRenderer::OnSetFormat()";
// If the source is restarted, we might have changed to another capture
// thread.
capture_thread_checker_.DetachFromThread();
@@ -148,7 +141,7 @@ void WebRtcLocalAudioRenderer::SetCaptureFormat(
// WebRtcLocalAudioRenderer::WebRtcLocalAudioRenderer implementation.
WebRtcLocalAudioRenderer::WebRtcLocalAudioRenderer(
- WebRtcLocalAudioTrack* audio_track,
+ const blink::WebMediaStreamTrack& audio_track,
int source_render_view_id,
int session_id,
int frames_per_buffer)
@@ -160,7 +153,6 @@ WebRtcLocalAudioRenderer::WebRtcLocalAudioRenderer(
frames_per_buffer_(frames_per_buffer),
volume_(0.0),
sink_started_(false) {
- DCHECK(audio_track);
DVLOG(1) << "WebRtcLocalAudioRenderer::WebRtcLocalAudioRenderer()";
}
@@ -174,11 +166,8 @@ void WebRtcLocalAudioRenderer::Start() {
DVLOG(1) << "WebRtcLocalAudioRenderer::Start()";
DCHECK(message_loop_->BelongsToCurrentThread());
- if (!audio_track_)
- return; // Stop() has been called, so never start again.
-
// We get audio data from |audio_track_|...
- audio_track_->AddSink(this);
+ MediaStreamAudioSink::AddToAudioTrack(this, audio_track_);
// ...and |sink_| will get audio data from us.
DCHECK(!sink_.get());
sink_ = AudioDeviceFactory::NewOutputDevice(source_render_view_id_);
@@ -213,12 +202,7 @@ void WebRtcLocalAudioRenderer::Stop() {
sink_started_ = false;
// Ensure that the capturer stops feeding us with captured audio.
- // Note that, we do not stop the capturer here since it may still be used by
- // the WebRTC ADM.
- if (audio_track_) {
- audio_track_->RemoveSink(this);
- audio_track_ = NULL;
- }
+ MediaStreamAudioSink::RemoveFromAudioTrack(this, audio_track_);
}
void WebRtcLocalAudioRenderer::Play() {
« no previous file with comments | « content/renderer/media/webrtc_local_audio_renderer.h ('k') | content/renderer/media/webrtc_local_audio_source_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698