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

Side by Side Diff: media/base/pipeline.h

Issue 403723006: Make media::AudioRenderer inherit from media::TimeSource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: composition Created 6 years, 5 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 | Annotate | Revision Log
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 #ifndef MEDIA_BASE_PIPELINE_H_ 5 #ifndef MEDIA_BASE_PIPELINE_H_
6 #define MEDIA_BASE_PIPELINE_H_ 6 #define MEDIA_BASE_PIPELINE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
(...skipping 16 matching lines...) Expand all
27 class TimeDelta; 27 class TimeDelta;
28 } 28 }
29 29
30 namespace media { 30 namespace media {
31 31
32 class FilterCollection; 32 class FilterCollection;
33 class MediaLog; 33 class MediaLog;
34 class TextRenderer; 34 class TextRenderer;
35 class TextTrackConfig; 35 class TextTrackConfig;
36 class TimeDeltaInterpolator; 36 class TimeDeltaInterpolator;
37 class TimeSource;
37 class VideoRenderer; 38 class VideoRenderer;
38 39
39 // Metadata describing a pipeline once it has been initialized. 40 // Metadata describing a pipeline once it has been initialized.
40 struct PipelineMetadata { 41 struct PipelineMetadata {
41 PipelineMetadata() 42 PipelineMetadata()
42 : has_audio(false), has_video(false), video_rotation(VIDEO_ROTATION_0) {} 43 : has_audio(false), has_video(false), video_rotation(VIDEO_ROTATION_0) {}
43 44
44 bool has_audio; 45 bool has_audio;
45 bool has_video; 46 bool has_video;
46 gfx::Size natural_size; 47 gfx::Size natural_size;
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 // - A waiting to non-waiting transition indicates preroll has completed 311 // - A waiting to non-waiting transition indicates preroll has completed
311 // and StartPlayback() should be called 312 // and StartPlayback() should be called
312 // - A non-waiting to waiting transition indicates underflow has occurred 313 // - A non-waiting to waiting transition indicates underflow has occurred
313 // and PausePlayback() should be called 314 // and PausePlayback() should be called
314 void BufferingStateChanged(BufferingState* buffering_state, 315 void BufferingStateChanged(BufferingState* buffering_state,
315 BufferingState new_buffering_state); 316 BufferingState new_buffering_state);
316 bool WaitingForEnoughData() const; 317 bool WaitingForEnoughData() const;
317 void PausePlayback(); 318 void PausePlayback();
318 void StartPlayback(); 319 void StartPlayback();
319 320
320 void PauseClockAndStopRendering_Locked(); 321 void PauseClockAndStopTicking_Locked();
321 void StartClockIfWaitingForTimeUpdate_Locked(); 322 void StartClockIfWaitingForTimeUpdate_Locked();
322 323
323 // Task runner used to execute pipeline tasks. 324 // Task runner used to execute pipeline tasks.
324 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 325 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
325 326
326 // MediaLog to which to log events. 327 // MediaLog to which to log events.
327 scoped_refptr<MediaLog> media_log_; 328 scoped_refptr<MediaLog> media_log_;
328 329
329 // Lock used to serialize access for the following data members. 330 // Lock used to serialize access for the following data members.
330 mutable base::Lock lock_; 331 mutable base::Lock lock_;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 414
414 // Holds the initialized demuxer. Used for seeking. Owned by client. 415 // Holds the initialized demuxer. Used for seeking. Owned by client.
415 Demuxer* demuxer_; 416 Demuxer* demuxer_;
416 417
417 // Holds the initialized renderers. Used for setting the volume, 418 // Holds the initialized renderers. Used for setting the volume,
418 // playback rate, and determining when playback has finished. 419 // playback rate, and determining when playback has finished.
419 scoped_ptr<AudioRenderer> audio_renderer_; 420 scoped_ptr<AudioRenderer> audio_renderer_;
420 scoped_ptr<VideoRenderer> video_renderer_; 421 scoped_ptr<VideoRenderer> video_renderer_;
421 scoped_ptr<TextRenderer> text_renderer_; 422 scoped_ptr<TextRenderer> text_renderer_;
422 423
424 // Renderer-provided time source used to control playback.
425 TimeSource* time_source_;
426
423 PipelineStatistics statistics_; 427 PipelineStatistics statistics_;
424 428
425 scoped_ptr<SerialRunner> pending_callbacks_; 429 scoped_ptr<SerialRunner> pending_callbacks_;
426 430
427 bool underflow_disabled_for_testing_; 431 bool underflow_disabled_for_testing_;
428 432
429 base::ThreadChecker thread_checker_; 433 base::ThreadChecker thread_checker_;
430 434
431 DISALLOW_COPY_AND_ASSIGN(Pipeline); 435 DISALLOW_COPY_AND_ASSIGN(Pipeline);
432 }; 436 };
433 437
434 } // namespace media 438 } // namespace media
435 439
436 #endif // MEDIA_BASE_PIPELINE_H_ 440 #endif // MEDIA_BASE_PIPELINE_H_
OLDNEW
« no previous file with comments | « media/base/mock_filters.cc ('k') | media/base/pipeline.cc » ('j') | media/base/pipeline.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698