Chromium Code Reviews| Index: content/renderer/media/audio_device.h |
| =================================================================== |
| --- content/renderer/media/audio_device.h (revision 113847) |
| +++ content/renderer/media/audio_device.h (working copy) |
| @@ -81,9 +81,13 @@ |
| public: |
| class CONTENT_EXPORT RenderCallback { |
| public: |
| - virtual void Render(const std::vector<float*>& audio_data, |
| - size_t number_of_frames, |
| - size_t audio_delay_milliseconds) = 0; |
| + // Fills entire buffer of length |number_of_frames| but returns actual |
| + // number of frames it got from its source (|number_of_frames| in case of |
| + // continuous stream). That actual number of frames is passed to host |
| + // together with PCM audio data and host is free to use or ignore it. |
| + virtual size_t Render(const std::vector<float*>& audio_data, |
| + size_t number_of_frames, |
| + size_t audio_delay_milliseconds) = 0; |
| protected: |
| virtual ~RenderCallback() {} |
| }; |
| @@ -159,10 +163,13 @@ |
| void Send(IPC::Message* message); |
| - // Method called on the audio thread (+ one call on the IO thread) ---------- |
| - // Calls the client's callback for rendering audio. There will also be one |
| - // initial call on the IO thread before the audio thread has been created. |
| - void FireRenderCallback(int16* data); |
| + // Method called on the audio thread ---------------------------------------- |
| + // Calls the client's callback for rendering audio. |
| + // Returns actual number of filled frames that callback returned. This length |
| + // is passed to host at the end of the shared memory (i.e. buffer). In case of |
| + // continuous stream host just ignores it and assumes buffer is always filled |
| + // to it capacity. |
|
henrika (OOO until Aug 14)
2011/12/16 10:52:17
its
enal1
2011/12/16 16:48:23
Done.
|
| + size_t FireRenderCallback(int16* data); |
| // DelegateSimpleThread::Delegate implementation. |
| virtual void Run() OVERRIDE; |