diff options
author | Hans de Goede <hdegoede@redhat.com> | 2024-08-30 13:12:07 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-08-30 15:17:27 +0300 |
commit | 7a36d05795fddf66f3ddaec710a8cace5af5623a (patch) | |
tree | 195708fce5bd80ccbab7819aa5d0e0d917f7cbfa /src/apps/cam | |
parent | 11e396bf9faf708bedc785a3ac5a4d3cc69f4c75 (diff) |
pipeline: uvcvideo: Implement acquireDevice() + releaseDevice()
The uvcvideo pipeline handler always keeps the uvcvideo /dev/video# node
for a pipeline open after enumerating the camera.
This is a problem for uvcvideo, as keeping the /dev/video# node open
stops the underlying USB device and the USB bus controller from being
able to enter runtime-suspend causing significant unnecessary
power-usage.
Implement acquireDevice() + releaseDevice(), openening /dev/video# on
acquire and closing it on release to fix this.
And make validate do a local video_->open() + close() around validate()
when not open yet, to keep validate() working on unacquired cameras.
Bug: https://bugs.libcamera.org/show_bug.cgi?id=168
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/apps/cam')
0 files changed, 0 insertions, 0 deletions