Windows Mobile Camera Driver Buffer的管理


Camera的整个应用系统中存在2个buffer queue: idle buffer queue和ready buffer queue. idle buffer queue由client维护,而ready buffer queue由camera driver维护。
在应用的最初,所有的capture buffer都在idle buffer queue中,此时驱动程序对这些capture是无法控制的。那么为了让驱动程序可以控制这些buffer, client就需要将buffer从idle buffer queue传送到ready buffer queue.这个动作是由IOCTL_CS_PROPERTY的CS_ENQUEUE来完成的。
当驱动程序的到这样的IOCTL call,它就可以控制这个buffer.当驱动程序将这个buffer填充完毕,驱动还需将这个buffer传回,这个动作则是通过WriteMsgQueue发送消息完成的。而这个WriteMsgQueue的动力,往往就是我们camera interface的中断。
Windows Mobile Camera Driver Buffer的管理_第1张图片
因此从整体看camera应用中,buffer实在client和driver之间来回旋转的。

你可能感兴趣的:(windows,mobile,buffer,interface)