Chromium Code Reviews| 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 cc85d0f8ab2beecefeea5c6d2c96a8839b68feb8..e3f2ea42dd2edd9e906861f847ef01415fbe8319 100644 |
| --- a/media/video/gpu_memory_buffer_video_frame_pool.cc |
| +++ b/media/video/gpu_memory_buffer_video_frame_pool.cc |
| @@ -600,9 +600,6 @@ void GpuMemoryBufferVideoFramePool::PoolImpl:: |
| 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()); |
| @@ -610,6 +607,23 @@ void GpuMemoryBufferVideoFramePool::PoolImpl:: |
| return; |
| } |
| + // Compute whether or not this frame may be displayed as an overlay. |
|
hubbe
2016/05/18 00:03:32
Not a very good comment, as it doesn't explain why
ccameron
2016/05/18 03:04:00
Good point -- removed the comment, since it doesn'
|
| + bool allow_overlay = false; |
| + switch (output_format_) { |
| + case PIXEL_FORMAT_I420: |
| + allow_overlay = |
| + video_frame->metadata()->IsTrue(VideoFrameMetadata::ALLOW_OVERLAY); |
| + break; |
| + case PIXEL_FORMAT_NV12: |
| + case PIXEL_FORMAT_UYVY: |
| + allow_overlay = true; |
| + break; |
| + default: |
| + break; |
| + } |
| + frame->metadata()->SetBoolean(VideoFrameMetadata::ALLOW_OVERLAY, |
| + allow_overlay); |
| + |
| base::TimeTicks render_time; |
| if (video_frame->metadata()->GetTimeTicks(VideoFrameMetadata::REFERENCE_TIME, |
| &render_time)) { |