Home | History | Annotate | Download | only in audio
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_
      6 #define MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_
      7 
      8 #include "media/base/media_export.h"
      9 
     10 namespace media {
     11 
     12 // AudioBuffersState struct stores current state of audio buffers.
     13 // It is used for audio synchronization.
     14 struct MEDIA_EXPORT AudioBuffersState {
     15   AudioBuffersState();
     16   AudioBuffersState(int pending_bytes, int hardware_delay_bytes);
     17 
     18   int total_bytes() {
     19     return pending_bytes + hardware_delay_bytes;
     20   }
     21 
     22   // Number of bytes we currently have in our software buffer.
     23   int pending_bytes;
     24 
     25   // Number of bytes that have been written to the device, but haven't
     26   // been played yet.
     27   int hardware_delay_bytes;
     28 };
     29 
     30 }  // namespace media
     31 
     32 #endif  // MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_
     33