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 |