Skip to content

aja: Replace global semaphore with per-device flock()

Xavier Claessens requested to merge xclaesse/gstreamer:aja-lock into main

The global semaphore was never closed/unlinked, causing permission denied issue if the device is later used by another user. Properly removing the semaphore when stopping the pipeline would still leave it open in case of a crash.

With a GStreamer specific name, it was also not preventing other apps to access the device concurrently.

Finally, if the system has multiple cards, the lock should be per card and not global (to be confirmed).

Fixes: #3283 (closed).

Sponsored-by: Netflix Inc.

Merge request reports