diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-06-22 09:53:13 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-06-22 10:23:17 +0000 |
commit | c5dbcb143405a38088d78b4b760d64aaff5157ab (patch) | |
tree | b37edca540b35f898e212bebfa6ded0806988122 /chromium/media | |
parent | 774f54339e5db91f785733232d3950366db65d07 (diff) | |
download | qtwebengine-chromium-c5dbcb143405a38088d78b4b760d64aaff5157ab.tar.gz |
BASELINE: Update Chromium to 102.0.5005.137
Change-Id: I162cdc7f56760218868e000a4c8ea92573344036
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media')
3 files changed, 20 insertions, 10 deletions
diff --git a/chromium/media/base/supported_types.cc b/chromium/media/base/supported_types.cc index 41a4609a2a7..5540061ad77 100644 --- a/chromium/media/base/supported_types.cc +++ b/chromium/media/base/supported_types.cc @@ -41,7 +41,6 @@ class SupplementalProfileCache { public: void UpdateCache(const base::flat_set<media::VideoCodecProfile>& profiles) { base::AutoLock lock(profiles_lock_); - DCHECK_EQ(profiles_.size(), 0u); profiles_ = profiles; } bool IsProfileSupported(media::VideoCodecProfile profile) { diff --git a/chromium/media/fuchsia/common/vmo_buffer_writer_queue.cc b/chromium/media/fuchsia/common/vmo_buffer_writer_queue.cc index b983e0033ec..902d19cb5ab 100644 --- a/chromium/media/fuchsia/common/vmo_buffer_writer_queue.cc +++ b/chromium/media/fuchsia/common/vmo_buffer_writer_queue.cc @@ -86,7 +86,15 @@ void VmoBufferWriterQueue::PumpPackets() { PendingBuffer* current_buffer = &pending_buffers_[input_queue_position_]; if (current_buffer->buffer->end_of_stream()) { - pending_buffers_.pop_front(); + // Pop the EndOfStream buffer if it's the only buffer. Otherwise, mark it + // as complete so that ReleaseBuffer will pop it. + if (input_queue_position_ == 0) { + pending_buffers_.pop_front(); + DCHECK(pending_buffers_.empty()); + } else { + current_buffer->is_complete = true; + input_queue_position_ += 1; + } end_of_stream_cb_.Run(); if (!weak_this) return; diff --git a/chromium/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc b/chromium/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc index 98be02b1ec2..b714eb8fd44 100644 --- a/chromium/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc +++ b/chromium/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc @@ -18,6 +18,7 @@ #include "gpu/GLES2/gl2extchromium.h" #include "gpu/command_buffer/client/gpu_memory_buffer_manager.h" #include "gpu/command_buffer/client/shared_image_interface.h" +#include "gpu/command_buffer/common/gpu_memory_buffer_support.h" #include "gpu/command_buffer/common/shared_image_usage.h" #include "media/base/video_frame.h" @@ -165,10 +166,12 @@ bool FrameResources::Initialize() { gfx::BufferUsage::SCANOUT_CPU_READ_WRITE #endif ; + constexpr gfx::BufferFormat kBufferFormat = + gfx::BufferFormat::YUV_420_BIPLANAR; // Create the GpuMemoryBuffer. - gpu_memory_buffer_ = context->CreateGpuMemoryBuffer( - coded_size_, gfx::BufferFormat::YUV_420_BIPLANAR, kBufferUsage); + gpu_memory_buffer_ = + context->CreateGpuMemoryBuffer(coded_size_, kBufferFormat, kBufferUsage); if (!gpu_memory_buffer_) { DLOG(ERROR) << "Failed to allocate GpuMemoryBuffer for frame: coded_size=" << coded_size_.ToString() @@ -187,17 +190,17 @@ bool FrameResources::Initialize() { gpu::SHARED_IMAGE_USAGE_GLES2 | gpu::SHARED_IMAGE_USAGE_RASTER | gpu::SHARED_IMAGE_USAGE_DISPLAY | gpu::SHARED_IMAGE_USAGE_SCANOUT; + uint32_t texture_target = GL_TEXTURE_2D; +#if BUILDFLAG(IS_MAC) + // TODO(https://crbug.com/1311844): Use gpu::GetBufferTextureTarget() instead. + texture_target = gpu::GetPlatformSpecificTextureTarget(); +#endif for (size_t plane = 0; plane < kNumPlanes; ++plane) { context->CreateSharedImage( gpu_memory_buffer_.get(), kPlanes[plane], color_space_, kTopLeft_GrSurfaceOrigin, kPremul_SkAlphaType, kSharedImageUsage, mailbox_holders_[plane].mailbox, mailbox_holders_[plane].sync_token); - // TODO(https://crbug.com/1191956): This should be parameterized. -#if BUILDFLAG(IS_MAC) - mailbox_holders_[plane].texture_target = GL_TEXTURE_RECTANGLE_ARB; -#else - mailbox_holders_[plane].texture_target = GL_TEXTURE_2D; -#endif + mailbox_holders_[plane].texture_target = texture_target; } return true; } |