summaryrefslogtreecommitdiff
path: root/www/chromium-uc/patches/patch-media_base_video_frame_cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium-uc/patches/patch-media_base_video_frame_cc')
-rw-r--r--www/chromium-uc/patches/patch-media_base_video_frame_cc68
1 files changed, 68 insertions, 0 deletions
diff --git a/www/chromium-uc/patches/patch-media_base_video_frame_cc b/www/chromium-uc/patches/patch-media_base_video_frame_cc
new file mode 100644
index 0000000..213aa52
--- /dev/null
+++ b/www/chromium-uc/patches/patch-media_base_video_frame_cc
@@ -0,0 +1,68 @@
1$OpenBSD: patch-media_base_video_frame_cc,v 1.37 2021/11/16 11:28:47 robert Exp $
2
3Index: media/base/video_frame.cc
4--- media/base/video_frame.cc.orig
5+++ media/base/video_frame.cc
6@@ -73,7 +73,7 @@ std::string VideoFrame::StorageTypeToString(
7 return "OWNED_MEMORY";
8 case VideoFrame::STORAGE_SHMEM:
9 return "SHMEM";
10-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
11+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
12 case VideoFrame::STORAGE_DMABUFS:
13 return "DMABUFS";
14 #endif
15@@ -90,7 +90,7 @@ std::string VideoFrame::StorageTypeToString(
16 // static
17 bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
18 return
19-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
20+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
21 // This is not strictly needed but makes explicit that, at VideoFrame
22 // level, DmaBufs are not mappable from userspace.
23 storage_type != VideoFrame::STORAGE_DMABUFS &&
24@@ -278,7 +278,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
25 return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
26 }
27
28-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
29+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
30 // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
31 // thus to have several VideoFrames share the same set of DMABUF FDs.
32 class VideoFrame::DmabufHolder
33@@ -663,7 +663,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
34 return frame;
35 }
36
37-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
38+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
39 // static
40 scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
41 const VideoFrameLayout& layout,
42@@ -887,7 +887,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
43 }
44 }
45
46-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
47+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
48 DCHECK(frame->dmabuf_fds_);
49 // If there are any |dmabuf_fds_| plugged in, we should refer them too.
50 wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
51@@ -1253,7 +1253,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
52 : mailbox_holders_[texture_index];
53 }
54
55-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
56+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
57 const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
58 DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
59
60@@ -1365,7 +1365,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
61 storage_type_(storage_type),
62 visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
63 natural_size_(natural_size),
64-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
65+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
66 dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
67 #endif
68 timestamp_(timestamp),