Index: media/audio/audio_io.h |
diff --git a/media/audio/audio_io.h b/media/audio/audio_io.h |
index 66ff3f2dc98cf7af2324fa1cb58944e29c003342..e09b36eac2f88b61f8c530bcb4f296560cebd80f 100644 |
--- a/media/audio/audio_io.h |
+++ b/media/audio/audio_io.h |
@@ -7,6 +7,7 @@ |
#include <stdint.h> |
+#include "base/time/time.h" |
#include "media/base/audio_bus.h" |
// Low-level audio output support. To make sound there are 3 objects involved: |
@@ -59,13 +60,19 @@ class MEDIA_EXPORT AudioOutputStream { |
public: |
virtual ~AudioSourceCallback() {} |
- // Provide more data by fully filling |dest|. The source will return |
- // the number of frames it filled. |total_bytes_delay| contains current |
- // number of bytes of delay buffered by the AudioOutputStream. |
- // |frames_skipped| contains the number of frames skipped by the consumer. |
- virtual int OnMoreData(AudioBus* dest, |
- uint32_t total_bytes_delay, |
- uint32_t frames_skipped) = 0; |
+ // Provide more data by fully filling |dest|. The source will return the |
+ // number of frames it filled. |delay| is the duration of audio written to |
+ // |dest| in prior calls to OnMoreData() that has not yet been played out, |
+ // and |delay_timestamp| is the time when |delay| was measured. The time |
+ // when the first sample added to |dest| is expected to be played out can be |
+ // calculated by adding |delay| to |delay_timestamp|. The accuracy of |
+ // |delay| and |delay_timestamp| may vary depending on the platform and |
+ // implementation. |prior_frames_skipped| is the number of frames skipped by |
+ // the consumer. |
+ virtual int OnMoreData(base::TimeDelta delay, |
Mikhail
2016/09/20 09:39:02
Thanks for providing this API!
|
+ base::TimeTicks delay_timestamp, |
+ int prior_frames_skipped, |
+ AudioBus* dest) = 0; |
// There was an error while playing a buffer. Audio source cannot be |
// destroyed yet. No direct action needed by the AudioStream, but it is |
@@ -114,14 +121,14 @@ class MEDIA_EXPORT AudioInputStream { |
virtual void OnData(AudioInputStream* stream, |
const AudioBus* source, |
uint32_t hardware_delay_bytes, |
- double volume){}; |
+ double volume) {} |
// TODO(henrika): don't use; to be removed. |
virtual void OnData(AudioInputStream* stream, |
const uint8_t* src, |
uint32_t size, |
uint32_t hardware_delay_bytes, |
- double volume){}; |
+ double volume) {} |
// There was an error while recording audio. The audio sink cannot be |
// destroyed yet. No direct action needed by the AudioInputStream, but it |