summaryrefslogtreecommitdiff
path: root/chromium/media
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-06-22 09:53:13 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-06-22 10:23:17 +0000
commitc5dbcb143405a38088d78b4b760d64aaff5157ab (patch)
treeb37edca540b35f898e212bebfa6ded0806988122 /chromium/media
parent774f54339e5db91f785733232d3950366db65d07 (diff)
downloadqtwebengine-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')
-rw-r--r--chromium/media/base/supported_types.cc1
-rw-r--r--chromium/media/fuchsia/common/vmo_buffer_writer_queue.cc10
-rw-r--r--chromium/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc19
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;
}