天天看點

在android車機上調試USB Camera錄像拍照功能

在android車機上調試USB Camera錄像拍照功能

        USB Camera在上一篇文章中已經跑起來了,上次的情況是camera預覽可以,拍照、錄像不行。除了強制設定視訊裝置裝置檔案為/dev/video2,也就是這個usb

camera插入系統後自動配置設定的裝置檔案,其他沒有修改。一拍照或者錄像,程式就死了,錯誤列印如下:

/*****************************************************************************************************/

聲明:本博内容均由http://blog.csdn.net/sundesheng125原創,轉載請注明出處,謝謝!

跟了一下uvc的driver,頭很大,代碼一大堆,千絲萬縷中找到錯誤出在uvc_v4l2_set_format函數裡。又加了一些列印發現錯誤出在:

        看了一下uvc_queue_allocated這個接口,發現裡面是判斷這個queue的buffer size是否大于0,大于0的話就說明已經配置設定過了,調用uvc_queue_allocated這個接口就會傳回true,進而出錯出去,會造成camera

hal層接着出錯。 

       因為在android camera apk應用中一進去就是preview的狀态,切到錄像或者拍照要另外執行動作,整個處理會有變化,然而可能是因為UVC的裝置打開後操作産生的stream的queue沒有釋放,造成在重制uvc_v4l2_set_format的時候,就會在中間出錯跳出,是以筆者稍作了一下改動,在調用uvc_queue_allocated傳回出錯的地方屏蔽掉,也就是你有這個queue,我就繼續用你,理論上應該是可行。重新編譯一下,燒進去,一跑,果然可以拍照跟錄像了。但是拍的照片有一點小問題,就是在照片中莫名的多了一些短的黑線,預覽的時候沒有這些短線,筆者還不知道是什麼原因。另外筆者還需要研究的是多個usb

camera在android中看看是否能同時工作,預計這裡面有很多工作,還是繼續朝着這個方向前進。下面貼修改的代碼以及排的一張照片:

在android車機上調試USB Camera錄像拍照功能

繼續閱讀