From 9c18773e65236069b2cc84369b8d2130d418e97a Mon Sep 17 00:00:00 2001 From: sladro Date: Mon, 5 Jan 2026 18:56:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8A=B1=E5=B1=8F3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/preprocess/preprocess_node.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/preprocess/preprocess_node.cpp b/plugins/preprocess/preprocess_node.cpp index 1e91fd4..3b99166 100644 --- a/plugins/preprocess/preprocess_node.cpp +++ b/plugins/preprocess/preprocess_node.cpp @@ -360,10 +360,14 @@ private: std::cerr << "[preprocess] DMA alloc for src failed\n"; return false; } + // CPU writes to a DMA-BUF must be flushed before RGA reads it. + DmaSyncStartFd(src_dma_buf->fd); if (!CopyToStridedBuffer(*frame, src_dma_buf->data(), src_dma_buf->size, src_wstride, src_hstride)) { + DmaSyncEndFd(src_dma_buf->fd); std::cerr << "[preprocess] copy src to DMA failed\n"; return false; } + DmaSyncEndFd(src_dma_buf->fd); src_buf = wrapbuffer_fd_t(src_dma_buf->fd, frame->width, frame->height, src_wstride, src_hstride, src_fmt_rga); } else {