summaryrefslogtreecommitdiffstats
path: root/media/base/pipeline.h
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 00:12:25 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 00:12:25 +0000
commit739847c0eb52aaa7cdb20afdb87fe3d049ba0209 (patch)
treec2fecbba94d951e6789be26bfeb05ebf6b12fb2b /media/base/pipeline.h
parent7d1ff29af70ea44e05aaf0a4ae3b14a8c0a65fdb (diff)
downloadchromium_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.h18
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