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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 | 279 |
280 // Set to the value of |last_render_time_| when StopRendering_Locked() is | 280 // Set to the value of |last_render_time_| when StopRendering_Locked() is |
281 // called for any reason. Cleared by the next successful Render() call after | 281 // called for any reason. Cleared by the next successful Render() call after |
282 // being used to adjust for lost time between the last call. | 282 // being used to adjust for lost time between the last call. |
283 base::TimeTicks stop_rendering_time_; | 283 base::TimeTicks stop_rendering_time_; |
284 | 284 |
285 // Set upon receipt of the first decoded buffer after a StartPlayingFrom(). | 285 // Set upon receipt of the first decoded buffer after a StartPlayingFrom(). |
286 // Used to determine how long to delay playback. | 286 // Used to determine how long to delay playback. |
287 base::TimeDelta first_packet_timestamp_; | 287 base::TimeDelta first_packet_timestamp_; |
288 | 288 |
289 // Set by CurrentMediaTime(), used to prevent the current media time value as | |
290 // reported to JavaScript from going backwards in time. | |
291 base::TimeDelta last_media_timestamp_; | |
292 | |
293 // Set by OnSuspend() and OnResume() to indicate when the system is about to | 289 // Set by OnSuspend() and OnResume() to indicate when the system is about to |
294 // suspend/is suspended and when it resumes. | 290 // suspend/is suspended and when it resumes. |
295 bool is_suspending_; | 291 bool is_suspending_; |
296 | 292 |
297 // End variables which must be accessed under |lock_|. ---------------------- | 293 // End variables which must be accessed under |lock_|. ---------------------- |
298 | 294 |
299 // NOTE: Weak pointers must be invalidated before all other member variables. | 295 // NOTE: Weak pointers must be invalidated before all other member variables. |
300 base::WeakPtrFactory<AudioRendererImpl> weak_factory_; | 296 base::WeakPtrFactory<AudioRendererImpl> weak_factory_; |
301 | 297 |
302 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl); | 298 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl); |
303 }; | 299 }; |
304 | 300 |
305 } // namespace media | 301 } // namespace media |
306 | 302 |
307 #endif // MEDIA_RENDERERS_AUDIO_RENDERER_IMPL_H_ | 303 #endif // MEDIA_RENDERERS_AUDIO_RENDERER_IMPL_H_ |
OLD | NEW |