| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 5 #ifndef MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
| 6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 | 372 |
| 373 // Returns true if the player's source is streaming. | 373 // Returns true if the player's source is streaming. |
| 374 bool IsStreaming() const; | 374 bool IsStreaming() const; |
| 375 | 375 |
| 376 // Return whether |pipeline_metadata_| is compatible with an overlay. This | 376 // Return whether |pipeline_metadata_| is compatible with an overlay. This |
| 377 // is intended for android. | 377 // is intended for android. |
| 378 bool DoesOverlaySupportMetadata() const; | 378 bool DoesOverlaySupportMetadata() const; |
| 379 | 379 |
| 380 // Whether the video should be paused when hidden. Uses metadata so has | 380 // Whether the video should be paused when hidden. Uses metadata so has |
| 381 // meaning only after the pipeline has started, otherwise returns false. | 381 // meaning only after the pipeline has started, otherwise returns false. |
| 382 // Doesn't check if the video can actually be paused depending on the |
| 383 // pipeline's state. |
| 382 bool ShouldPauseVideoWhenHidden() const; | 384 bool ShouldPauseVideoWhenHidden() const; |
| 383 | 385 |
| 384 // Whether the video track should be disabled when hidden. Uses metadata so | 386 // Whether the video track should be disabled when hidden. Uses metadata so |
| 385 // has meaning only after the pipeline has started, otherwise returns false. | 387 // has meaning only after the pipeline has started, otherwise returns false. |
| 388 // Doesn't check if the video track can actually be disabled depending on the |
| 389 // pipeline's state. |
| 386 bool ShouldDisableVideoWhenHidden() const; | 390 bool ShouldDisableVideoWhenHidden() const; |
| 387 | 391 |
| 388 // Whether the video is suitable for background playback optimizations (either | 392 // Whether the video is suitable for background playback optimizations (either |
| 389 // pausing it or disabling the video track). Uses metadata so has meaning only | 393 // pausing it or disabling the video track). Uses metadata so has meaning only |
| 390 // after the pipeline has started, otherwise returns false. | 394 // after the pipeline has started, otherwise returns false. |
| 395 // The logical OR between the two methods above that is also used as their |
| 396 // common implementation. |
| 391 bool IsBackgroundOptimizationCandidate() const; | 397 bool IsBackgroundOptimizationCandidate() const; |
| 392 | 398 |
| 399 // If enabling or disabling background video optimization has been delayed, |
| 400 // because of the pipeline not running, seeking or resuming, this method |
| 401 // needs to be called to update the optimization state. |
| 402 void UpdateBackgroundVideoOptimizationState(); |
| 403 |
| 404 // Pauses a hidden video only player to save power if possible. |
| 405 // Must be called when either of the following happens: |
| 406 // - right after the video was hidden, |
| 407 // - right ater the pipeline has resumed if the video is hidden. |
| 408 void PauseVideoIfNeeded(); |
| 409 |
| 393 // Disables the video track to save power if possible. | 410 // Disables the video track to save power if possible. |
| 394 // Must be called when either of the following happens: | 411 // Must be called when either of the following happens: |
| 395 // - right after the video was hidden, | 412 // - right after the video was hidden, |
| 396 // - right after the pipeline has started (|seeking_| is used to detect the | 413 // - right after the pipeline has started (|seeking_| is used to detect the |
| 397 // when pipeline started) if the video is hidden, | 414 // when pipeline started) if the video is hidden, |
| 398 // - right ater the pipeline has resumed if the video is hidden. | 415 // - right ater the pipeline has resumed if the video is hidden. |
| 399 void DisableVideoTrackIfNeeded(); | 416 void DisableVideoTrackIfNeeded(); |
| 400 | 417 |
| 401 // Enables the video track if it was disabled before to save power. | 418 // Enables the video track if it was disabled before to save power. |
| 402 // Must be called when either of the following happens: | 419 // Must be called when either of the following happens: |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 | 680 |
| 664 // Pipeline media duration overridden by tests. | 681 // Pipeline media duration overridden by tests. |
| 665 base::Optional<base::TimeDelta> pipeline_media_duration_for_test_; | 682 base::Optional<base::TimeDelta> pipeline_media_duration_for_test_; |
| 666 | 683 |
| 667 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 684 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
| 668 }; | 685 }; |
| 669 | 686 |
| 670 } // namespace media | 687 } // namespace media |
| 671 | 688 |
| 672 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 689 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
| OLD | NEW |