Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Unified Diff: media/video/gpu_memory_buffer_video_frame_pool.cc

Issue 1960563002: Add media::VideoFrame::WrapNativeTextures() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/renderers/skcanvas_video_renderer_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/gpu_memory_buffer_video_frame_pool.cc
diff --git a/media/video/gpu_memory_buffer_video_frame_pool.cc b/media/video/gpu_memory_buffer_video_frame_pool.cc
index 93c0c3a2cae74eb36d1cae3552971d83746fb8f8..cc85d0f8ab2beecefeea5c6d2c96a8839b68feb8 100644
--- a/media/video/gpu_memory_buffer_video_frame_pool.cc
+++ b/media/video/gpu_memory_buffer_video_frame_pool.cc
@@ -590,37 +590,19 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::
for (size_t i = 0; i < num_planes; i += planes_per_copy)
mailbox_holders[i].sync_token = sync_token;
- scoped_refptr<VideoFrame> frame;
auto release_mailbox_callback = BindToCurrentLoop(
base::Bind(&PoolImpl::MailboxHoldersReleased, this, frame_resources));
// Create the VideoFrame backed by native textures.
gfx::Size visible_size = video_frame->visible_rect().size();
- switch (output_format_) {
- case PIXEL_FORMAT_I420:
- frame = VideoFrame::WrapYUV420NativeTextures(
- mailbox_holders[VideoFrame::kYPlane],
- mailbox_holders[VideoFrame::kUPlane],
- mailbox_holders[VideoFrame::kVPlane], release_mailbox_callback,
- coded_size, gfx::Rect(visible_size), video_frame->natural_size(),
- video_frame->timestamp());
- if (frame &&
- video_frame->metadata()->IsTrue(VideoFrameMetadata::ALLOW_OVERLAY))
- frame->metadata()->SetBoolean(VideoFrameMetadata::ALLOW_OVERLAY, true);
- break;
- case PIXEL_FORMAT_NV12:
- case PIXEL_FORMAT_UYVY:
- frame = VideoFrame::WrapNativeTexture(
- output_format_, mailbox_holders[VideoFrame::kYPlane],
- release_mailbox_callback, coded_size, gfx::Rect(visible_size),
- video_frame->natural_size(), video_frame->timestamp());
- if (frame)
- frame->metadata()->SetBoolean(VideoFrameMetadata::ALLOW_OVERLAY, true);
- break;
- default:
- NOTREACHED();
- }
+ scoped_refptr<VideoFrame> frame = VideoFrame::WrapNativeTextures(
+ output_format_, mailbox_holders, release_mailbox_callback, coded_size,
+ gfx::Rect(visible_size), video_frame->natural_size(),
+ video_frame->timestamp());
+ if (frame &&
+ video_frame->metadata()->IsTrue(VideoFrameMetadata::ALLOW_OVERLAY))
+ frame->metadata()->SetBoolean(VideoFrameMetadata::ALLOW_OVERLAY, true);
if (!frame) {
release_mailbox_callback.Run(gpu::SyncToken());
« no previous file with comments | « media/renderers/skcanvas_video_renderer_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698