| Index: media/audio/audio_output_controller.h
 | 
| diff --git a/media/audio/audio_output_controller.h b/media/audio/audio_output_controller.h
 | 
| index 03b095935bd4d521e241b0cef2305f99505252ce..3741c09c3920389e3c8d10a0f20d5879d61197bb 100644
 | 
| --- a/media/audio/audio_output_controller.h
 | 
| +++ b/media/audio/audio_output_controller.h
 | 
| @@ -92,9 +92,9 @@ class MEDIA_EXPORT AudioOutputController
 | 
|      // prepare more data and perform synchronization.
 | 
|      virtual void UpdatePendingBytes(uint32 bytes) = 0;
 | 
|  
 | 
| -    // Read certain amount of data into |data|. This method returns if some
 | 
| -    // data is available.
 | 
| -    virtual uint32 Read(void* data, uint32 size) = 0;
 | 
| +    // Attempt to completely fill |audio_bus|, return the actual number of
 | 
| +    // frames that could be read.
 | 
| +    virtual int Read(AudioBus* audio_bus) = 0;
 | 
|  
 | 
|      // Close this synchronous reader.
 | 
|      virtual void Close() = 0;
 | 
| @@ -144,9 +144,8 @@ class MEDIA_EXPORT AudioOutputController
 | 
|  
 | 
|    ///////////////////////////////////////////////////////////////////////////
 | 
|    // AudioSourceCallback methods.
 | 
| -  virtual uint32 OnMoreData(uint8* dest,
 | 
| -                            uint32 max_size,
 | 
| -                            AudioBuffersState buffers_state) OVERRIDE;
 | 
| +  virtual int OnMoreData(AudioBus* audio_bus,
 | 
| +                         AudioBuffersState buffers_state) OVERRIDE;
 | 
|    virtual void OnError(AudioOutputStream* stream, int code) OVERRIDE;
 | 
|    virtual void WaitTillDataReady() OVERRIDE;
 | 
|  
 | 
| @@ -172,10 +171,11 @@ class MEDIA_EXPORT AudioOutputController
 | 
|    static const int kPollPauseInMilliseconds;
 | 
|  
 | 
|    AudioOutputController(EventHandler* handler,
 | 
| -                        SyncReader* sync_reader);
 | 
| +                        SyncReader* sync_reader,
 | 
| +                        const AudioParameters& params);
 | 
|  
 | 
|    // The following methods are executed on the audio manager thread.
 | 
| -  void DoCreate(AudioManager* audio_manager, const AudioParameters& params);
 | 
| +  void DoCreate(AudioManager* audio_manager);
 | 
|    void DoPlay();
 | 
|    void PollAndStartIfDataReady();
 | 
|    void DoPause();
 | 
| @@ -217,6 +217,8 @@ class MEDIA_EXPORT AudioOutputController
 | 
|    // Number of times left.
 | 
|    int number_polling_attempts_left_;
 | 
|  
 | 
| +  AudioParameters params_;
 | 
| +
 | 
|    // Used to post delayed tasks to ourselves that we can cancel.
 | 
|    // We don't want the tasks to hold onto a reference as it will slow down
 | 
|    // shutdown and force it to wait for the most delayed task.
 | 
| 
 |