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 total_bytesAudioBuffersState18 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