OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 // Audio rendering unit utilizing an AudioRendererSink to output data. | 5 // Audio rendering unit utilizing an AudioRendererSink to output data. |
6 // | 6 // |
7 // This class lives inside three threads during it's lifetime, namely: | 7 // This class lives inside three threads during it's lifetime, namely: |
8 // 1. Render thread | 8 // 1. Render thread |
9 // Where the object is created. | 9 // Where the object is created. |
10 // 2. Media thread (provided via constructor) | 10 // 2. Media thread (provided via constructor) |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 // Keep track of our outstanding read to |decoder_|. | 242 // Keep track of our outstanding read to |decoder_|. |
243 bool pending_read_; | 243 bool pending_read_; |
244 | 244 |
245 // Keeps track of whether we received and rendered the end of stream buffer. | 245 // Keeps track of whether we received and rendered the end of stream buffer. |
246 bool received_end_of_stream_; | 246 bool received_end_of_stream_; |
247 bool rendered_end_of_stream_; | 247 bool rendered_end_of_stream_; |
248 | 248 |
249 scoped_ptr<AudioClock> audio_clock_; | 249 scoped_ptr<AudioClock> audio_clock_; |
250 | 250 |
251 base::TimeDelta start_timestamp_; | 251 base::TimeDelta start_timestamp_; |
| 252 base::TimeDelta ended_timestamp_; |
252 base::TimeDelta last_timestamp_update_; | 253 base::TimeDelta last_timestamp_update_; |
253 | 254 |
254 // End variables which must be accessed under |lock_|. ---------------------- | 255 // End variables which must be accessed under |lock_|. ---------------------- |
255 | 256 |
256 // NOTE: Weak pointers must be invalidated before all other member variables. | 257 // NOTE: Weak pointers must be invalidated before all other member variables. |
257 base::WeakPtrFactory<AudioRendererImpl> weak_factory_; | 258 base::WeakPtrFactory<AudioRendererImpl> weak_factory_; |
258 | 259 |
259 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl); | 260 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl); |
260 }; | 261 }; |
261 | 262 |
262 } // namespace media | 263 } // namespace media |
263 | 264 |
264 #endif // MEDIA_FILTERS_AUDIO_RENDERER_IMPL_H_ | 265 #endif // MEDIA_FILTERS_AUDIO_RENDERER_IMPL_H_ |
OLD | NEW |