| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ | 5 #ifndef MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ |
| 6 #define MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ | 6 #define MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ |
| 7 | 7 |
| 8 #include "base/time.h" | |
| 9 #include "media/base/media_export.h" | 8 #include "media/base/media_export.h" |
| 10 | 9 |
| 11 // AudioBuffersState struct stores current state of audio buffers along with | 10 // AudioBuffersState struct stores current state of audio buffers. |
| 12 // the timestamp of the moment this state corresponds to. It is used for audio | 11 // It is used for audio synchronization. |
| 13 // synchronization. | |
| 14 struct MEDIA_EXPORT AudioBuffersState { | 12 struct MEDIA_EXPORT AudioBuffersState { |
| 15 AudioBuffersState(); | 13 AudioBuffersState(); |
| 16 AudioBuffersState(int pending_bytes, int hardware_delay_bytes); | 14 AudioBuffersState(int pending_bytes, int hardware_delay_bytes); |
| 17 | 15 |
| 18 int total_bytes(); | 16 int total_bytes() { |
| 17 return pending_bytes + hardware_delay_bytes; |
| 18 } |
| 19 | 19 |
| 20 // Number of bytes we currently have in our software buffer. | 20 // Number of bytes we currently have in our software buffer. |
| 21 int pending_bytes; | 21 int pending_bytes; |
| 22 | 22 |
| 23 // Number of bytes that have been written to the device, but haven't | 23 // Number of bytes that have been written to the device, but haven't |
| 24 // been played yet. | 24 // been played yet. |
| 25 int hardware_delay_bytes; | 25 int hardware_delay_bytes; |
| 26 | |
| 27 // Timestamp of the moment when the buffers state was captured. It is used | |
| 28 // to account for the time it takes to deliver AudioBuffersState from | |
| 29 // the browser process to the renderer. | |
| 30 base::Time timestamp; | |
| 31 }; | 26 }; |
| 32 | 27 |
| 33 | |
| 34 #endif // MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ | 28 #endif // MEDIA_AUDIO_AUDIO_BUFFERS_STATE_H_ |
| OLD | NEW |