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

Unified Diff: content/renderer/media/webrtc_local_audio_track.h

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_track.h
diff --git a/content/renderer/media/webrtc_local_audio_track.h b/content/renderer/media/webrtc_local_audio_track.h
index 6952722068cfb327ed60977e2764e817c3f9a46d..b53eab2d239acf4e6fbfc49f861858dd54ed3e1c 100644
--- a/content/renderer/media/webrtc_local_audio_track.h
+++ b/content/renderer/media/webrtc_local_audio_track.h
@@ -10,6 +10,7 @@
#include "base/synchronization/lock.h"
#include "base/threading/thread_checker.h"
+#include "content/renderer/media/media_stream_audio_track_sink.h"
#include "content/renderer/media/webrtc_audio_device_impl.h"
#include "content/renderer/media/webrtc_local_audio_source_provider.h"
#include "third_party/libjingle/source/talk/app/webrtc/mediaconstraintsinterface.h"
@@ -27,12 +28,14 @@ class AudioBus;
namespace content {
+class MediaStreamAudioSink;
+class MediaStreamAudioSinkOwner;
+class PeerConnectionAudioSink;
class WebAudioCapturerSource;
class WebRtcAudioCapturer;
-class WebRtcAudioCapturerSinkOwner;
// A WebRtcLocalAudioTrack instance contains the implementations of
-// MediaStreamTrack and WebRtcAudioCapturerSink.
+// MediaStreamTrack and MediaStreamAudioSink.
// When an instance is created, it will register itself as a track to the
// WebRtcAudioCapturer to get the captured data, and forward the data to
// its |sinks_|. The data flow can be stopped by disabling the audio track.
@@ -48,14 +51,20 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
webrtc::AudioSourceInterface* track_source,
const webrtc::MediaConstraintsInterface* constraints);
- // Add a sink to the track. This function will trigger a SetCaptureFormat()
+ // Add a sink to the track. This function will trigger a OnSetFormat()
// call on the |sink|.
// Called on the main render thread.
- void AddSink(WebRtcAudioCapturerSink* sink);
+ void AddSink(MediaStreamAudioSink* sink);
// Remove a sink from the track.
// Called on the main render thread.
- void RemoveSink(WebRtcAudioCapturerSink* sink);
+ void RemoveSink(MediaStreamAudioSink* sink);
+
+ // Add/remove PeerConnection sink to/from the track.
+ // TODO(xians): Remove these two methods after PeerConnection can use the
+ // same sink interface as MediaStreamAudioSink.
+ void AddSink(PeerConnectionAudioSink* sink);
+ void RemoveSink(PeerConnectionAudioSink* sink);
// Starts the local audio track. Called on the main render thread and
// should be called only once when audio track is created.
@@ -75,7 +84,7 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
// Method called by the capturer to set the audio parameters used by source
// of the capture data..
// Call on the capture audio thread.
- void SetCaptureFormat(const media::AudioParameters& params);
+ void OnSetFormat(const media::AudioParameters& params);
blink::WebAudioSourceProvider* audio_source_provider() const {
return source_provider_.get();
@@ -92,7 +101,7 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
virtual ~WebRtcLocalAudioTrack();
private:
- typedef std::list<scoped_refptr<WebRtcAudioCapturerSinkOwner> > SinkList;
+ typedef std::list<scoped_refptr<MediaStreamAudioTrackSink> > SinkList;
// cricket::AudioCapturer implementation.
virtual void AddChannel(int channel_id) OVERRIDE;

Powered by Google App Engine
This is Rietveld 408576698