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

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

Issue 10382109: Delete DownloadRateMonitor since it's never worked right. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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
« no previous file with comments | « media/base/download_rate_monitor_unittest.cc ('k') | media/base/pipeline.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 #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"
11 #include "base/synchronization/condition_variable.h" 11 #include "base/synchronization/condition_variable.h"
12 #include "base/synchronization/lock.h" 12 #include "base/synchronization/lock.h"
13 #include "media/base/demuxer.h" 13 #include "media/base/demuxer.h"
14 #include "media/base/download_rate_monitor.h"
15 #include "media/base/filter_host.h" 14 #include "media/base/filter_host.h"
16 #include "media/base/media_export.h" 15 #include "media/base/media_export.h"
17 #include "media/base/pipeline_status.h" 16 #include "media/base/pipeline_status.h"
18 #include "media/base/ranges.h" 17 #include "media/base/ranges.h"
19 #include "ui/gfx/size.h" 18 #include "ui/gfx/size.h"
20 19
21 class MessageLoop; 20 class MessageLoop;
22 21
23 namespace base { 22 namespace base {
24 class MessageLoopProxy; 23 class MessageLoopProxy;
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 // Initiates a Seek() on the |demuxer_| & |pipeline_filter_|. 445 // Initiates a Seek() on the |demuxer_| & |pipeline_filter_|.
447 void DoSeek(base::TimeDelta seek_timestamp); 446 void DoSeek(base::TimeDelta seek_timestamp);
448 447
449 // Called when |demuxer_| finishes seeking. If seeking was successful, 448 // Called when |demuxer_| finishes seeking. If seeking was successful,
450 // then Seek() is called on |pipeline_filter_|. 449 // then Seek() is called on |pipeline_filter_|.
451 void OnDemuxerSeekDone(base::TimeDelta seek_timestamp, 450 void OnDemuxerSeekDone(base::TimeDelta seek_timestamp,
452 PipelineStatus status); 451 PipelineStatus status);
453 452
454 void OnAudioUnderflow(); 453 void OnAudioUnderflow();
455 454
456 // Called when |download_rate_monitor_| believes that the media can
457 // be played through without needing to pause to buffer.
458 void OnCanPlayThrough();
459
460 // Carries out the notification that the media can be played through without
461 // needing to pause to buffer.
462 void NotifyCanPlayThrough();
463
464 void StartClockIfWaitingForTimeUpdate_Locked(); 455 void StartClockIfWaitingForTimeUpdate_Locked();
465 456
466 // Report pipeline |status| through |cb| avoiding duplicate error reporting. 457 // Report pipeline |status| through |cb| avoiding duplicate error reporting.
467 void ReportStatus(const PipelineStatusCB& cb, PipelineStatus status); 458 void ReportStatus(const PipelineStatusCB& cb, PipelineStatus status);
468 459
469 // Message loop used to execute pipeline tasks. 460 // Message loop used to execute pipeline tasks.
470 scoped_refptr<base::MessageLoopProxy> message_loop_; 461 scoped_refptr<base::MessageLoopProxy> message_loop_;
471 462
472 // MediaLog to which to log events. 463 // MediaLog to which to log events.
473 scoped_refptr<MediaLog> media_log_; 464 scoped_refptr<MediaLog> media_log_;
(...skipping 24 matching lines...) Expand all
498 489
499 // Approximate time ranges of buffered media. 490 // Approximate time ranges of buffered media.
500 Ranges<base::TimeDelta> buffered_time_ranges_; 491 Ranges<base::TimeDelta> buffered_time_ranges_;
501 492
502 // Total size of the media. Set by filters. 493 // Total size of the media. Set by filters.
503 int64 total_bytes_; 494 int64 total_bytes_;
504 495
505 // Video's natural width and height. Set by filters. 496 // Video's natural width and height. Set by filters.
506 gfx::Size natural_size_; 497 gfx::Size natural_size_;
507 498
508 // Set by the demuxer to indicate whether the data source is a streaming
509 // source.
510 bool streaming_;
511
512 // Indicates whether the data source is local, such as a local media file
513 // from disk or a local webcam stream.
514 bool local_source_;
515
516 // Current volume level (from 0.0f to 1.0f). This value is set immediately 499 // Current volume level (from 0.0f to 1.0f). This value is set immediately
517 // via SetVolume() and a task is dispatched on the message loop to notify the 500 // via SetVolume() and a task is dispatched on the message loop to notify the
518 // filters. 501 // filters.
519 float volume_; 502 float volume_;
520 503
521 // Current playback rate (>= 0.0f). This value is set immediately via 504 // Current playback rate (>= 0.0f). This value is set immediately via
522 // SetPlaybackRate() and a task is dispatched on the message loop to notify 505 // SetPlaybackRate() and a task is dispatched on the message loop to notify
523 // the filters. 506 // the filters.
524 float playback_rate_; 507 float playback_rate_;
525 508
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 // initialization. 582 // initialization.
600 struct PipelineInitState; 583 struct PipelineInitState;
601 scoped_ptr<PipelineInitState> pipeline_init_state_; 584 scoped_ptr<PipelineInitState> pipeline_init_state_;
602 585
603 // Statistics. 586 // Statistics.
604 PipelineStatistics statistics_; 587 PipelineStatistics statistics_;
605 // Time of pipeline creation; is non-zero only until the pipeline first 588 // Time of pipeline creation; is non-zero only until the pipeline first
606 // reaches "kStarted", at which point it is used & zeroed out. 589 // reaches "kStarted", at which point it is used & zeroed out.
607 base::Time creation_time_; 590 base::Time creation_time_;
608 591
609 // Approximates the rate at which the media is being downloaded.
610 DownloadRateMonitor download_rate_monitor_;
611
612 // True if the pipeline is actively downloading bytes, false otherwise.
613 bool is_downloading_data_;
614
615 DISALLOW_COPY_AND_ASSIGN(Pipeline); 592 DISALLOW_COPY_AND_ASSIGN(Pipeline);
616 }; 593 };
617 594
618 } // namespace media 595 } // namespace media
619 596
620 #endif // MEDIA_BASE_PIPELINE_H_ 597 #endif // MEDIA_BASE_PIPELINE_H_
OLDNEW
« no previous file with comments | « media/base/download_rate_monitor_unittest.cc ('k') | media/base/pipeline.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698