Index: media/base/video_frame.cc |
diff --git a/media/base/video_frame.cc b/media/base/video_frame.cc |
index f706cde75e60e1d408b50814411eaae087d6df5f..8057e4626b340a182630bb8cd61a03a08326f86c 100644 |
--- a/media/base/video_frame.cc |
+++ b/media/base/video_frame.cc |
@@ -26,7 +26,7 @@ scoped_refptr<VideoFrame> VideoFrame::CreateFrame( |
base::TimeDelta timestamp) { |
DCHECK(IsValidConfig(format, coded_size, visible_rect, natural_size)); |
scoped_refptr<VideoFrame> frame(new VideoFrame( |
- format, coded_size, visible_rect, natural_size, timestamp)); |
+ format, coded_size, visible_rect, natural_size, timestamp, false)); |
switch (format) { |
case VideoFrame::YV12: |
case VideoFrame::YV12A: |
@@ -49,8 +49,6 @@ std::string VideoFrame::FormatToString(VideoFrame::Format format) { |
return "YV12"; |
case VideoFrame::YV16: |
return "YV16"; |
- case VideoFrame::EMPTY: |
- return "EMPTY"; |
case VideoFrame::I420: |
return "I420"; |
case VideoFrame::NATIVE_TEXTURE: |
@@ -96,8 +94,12 @@ scoped_refptr<VideoFrame> VideoFrame::WrapNativeTexture( |
base::TimeDelta timestamp, |
const ReadPixelsCB& read_pixels_cb, |
const base::Closure& no_longer_needed_cb) { |
- scoped_refptr<VideoFrame> frame(new VideoFrame( |
- NATIVE_TEXTURE, coded_size, visible_rect, natural_size, timestamp)); |
+ scoped_refptr<VideoFrame> frame(new VideoFrame(NATIVE_TEXTURE, |
+ coded_size, |
+ visible_rect, |
+ natural_size, |
+ timestamp, |
+ false)); |
frame->texture_mailbox_holder_ = mailbox_holder; |
frame->texture_target_ = texture_target; |
frame->read_pixels_cb_ = read_pixels_cb; |
@@ -129,7 +131,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalSharedMemory( |
switch (format) { |
case I420: { |
scoped_refptr<VideoFrame> frame(new VideoFrame( |
- format, coded_size, visible_rect, natural_size, timestamp)); |
+ format, coded_size, visible_rect, natural_size, timestamp, false)); |
frame->shared_memory_handle_ = handle; |
frame->strides_[kYPlane] = coded_size.width(); |
frame->strides_[kUPlane] = coded_size.width() / 2; |
@@ -162,7 +164,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalYuvData( |
const base::Closure& no_longer_needed_cb) { |
DCHECK(format == YV12 || format == YV16 || format == I420) << format; |
scoped_refptr<VideoFrame> frame(new VideoFrame( |
- format, coded_size, visible_rect, natural_size, timestamp)); |
+ format, coded_size, visible_rect, natural_size, timestamp, false)); |
frame->strides_[kYPlane] = y_stride; |
frame->strides_[kUPlane] = u_stride; |
frame->strides_[kVPlane] = v_stride; |
@@ -174,10 +176,13 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalYuvData( |
} |
// static |
-scoped_refptr<VideoFrame> VideoFrame::CreateEmptyFrame() { |
- return new VideoFrame( |
- VideoFrame::EMPTY, gfx::Size(), gfx::Rect(), gfx::Size(), |
- base::TimeDelta()); |
+scoped_refptr<VideoFrame> VideoFrame::CreateEOSFrame() { |
+ return new VideoFrame(VideoFrame::UNKNOWN, |
+ gfx::Size(), |
+ gfx::Rect(), |
+ gfx::Size(), |
+ kNoTimestamp(), |
+ true); |
} |
// static |
@@ -213,7 +218,7 @@ scoped_refptr<VideoFrame> VideoFrame::CreateHoleFrame( |
const gfx::Size& size) { |
DCHECK(IsValidConfig(VideoFrame::HOLE, size, gfx::Rect(size), size)); |
scoped_refptr<VideoFrame> frame(new VideoFrame( |
- VideoFrame::HOLE, size, gfx::Rect(size), size, base::TimeDelta())); |
+ VideoFrame::HOLE, size, gfx::Rect(size), size, base::TimeDelta(), false)); |
return frame; |
} |
#endif |
@@ -232,7 +237,6 @@ size_t VideoFrame::NumPlanes(Format format) { |
return 3; |
case VideoFrame::YV12A: |
return 4; |
- case VideoFrame::EMPTY: |
case VideoFrame::UNKNOWN: |
break; |
} |
@@ -266,7 +270,6 @@ size_t VideoFrame::AllocationSize(Format format, const gfx::Size& coded_size) { |
return rounded_size * 2; |
} |
case VideoFrame::UNKNOWN: |
- case VideoFrame::EMPTY: |
case VideoFrame::NATIVE_TEXTURE: |
#if defined(GOOGLE_TV) |
case VideoFrame::HOLE: |
@@ -340,14 +343,16 @@ VideoFrame::VideoFrame(VideoFrame::Format format, |
const gfx::Size& coded_size, |
const gfx::Rect& visible_rect, |
const gfx::Size& natural_size, |
- base::TimeDelta timestamp) |
+ base::TimeDelta timestamp, |
+ bool end_of_stream) |
: format_(format), |
coded_size_(coded_size), |
visible_rect_(visible_rect), |
natural_size_(natural_size), |
texture_target_(0), |
shared_memory_handle_(base::SharedMemory::NULLHandle()), |
- timestamp_(timestamp) { |
+ timestamp_(timestamp), |
+ end_of_stream_(end_of_stream) { |
memset(&strides_, 0, sizeof(strides_)); |
memset(&data_, 0, sizeof(data_)); |
} |
@@ -437,10 +442,6 @@ base::SharedMemoryHandle VideoFrame::shared_memory_handle() const { |
return shared_memory_handle_; |
} |
-bool VideoFrame::IsEndOfStream() const { |
- return format_ == VideoFrame::EMPTY; |
-} |
- |
void VideoFrame::HashFrameForTesting(base::MD5Context* context) { |
for (int plane = 0; plane < kMaxPlanes; ++plane) { |
if (!IsValidPlane(plane)) |