This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omap4xxx Camera HAL testing Android



Hi,

I am involved in preparing camera HAL for a new platform.

I wanted to know how OMAP 4xxx camera HAL is tested in android.

I found camera HAL test case under "hardware\ti\omap4xxx\test\CameraHal",

But found difficulty in understanding the same, as it is not calling the Camera HAL interfaces directly.

Could you please explain the

A. Basics of that test case (How it calls the Camera HAL API's/Interface indirectly, Methods used in this test case belongs to which layer of android (Native Framework/camera service layer)

B. How the test case executed after building

C. How the testcase output verified(compared with reference output, or manually verifying the output in the  display)

  • the most common execution scenario is through Android Camera app. If you are able to launch camera app and see preview coming through it means HAL is working.

  • --------------------------------------------------------------------------------------------------------------------------------------------------------------

    Android Camera Stack:

    Android application-> Application FW-> JNI-> Native FW-> Binder I/F-> Camera Service-> Camera HAL-> Camera Driver-> Camera HW

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    Yes that is correct.

    But I wanted to do unit testing of the Camera HAL interfaces developed. For that we can't use an android camera application right, if any issue there in the Camera HAL then debugging will be difficult as there are many layers between "Android application" and "Camera HAL".


    In the camera HAL test case/ test application (hardware\ti\omap4xxx\test\CameraHal) used for OMAP 4xxx platform camera HAL testing, it is observed that, camera HAL interfaces are not directy called.

    The test case uses 'Native FW' layer API's for calling camera HAL functions through 'Camera Service' Layer.

    Exactly I wanted to know the reason for not calling the camera HAL interfaces directly ie why Native FW API's are used in the test application instead of direct 'camera HAL' interfaces?

  • >>I am involved in preparing camera HAL for a new platform.

    What is the new platform?

  • Sorry. I can't expose the platform details.

    I just wanted to know, Is it possible to call the camera HAL interfaces defined in camera.h (hardware\libhardware\include\hardware) directly (for unit testing) by a native test application, If yes how "window" created to pass to the "set_preview_window" camera HAL interface and how output of the camera HAL interface(preview, take picture) can be verified in native test application?

  • We are sorry too. We don't support development efforts on non TI platforms.

  • I understand the support is limited to TI platforms. Thanks for your valuable time.

    However I managed to found and prototyped, calling of android camera HAL API's directly without any intermediate layer. Preview and take picture is working fine.