IBlackmagicRawProcessedImage life cycle?

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

Mike Woodworth

  • Posts: 6
  • Joined: Wed Jan 21, 2015 8:04 pm

IBlackmagicRawProcessedImage life cycle?

PostTue Oct 02, 2018 2:16 am

I'm trying to shoe horn the BRAW SDK into an existing highly asynchronous pipeline. Everything works great if I use CPU processing and copy the image to a privately managed buffer in the ProcessComplete callback.

However, if I switch processing to OpenCL, and try to hold the returned cl_mem for a frame or two while my pipeline processes things, I run into issues. It appears the SDK may decode subsequent frames into the buffer before I've had a chance to read it out. What is the lifetime of the returned IBlackmagicRawProcessedImage in ProcessComplete? It appears it is only until valid the callback returns.

I've tried delaying the call to job->Release() until I've finished using the image. I've also tried calling AddRef() on the processed image and Release() later. Neither seems to have the desired effect.

Am I missing anything, or is my only option to copy the buffer in the callback and call flush opencl before returning?

-mike

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 13 guests