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

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

Issue 9155003: Fix media timeline so that thumb never exceeds buffered data (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 11 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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 // DemuxerHost implementaion. 327 // DemuxerHost implementaion.
328 virtual void SetDuration(base::TimeDelta duration) OVERRIDE; 328 virtual void SetDuration(base::TimeDelta duration) OVERRIDE;
329 virtual void SetBufferedTime(base::TimeDelta buffered_time) OVERRIDE; 329 virtual void SetBufferedTime(base::TimeDelta buffered_time) OVERRIDE;
330 virtual void SetCurrentReadPosition(int64 offset) OVERRIDE; 330 virtual void SetCurrentReadPosition(int64 offset) OVERRIDE;
331 virtual void OnDemuxerError(PipelineStatus error) OVERRIDE; 331 virtual void OnDemuxerError(PipelineStatus error) OVERRIDE;
332 332
333 // FilterHost implementation. 333 // FilterHost implementation.
334 virtual void SetError(PipelineStatus error) OVERRIDE; 334 virtual void SetError(PipelineStatus error) OVERRIDE;
335 virtual base::TimeDelta GetTime() const OVERRIDE; 335 virtual base::TimeDelta GetTime() const OVERRIDE;
336 virtual base::TimeDelta GetDuration() const OVERRIDE; 336 virtual base::TimeDelta GetDuration() const OVERRIDE;
337 virtual void SetTime(base::TimeDelta time) OVERRIDE;
338 virtual void SetNaturalVideoSize(const gfx::Size& size) OVERRIDE; 337 virtual void SetNaturalVideoSize(const gfx::Size& size) OVERRIDE;
339 virtual void NotifyEnded() OVERRIDE; 338 virtual void NotifyEnded() OVERRIDE;
340 virtual void DisableAudioRenderer() OVERRIDE; 339 virtual void DisableAudioRenderer() OVERRIDE;
341 340
342 // Callbacks executed by filters upon completing initialization. 341 // Callbacks executed by filters upon completing initialization.
343 void OnFilterInitialize(PipelineStatus status); 342 void OnFilterInitialize(PipelineStatus status);
344 343
345 // Callback executed by filters upon completing Play(), Pause(), or Stop(). 344 // Callback executed by filters upon completing Play(), Pause(), or Stop().
346 void OnFilterStateTransition(); 345 void OnFilterStateTransition();
347 346
348 // Callback executed by filters upon completing Seek(). 347 // Callback executed by filters upon completing Seek().
349 void OnFilterStateTransitionWithStatus(PipelineStatus status); 348 void OnFilterStateTransitionWithStatus(PipelineStatus status);
350 349
351 // Callback executed by filters when completing teardown operations. 350 // Callback executed by filters when completing teardown operations.
352 void OnTeardownStateTransition(); 351 void OnTeardownStateTransition();
353 352
354 // Callback executed by filters to update statistics. 353 // Callback executed by filters to update statistics.
355 void OnUpdateStatistics(const PipelineStatistics& stats); 354 void OnUpdateStatistics(const PipelineStatistics& stats);
356 355
356 // Callback executed by audio renderer to update clock time.
357 void OnAudioTimeUpdate(base::TimeDelta time, base::TimeDelta max_time);
358
359 // Callback executed by video renderer to update clock time.
360 void OnVideoTimeUpdate(base::TimeDelta max_time);
361
357 // The following "task" methods correspond to the public methods, but these 362 // The following "task" methods correspond to the public methods, but these
358 // methods are run as the result of posting a task to the PipelineInternal's 363 // methods are run as the result of posting a task to the PipelineInternal's
359 // message loop. 364 // message loop.
360 void StartTask(scoped_ptr<FilterCollection> filter_collection, 365 void StartTask(scoped_ptr<FilterCollection> filter_collection,
361 const std::string& url, 366 const std::string& url,
362 const PipelineStatusCB& start_callback); 367 const PipelineStatusCB& start_callback);
363 368
364 // InitializeTask() performs initialization in multiple passes. It is executed 369 // InitializeTask() performs initialization in multiple passes. It is executed
365 // as a result of calling Start() or InitializationComplete() that advances 370 // as a result of calling Start() or InitializationComplete() that advances
366 // initialization to the next state. It works as a hub of state transition for 371 // initialization to the next state. It works as a hub of state transition for
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 502
498 // Whether or not the pipeline is perform a stop operation. 503 // Whether or not the pipeline is perform a stop operation.
499 bool tearing_down_; 504 bool tearing_down_;
500 505
501 // Whether or not an error triggered the teardown. 506 // Whether or not an error triggered the teardown.
502 bool error_caused_teardown_; 507 bool error_caused_teardown_;
503 508
504 // Whether or not a playback rate change should be done once seeking is done. 509 // Whether or not a playback rate change should be done once seeking is done.
505 bool playback_rate_change_pending_; 510 bool playback_rate_change_pending_;
506 511
507 // Duration of the media in microseconds. Set by filters.
508 base::TimeDelta duration_;
509
510 // Amount of available buffered data in microseconds. Set by filters. 512 // Amount of available buffered data in microseconds. Set by filters.
511 base::TimeDelta buffered_time_; 513 base::TimeDelta buffered_time_;
512 514
513 // Amount of available buffered data. Set by filters. 515 // Amount of available buffered data. Set by filters.
514 int64 buffered_bytes_; 516 int64 buffered_bytes_;
515 517
516 // Total size of the media. Set by filters. 518 // Total size of the media. Set by filters.
517 int64 total_bytes_; 519 int64 total_bytes_;
518 520
519 // Video's natural width and height. Set by filters. 521 // Video's natural width and height. Set by filters.
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 635
634 // True if the pipeline is actively downloading bytes, false otherwise. 636 // True if the pipeline is actively downloading bytes, false otherwise.
635 bool is_downloading_data_; 637 bool is_downloading_data_;
636 638
637 DISALLOW_COPY_AND_ASSIGN(Pipeline); 639 DISALLOW_COPY_AND_ASSIGN(Pipeline);
638 }; 640 };
639 641
640 } // namespace media 642 } // namespace media
641 643
642 #endif // MEDIA_BASE_PIPELINE_H_ 644 #endif // MEDIA_BASE_PIPELINE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698