From 3252f5d8e481b65571ebb95801754a10dc910632 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Wed, 12 Jun 2024 17:14:07 +0200 Subject: [PATCH] PipeWire capture: fix mmap arguments Do not add offset to the "length" argument for mmap call as it should be passed as the last argument instead. This was not causing any problems since the offset is usually 0, but it's still better to do it correctly. Bug: webrtc:42225999 Change-Id: If1dbe7dfd2fb22c53493c0fafd23d782f0683a11 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354521 Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Jan Grulich Cr-Commit-Position: refs/heads/main@{#42481} --- modules/video_capture/linux/video_capture_pipewire.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/video_capture/linux/video_capture_pipewire.cc b/modules/video_capture/linux/video_capture_pipewire.cc index 21cb83a160..d7cd50df66 100644 --- a/modules/video_capture/linux/video_capture_pipewire.cc +++ b/modules/video_capture/linux/video_capture_pipewire.cc @@ -418,11 +418,10 @@ void VideoCaptureModulePipeWire::ProcessBuffers() { ScopedBuf frame; frame.initialize( static_cast( - mmap(nullptr, - spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset, - PROT_READ, MAP_PRIVATE, spaBuffer->datas[0].fd, 0)), - spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset, - spaBuffer->datas[0].fd, spaBuffer->datas[0].type == SPA_DATA_DmaBuf); + mmap(nullptr, spaBuffer->datas[0].maxsize, PROT_READ, MAP_PRIVATE, + spaBuffer->datas[0].fd, spaBuffer->datas[0].mapoffset)), + spaBuffer->datas[0].maxsize, spaBuffer->datas[0].fd, + spaBuffer->datas[0].type == SPA_DATA_DmaBuf); if (!frame) { RTC_LOG(LS_ERROR) << "Failed to mmap the memory: "