From ccbdba7ee2ccb835306de89a6023134fa6b8006f Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Fri, 21 Mar 2025 20:19:53 +0100 Subject: syncobj: refactor point timelines (#9689) no need to store the resource, just store the csynctimeline as a shared pointer and make the timeline own the syncobj fd. --- src/helpers/sync/SyncTimeline.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/helpers/sync/SyncTimeline.cpp') diff --git a/src/helpers/sync/SyncTimeline.cpp b/src/helpers/sync/SyncTimeline.cpp index d11205bc..224b2c0f 100644 --- a/src/helpers/sync/SyncTimeline.cpp +++ b/src/helpers/sync/SyncTimeline.cpp @@ -19,12 +19,13 @@ SP CSyncTimeline::create(int drmFD_) { return timeline; } -SP CSyncTimeline::create(int drmFD_, int drmSyncobjFD) { - auto timeline = SP(new CSyncTimeline); - timeline->drmFD = drmFD_; - timeline->self = timeline; +SP CSyncTimeline::create(int drmFD_, CFileDescriptor&& drmSyncobjFD) { + auto timeline = SP(new CSyncTimeline); + timeline->drmFD = drmFD_; + timeline->syncobjFd = std::move(drmSyncobjFD); + timeline->self = timeline; - if (drmSyncobjFDToHandle(drmFD_, drmSyncobjFD, &timeline->handle)) { + if (drmSyncobjFDToHandle(drmFD_, timeline->syncobjFd.get(), &timeline->handle)) { Debug::log(ERR, "CSyncTimeline: failed to create a drm syncobj from fd??"); return nullptr; } -- cgit v1.2.3