diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 00:12:25 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 00:12:25 +0000 |
commit | 739847c0eb52aaa7cdb20afdb87fe3d049ba0209 (patch) | |
tree | c2fecbba94d951e6789be26bfeb05ebf6b12fb2b /media/base/pipeline.h | |
parent | 7d1ff29af70ea44e05aaf0a4ae3b14a8c0a65fdb (diff) | |
download | chromium_src-739847c0eb52aaa7cdb20afdb87fe3d049ba0209.zip chromium_src-739847c0eb52aaa7cdb20afdb87fe3d049ba0209.tar.gz chromium_src-739847c0eb52aaa7cdb20afdb87fe3d049ba0209.tar.bz2 |
Remove VideoRenderer::NaturalSizeChangedCB.
Instead WebMediaPlayerImpl detects frame size changes and bypasses the previous plumbing through Pipeline.
Includes a workaround for http://crbug.com/334325 by calling Demuxer::GetStream() while not holding Pipeline::lock_.
BUG=319000
Review URL: https://codereview.chromium.org/135403005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245029 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/pipeline.h')
-rw-r--r-- | media/base/pipeline.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/media/base/pipeline.h b/media/base/pipeline.h index bb91d29..9b0ebdf 100644 --- a/media/base/pipeline.h +++ b/media/base/pipeline.h @@ -70,8 +70,8 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { // Buffering states the pipeline transitions between during playback. // kHaveMetadata: // Indicates that the following things are known: - // content duration, natural size, start time, and whether the content has - // audio and/or video in supported formats. + // content duration, container video size, start time, and whether the + // content has audio and/or video in supported formats. // kPrerollCompleted: // All renderers have buffered enough data to satisfy preroll and are ready // to start playback. @@ -178,10 +178,9 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { // determined or can not be determined, this value is 0. int64 GetTotalBytes() const; - // Gets the natural size of the video output in pixel units. If there is no - // video or the video has not been rendered yet, the width and height will - // be 0. - void GetNaturalVideoSize(gfx::Size* out_size) const; + // Get the video's initial natural size as reported by the container. Note + // that the natural size can change during playback. + gfx::Size GetInitialNaturalSize() const; // Return true if loading progress has been made since the last time this // method was called. @@ -243,9 +242,6 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { // Safe to call from any thread. void SetError(PipelineStatus error); - // Callback executed when the natural size of the video has changed. - void OnNaturalVideoSizeChanged(const gfx::Size& size); - // Callbacks executed when a renderer has ended. void OnAudioRendererEnded(); void OnVideoRendererEnded(); @@ -374,8 +370,8 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { // Total size of the media. Set by filters. int64 total_bytes_; - // Video's natural width and height. Set by filters. - gfx::Size natural_size_; + // The initial natural size of the video as reported by the container. + gfx::Size initial_natural_size_; // Current volume level (from 0.0f to 1.0f). This value is set immediately // via SetVolume() and a task is dispatched on the task runner to notify the |