Two Buffer Queue exist in the whole application system of camera: idle Buffer Queue and ready Buffer Queue. Idle Buffer Queue are maintained by the client, while ready Buffer Queue is maintained by the camera driver.
At the beginning of the application, all the capture buffer is in the idle Buffer Queue. At this time, the driver cannot control the capture. To allow the driver to control these buffers, the client needs to transmit the buffer from the idle Buffer Queue to the ready Buffer Queue. This action is completed by cs_enqueue of ioctl_cs_property.
When the driver calls such ioctl, it can control the buffer. when the driver fills the buffer, the driver still needs to return the buffer. This action is completed by sending a message through writemsgqueue. The power of writemsgqueue is usually the interruption of our camera interface.
Therefore, in the camera application, the buffer actually rotates back and forth between the client and the driver.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.