Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: media/renderers/audio_renderer_impl.h

Issue 2239243002: Interpolate media time for mojo rendering pipeline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moves media-time clamping to PipelineImpl Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/mojo/services/mojo_renderer_service.cc ('k') | media/renderers/audio_renderer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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_
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_renderer_service.cc ('k') | media/renderers/audio_renderer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698