Chromium Code Reviews| Index: media/audio/audio_source_diverter.h |
| diff --git a/media/audio/audio_source_diverter.h b/media/audio/audio_source_diverter.h |
| index 787ddec7867dfd693ce04623ca1bb23d4ca2c949..79a49a6c302b56cf74fa072f87aaf48e5e62678e 100644 |
| --- a/media/audio/audio_source_diverter.h |
| +++ b/media/audio/audio_source_diverter.h |
| @@ -5,6 +5,8 @@ |
| #ifndef MEDIA_AUDIO_AUDIO_SOURCE_DIVERTER_H_ |
| #define MEDIA_AUDIO_AUDIO_SOURCE_DIVERTER_H_ |
| +#include "base/time/time.h" |
| +#include "media/base/audio_bus.h" |
| #include "media/base/media_export.h" |
| // Audio sources may optionally implement AudioSourceDiverter to temporarily |
| @@ -17,6 +19,13 @@ namespace media { |
| class AudioOutputStream; |
| class AudioParameters; |
| +class MEDIA_EXPORT AudioPushSink { |
| + public: |
| + virtual void OnData(const AudioBus& source, |
| + base::TimeTicks reference_time) = 0; |
| + virtual void Close() = 0; |
|
miu
2016/05/06 22:29:50
Please add a comment for Close() here (that it has
qiangchen
2016/05/10 22:36:53
Done.
|
| +}; |
| + |
| class MEDIA_EXPORT AudioSourceDiverter { |
| public: |
| // Returns the audio parameters of the divertable audio data. |
| @@ -31,7 +40,15 @@ public: |
| // responsible for making sure the stream is closed, perhaps asynchronously. |
| virtual void StopDiverting() = 0; |
| -protected: |
| + // Start duplicating the current audio stream, and push the copied data into |
| + // |sink|. |
| + virtual void StartDuplicating(AudioPushSink* sink) = 0; |
| + |
| + // Stop duplicating for the specified |sink|. The AudioSourceDiverter is |
| + // responsible for making sure the stream is closed, perhaps asynchronously. |
|
miu
2016/05/06 22:29:50
nit: s/stream is closed/sink is closed/
qiangchen
2016/05/10 22:36:53
Done.
|
| + virtual void StopDuplicating(AudioPushSink* sink) = 0; |
| + |
| + protected: |
| virtual ~AudioSourceDiverter() {} |
| }; |