--- src/3rdparty/chromium/media/base/video_frame.cc.orig 2021-12-15 16:12:54 UTC +++ src/3rdparty/chromium/media/base/video_frame.cc @@ -60,7 +60,7 @@ std::string VideoFrame::StorageTypeToString( return "OWNED_MEMORY"; case VideoFrame::STORAGE_SHMEM: return "SHMEM"; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) case VideoFrame::STORAGE_DMABUFS: return "DMABUFS"; #endif @@ -77,7 +77,7 @@ bool VideoFrame::IsStorageTypeMappable(VideoFrame::Sto // static bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { return -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // This is not strictly needed but makes explicit that, at VideoFrame // level, DmaBufs are not mappable from userspace. storage_type != VideoFrame::STORAGE_DMABUFS && @@ -262,7 +262,7 @@ static base::Optional GetDefaultLayo return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // This class allows us to embed a vector into a scoped_refptr, and // thus to have several VideoFrames share the same set of DMABUF FDs. class VideoFrame::DmabufHolder @@ -280,7 +280,7 @@ class VideoFrame::DmabufHolder friend class base::RefCountedThreadSafe; ~DmabufHolder() = default; }; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // static bool VideoFrame::IsValidConfig(VideoPixelFormat format, @@ -607,7 +607,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM } uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) { const auto gmb_handle = gpu_memory_buffer->CloneHandle(); if (gmb_handle.is_null() || @@ -645,7 +645,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM return frame; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // static scoped_refptr VideoFrame::WrapExternalDmabufs( const VideoFrameLayout& layout, @@ -847,7 +847,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( } } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) DCHECK(frame->dmabuf_fds_); // If there are any |dmabuf_fds_| plugged in, we should refer them too. wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_; @@ -1190,7 +1190,7 @@ VideoFrame::mailbox_holder(size_t texture_index) const : mailbox_holders_[texture_index]; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const std::vector& VideoFrame::DmabufFds() const { DCHECK_EQ(storage_type_, STORAGE_DMABUFS); @@ -1273,7 +1273,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, storage_type_(storage_type), visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))), natural_size_(natural_size), -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) dmabuf_fds_(base::MakeRefCounted()), #endif timestamp_(timestamp),