| Index: media/base/video_frame.cc
|
| diff --git a/media/base/video_frame.cc b/media/base/video_frame.cc
|
| index b4a8392ff8c848dc9edf9ba0ddd7ce181ad0c7b5..cd05dc44cf5c6a62340c3a1c34979f214ddee04f 100644
|
| --- a/media/base/video_frame.cc
|
| +++ b/media/base/video_frame.cc
|
| @@ -212,6 +212,35 @@ scoped_refptr<VideoFrame> VideoFrame::WrapYUV420NativeTextures(
|
| }
|
|
|
| // static
|
| +scoped_refptr<VideoFrame> VideoFrame::WrapYV12ANativeTextures(
|
| + const gpu::MailboxHolder& y_mailbox_holder,
|
| + const gpu::MailboxHolder& u_mailbox_holder,
|
| + const gpu::MailboxHolder& v_mailbox_holder,
|
| + const gpu::MailboxHolder& a_mailbox_holder,
|
| + const ReleaseMailboxCB& mailbox_holder_release_cb,
|
| + const gfx::Size& coded_size,
|
| + const gfx::Rect& visible_rect,
|
| + const gfx::Size& natural_size,
|
| + base::TimeDelta timestamp) {
|
| + const StorageType storage = STORAGE_OPAQUE;
|
| + VideoPixelFormat format = PIXEL_FORMAT_YV12A;
|
| + if (!IsValidConfig(format, storage, coded_size, visible_rect, natural_size)) {
|
| + LOG(DFATAL) << __FUNCTION__ << " Invalid config."
|
| + << ConfigToString(format, storage, coded_size, visible_rect,
|
| + natural_size);
|
| + return nullptr;
|
| + }
|
| +
|
| + gpu::MailboxHolder mailbox_holders[kMaxPlanes];
|
| + mailbox_holders[kYPlane] = y_mailbox_holder;
|
| + mailbox_holders[kUPlane] = u_mailbox_holder;
|
| + mailbox_holders[kVPlane] = v_mailbox_holder;
|
| + mailbox_holders[kAPlane] = a_mailbox_holder;
|
| + return new VideoFrame(format, storage, coded_size, visible_rect, natural_size,
|
| + mailbox_holders, mailbox_holder_release_cb, timestamp);
|
| +}
|
| +
|
| +// static
|
| scoped_refptr<VideoFrame> VideoFrame::WrapExternalData(
|
| VideoPixelFormat format,
|
| const gfx::Size& coded_size,
|
|
|