Index: talk/app/webrtc/mediastreamprovider.h |
diff --git a/talk/app/webrtc/mediastreamprovider.h b/talk/app/webrtc/mediastreamprovider.h |
index a78b55a68c0a73e95cae68b9ab923c0b5a10200b..9ffbcad176ce02b2af38184c4b63a069e9af301d 100644 |
--- a/talk/app/webrtc/mediastreamprovider.h |
+++ b/talk/app/webrtc/mediastreamprovider.h |
@@ -28,11 +28,12 @@ |
#ifndef TALK_APP_WEBRTC_MEDIASTREAMPROVIDER_H_ |
#define TALK_APP_WEBRTC_MEDIASTREAMPROVIDER_H_ |
+#include "talk/media/base/audiorenderer.h" |
#include "webrtc/base/basictypes.h" |
+#include "webrtc/base/scoped_ptr.h" |
namespace cricket { |
-class AudioRenderer; |
class VideoCapturer; |
class VideoRenderer; |
struct AudioOptions; |
@@ -42,6 +43,8 @@ struct VideoOptions; |
namespace webrtc { |
+class AudioSinkInterface; |
+ |
// TODO(deadbeef): Change the key from an ssrc to a "sender_id" or |
// "receiver_id" string, which will be the MSID in the short term and MID in |
// the long term. |
@@ -67,6 +70,13 @@ class AudioProviderInterface { |
// |volume| is in the range of [0, 10]. |
virtual void SetAudioPlayoutVolume(uint32_t ssrc, double volume) = 0; |
+ // Allows for setting a direct audio sink for an incoming audio source. |
+ // Only one audio sink is supported per ssrc and ownership of the sink is |
+ // passed to the provider. |
+ virtual void SetRawAudioSink( |
+ uint32_t ssrc, |
+ rtc::scoped_ptr<webrtc::AudioSinkInterface> sink) = 0; |
+ |
protected: |
virtual ~AudioProviderInterface() {} |
}; |