Camera Sharing

Updated: April 19, 2023

The Shared Video and Camera framework allows the host and guests to share the same camera.

Applications in each OS can stream the same camera display at the same time. Also, the host can take responsibility for streaming the display until the guest boots up, at which point the guest can take over.

The camera-sharing framework provides a virtual device that forwards camera requests from guest applications to the Camera library on the host. The device interacts with this library like a regular client, and the library uses the Sensor Framework to work with the camera hardware.

Note:

Depending on your configuration, to use the camera-sharing framework, you may need the Screen Graphics Subsystem on your host system. This component is included in QNX SDP (and therefore, by default will be present in any host image you build), and in the virtualization frameworks images.

This framework is considered experimental because the VirtIO specification that defines the virtual device interface or the guest OS components that use this interface might change. Thus, the guest or host components may require updates in future releases.

This chapter explains the framework's architecture, in which the hypervisor manages interaction between guest applications and the camera, how to configure the virtual device in a VM to make it available to a guest, and how to add the necessary framework components to the guests and host.