[ITC][camera][ACR-1688] Added ITCs for new Camera APIs 13/278813/4
authorAnkit Srivastava <ankit.sri1@samsung.com>
Tue, 26 Jul 2022 09:16:56 +0000 (14:46 +0530)
committerAnkit Srivastava <ankit.sri1@samsung.com>
Tue, 2 Aug 2022 10:09:03 +0000 (10:09 +0000)
- Add new APIs for network camera (device manager and extra preview stream)
TCs added for APIs:
-camera_create_network()
-camera_device_manager_initialize()
-camera_device_manager_deinitialize()
-camera_device_manager_foreach_supported_device()
-camera_device_manager_add_device_connection_changed_cb()
-camera_device_manager_remove_device_connection_changed_cb()
-camera_is_supported_extra_preview()
-camera_set_extra_preview_cb()
-camera_unset_extra_preview_cb()
-camera_set_extra_preview_stream_format()
-camera_get_extra_preview_stream_format()
-camera_attr_set_extra_preview_bitrate()
-camera_attr_get_extra_preview_bitrate()
-camera_attr_set_extra_preview_gop_interval()
-camera_attr_get_extra_preview_gop_interval()
-camera_attr_get_preview_frame_rotation()

Change-Id: Id381a03bb20e4a90710f4c69ddcb8e909ef8e408
Signed-off-by: Ankit Srivastava <ankit.sri1@samsung.com>
src/itc/camera/ITs-camera-attribute.c
src/itc/camera/ITs-camera.c [changed mode: 0755->0644]
src/itc/camera/tct-camera-native_mobile.h
src/itc/camera/tct-camera-native_tizeniot.h
src/itc/camera/tct-camera-native_tv.h
src/itc/camera/tct-camera-native_wearable.h

index 65d8bbfa5207e2456a6dbbe5281261f960b09cf2..5ab1fa4436cc81a7bef38a4cd81619756e9629c2 100755 (executable)
 */
 
 //& set: Camera
- static camera_h g_camera;
- static camera_device_e g_eCameraDev = CAMERA_DEVICE_CAMERA0;
- static bool g_bCameraCreation = false;
-
- static bool g_bCallbackHit = false;
- static bool g_bCameraCaptureStarted = false;
- static bool g_bCameraCaptureStopped = false;
+static camera_h g_camera;
+static camera_device_e g_eCameraDev = CAMERA_DEVICE_CAMERA0;
+static bool g_bCameraCreation = false;
+static int g_nRetPreviewFrameRotation = 0;
+
+static bool g_bCallbackHit = false;
+static bool g_bCameraCaptureStarted = false;
+static bool g_bCameraCaptureStopped = false;
 static GMainLoop *g_pCameraMainLoop = NULL;
 
- static bool g_bFeatureCamera = false;
- static bool g_bFeatureCameraBack = false;
- static bool g_bFeatureCameraFront = false;
- static bool g_bFeatureCameraBackFlash = false;
- static bool g_bFeatureCameraFrontFlash = false;
- static bool g_bCameraReadFeatureStatusDone = false;
+static bool g_bFeatureCamera = false;
+static bool g_bFeatureCameraBack = false;
+static bool g_bFeatureCameraFront = false;
+static bool g_bFeatureCameraBackFlash = false;
+static bool g_bFeatureCameraFrontFlash = false;
+static bool g_bCameraReadFeatureStatusDone = false;
+
+static bool g_bSkipExecutionWithPass = false;
+static bool g_bSkipExecutionWithFail = false;
+static bool g_bExtraPreviewSupported = false;
 
- static bool g_bSkipExecutionWithPass = false;
- static bool g_bSkipExecutionWithFail = false;
-  
- #define BITRATE 16
- #define GOPINTERVAL 4  
+#define BITRATE 1000000 /* 1 Mbps */
+#define GOPINTERVAL 1000    /* 1 sec */
+#define STREAMID    0
 
 /**
 * @function            ITs_camera_startup
@@ -476,11 +478,30 @@ void CameraAttrHdrProgressCB(int nPercent, void *user_data)
 */
 bool CameraAttrSupportedPtzTypeCB(camera_attr_ptz_type_e type, void *user_data)
 {
-       FPRINTF("[Line : %d][%s] callback hit CameraAttrSupportedPtzTypeCB \\n", __LINE__, API_NAMESPACE);
+       FPRINTF("[Line : %d][%s] callback hit CameraAttrSupportedPtzTypeCB, type = %d\\n", __LINE__, API_NAMESPACE, type);
        g_bCallbackHit = true;
        return false;
 }
 
+/**
+* @function            CameraAttrSupportedPreviewCBForRotation
+* @description         Callback function which is invoked on calling camera_set_preview_cb API
+* @parameter           camera_preview_data_s *frame, void *user_data
+* @return                      void
+*/
+void CameraAttrSupportedPreviewCBForRotation(camera_preview_data_s *frame, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] reached camera supported preview format callback, percent = %d\\n", __LINE__, API_NAMESPACE, nPercent);
+#endif
+       g_bCallbackHit = true;
+       if ( user_data != NULL )
+       {
+               g_nRetPreviewFrameRotation = camera_attr_get_preview_frame_rotation(g_camera, user_data);
+       }
+       return;
+}
+
 /** @addtogroup itc-camera-testcases
 *  @brief              Integration testcases for module camera
 *  @ingroup    itc-camera
@@ -2733,7 +2754,7 @@ int ITc_camera_attr_set_get_hue_p(void)
 int ITc_camera_attr_get_hue_range_p(void)
 {
        START_TEST;
-       int nMinLevel, nMaxLevel, nGetLevel=0;
+       int nMinLevel, nMaxLevel;
 
        int nRet = camera_attr_get_hue_range( g_camera, &nMinLevel, &nMaxLevel);
        CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_attr_get_hue_range");
@@ -2746,5 +2767,200 @@ int ITc_camera_attr_get_hue_range_p(void)
 
        return 0;
 }
+
+//& purpose: To compare bitrate value with set and get call to extra preview bitrate
+//& type: auto
+/**
+* @testcase                    ITc_camera_attr_set_get_extra_preview_bitrate_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Sets and Gets the bitrate value
+* @scenario                            Check camera device manager feature is supported or not, sets bitrate value, checks extra preview supported, get bitrate value, compare both values
+* @apicovered                  camera_attr_set_extra_preview_bitrate, camera_attr_get_extra_preview_bitrate
+* @passcase                            When camera_attr_set_extra_preview and camera_attr_get_extra_preview are successful
+* @failcase                            If target API camera_attr_set_extra_preview_bitrate and camera_attr_get_extra_preview_bitrate value mismatches
+* @precondition                        Camera handle must be created and extra preview support must be checked
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_attr_set_get_extra_preview_bitrate_p(void)
+{
+       START_TEST;
+       g_bExtraPreviewSupported = camera_is_supported_extra_preview(g_camera);
+       int nGetVal, val = 0;
+
+       int nRet = camera_attr_set_extra_preview_bitrate(g_camera, val, BITRATE);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_attr_set_extra_preview_bitrate");
+
+       if(g_bExtraPreviewSupported)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_attr_set_extra_preview_bitrate", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_attr_set_extra_preview_bitrate", CameraGetError(nRet));
+       }
+
+       nRet = camera_attr_get_extra_preview_bitrate(g_camera, 0, &nGetVal);
+
+       if(g_bExtraPreviewSupported)
+       {
+               if(nGetVal != BITRATE)
+               {
+                       FPRINTF("[Line : %d][%s] Set/Get values mismatch\\n", __LINE__, API_NAMESPACE);
+                       return 1;
+               }
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_attr_get_extra_preview_bitrate", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_attr_get_extra_preview_bitrate", CameraGetError(nRet));
+       }
+       return 0;
+}
+
+//& purpose: To compare GOP Interval value with set and get call to extra_preview_gop_interval
+//& type: auto
+/**
+* @testcase                    ITc_camera_attr_set_get_extra_preview_gop_interval_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Sets and Gets the gop_interval value
+* @scenario                            Check camera device manager feature is supported or not, sets gop interval value, checks extra preview supported, get gop interval value, compare both values
+* @apicovered                  camera_attr_set_extra_preview_gop_interval, camera_attr_set_extra_preview_gop_interval, camera_attr_get_extra_preview_gop_interval
+* @passcase                            When camera_attr_set_extra_preview_gop_interval and camera_attr_get_extra_preview are successful
+* @failcase                            If target API camera_attr_set_extra_preview_gop_interval and camera_attr_get_extra_preview_gop_interval value mismatches
+* @precondition                        Camera handle must be created and extra preview support must be checked
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_attr_set_get_extra_preview_gop_interval_p(void)
+{
+       START_TEST;
+       int nGetVal;
+       g_bExtraPreviewSupported = camera_is_supported_extra_preview(g_camera);
+
+       int nRet = camera_attr_set_extra_preview_gop_interval(g_camera, STREAMID, GOPINTERVAL);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_attr_set_extra_preview_gop_interval");
+
+       if(g_bExtraPreviewSupported)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_attr_set_extra_preview_gop_interval", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_attr_set_extra_preview_gop_interval", CameraGetError(nRet));
+       }
+
+       nRet = camera_attr_get_extra_preview_gop_interval(g_camera, 0, &nGetVal);
+       if(g_bExtraPreviewSupported)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_attr_set_extra_preview_gop_interval", CameraGetError(nRet));
+               if (nGetVal != GOPINTERVAL)
+               {
+                       FPRINTF("[Line : %d][%s] Set/Get values mismatch\\n", __LINE__, API_NAMESPACE);
+                       return 1;
+               }
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_attr_set_extra_preview_gop_interval", CameraGetError(nRet));
+       }
+       return 0;
+}
+
+//& purpose: To check the camera extra preview feature is supported or not
+//& type: auto
+/**
+* @testcase                    ITC_camera_is_supported_extra_preview_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 check the camera extra preview feature is supported or not
+* @scenario                            Check camera device manager, camera extra preview feature is supported or not
+* @apicovered                  camera_is_supported_extra_preview
+* @passcase                            When camera_is_supported_extra_preview is successful
+* @failcase                            If target API camera_is_supported_extra_preview fails
+* @precondition                        Camera handle must be created and extra preview support must be checked
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_is_supported_extra_preview_p(void)
+{
+       START_TEST;
+       bool nRet = camera_is_supported_extra_preview(g_camera);
+
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_is_supported_extra_preview");
+
+       if(nRet)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+       }
+       return 0;
+}
+
+//& purpose: Get Preview frame rotation value
+//& type: auto
+/**
+* @testcase                    ITc_camera_attr_get_preview_frame_rotation_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Gets the preview_frame_rotation value
+* @scenario                            Check camera device manager feature is supported or not, sets value of camera_rotation type, callback CameraAttrSupportedPreviewCBForRotation hit, value compared
+* @apicovered                  camera_set_preview_cb, camera_start_preview, camera_stop_preview, camera_unset_preview_cb
+* @passcase                            When camera_set_preview_cb, camera_start_preview, camera_stop_preview, camera_unset_preview_cb APIs are successful and callback is invoked
+* @failcase                            If target API camera_set_preview_cb or camera_start_preview or camera_stop_preview or camera_unset_preview_cb fails or callbac is not hit or Ret value mismatches
+* @precondition                        Camera handle must be created and extra preview support must be checked
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_attr_get_preview_frame_rotation_p(void)
+{
+       START_TEST;
+       g_bCallbackHit = false;
+       camera_rotation_e eSetVal= CAMERA_ROTATION_NONE;
+
+       int nRet = camera_set_preview_cb(g_camera, CameraAttrSupportedPreviewCBForRotation, &eSetVal);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_set_preview_cb");
+
+       PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_set_preview_cb", CameraGetError(nRet), camera_start_preview(g_camera); camera_stop_preview(g_camera); camera_unset_preview_cb(g_camera););
+
+       nRet = camera_start_preview(g_camera);
+       PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_start_preview", CameraGetError(nRet), camera_stop_preview(g_camera); camera_unset_preview_cb(g_camera););
+
+       usleep(1000000);
+       if ( g_bCallbackHit == false )
+       {
+               FPRINTF("[Line : %d][%s] callback did not invoke\\n", __LINE__, API_NAMESPACE);
+               camera_stop_preview(g_camera);
+               camera_unset_preview_cb(g_camera);
+               return 1;
+       }
+       camera_stop_preview(g_camera);
+       camera_unset_preview_cb(g_camera);
+
+       if(g_nRetPreviewFrameRotation != CAMERA_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] Ret value mismatch\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+       return 0;
+}
+
 /** @} */
 /** @} */
old mode 100755 (executable)
new mode 100644 (file)
index 84e3b25..1ffd85c
@@ -24,7 +24,8 @@
 
 static camera_h g_camera;
 static camera_device_e g_eCameraDev = CAMERA_DEVICE_CAMERA0;
-static bool g_bCameraCreation = false;
+static camera_device_e g_eNetworkCameraDev = CAMERA_DEVICE_CAMERA0;
+static camera_device_manager_h g_manager;
 
 static bool g_bCallbackHit = false;
 static bool g_bCameraCaptureStarted = false;
@@ -48,6 +49,10 @@ static int g_nCapResHeight;
 static Evas_Object *camera_win = NULL;
 bool g_bCameraWindowFail = false;
 
+static bool g_bCameraCreation = false;
+static bool g_bNetworkCameraSupported = false;
+static bool g_bExtraPreviewSupported = false;
+
 static void DeleteCameraWindow(void *data, Evas_Object *obj, void *event)
 {
        return;
@@ -536,6 +541,74 @@ static bool CameraAttrSupportedPreviewResolutionCB(int width, int height, void *
        return false;
 }
 
+/**
+* @function            CameraAttrSupportedDeviceCB
+* @description         Callback function which is invoked when camera_foreach_supported_preview_resolution is called
+* @parameter           int width, int height, void *user_data : user data to be passed
+* @return                      false: skip next value, true: check next value
+*/
+
+static bool CameraAttrSupportedDeviceCB(camera_device_type_e type, camera_device_e device,
+       const char *name, const char *id, int extra_preview_stream_num, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] reached camera supported device callback, supported type = %d\\n", __LINE__, API_NAMESPACE, type);
+#endif
+       g_bCallbackHit = true;
+       if ( user_data == NULL )
+       {
+               FPRINTF("[Line : %d][%s] user data is null \\n", __LINE__, API_NAMESPACE);
+       }
+       if (type == CAMERA_DEVICE_TYPE_NETWORK) {
+               g_bNetworkCameraSupported = true;
+               g_eNetworkCameraDev = device;
+               return false;
+       }
+
+       return true;
+}
+
+/**
+* @function            CameraAttrDeviceConnectionChangedCB
+* @description         Callback function which is invoked when camera_device_manager_add_device_connection_changed_cb is called
+* @parameter           camera_device_type_e type, camera_device_e device, const char *name, const char *id, int extra_preview_stream_num, bool is_connected, void *user_data : user data to be passed
+* @return              NA
+*/
+static void CameraAttrDeviceConnectionChangedCB(camera_device_type_e type, camera_device_e device,
+       const char *name, const char *id, int extra_preview_stream_num, bool is_connected, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] reached camera device connection changed callback, supported type = %d, supported device = %d\\n", __LINE__, API_NAMESPACE, type, device);
+#endif
+       g_bCallbackHit = true;
+       if ( user_data == NULL )
+       {
+               FPRINTF("[Line : %d][%s] user data is null \\n", __LINE__, API_NAMESPACE);
+       }
+       FPRINTF("[Line : %d][%s] device [%d], name[%s], id[%s], is_connected[%d], extra stream num[%d]\n", __LINE__, API_NAMESPACE,device, name, id, is_connected, extra_preview_stream_num);
+       return;
+}
+
+/**
+* @function            CameraAttrExtraPreviewCB
+* @description         Callback function which is invoked when ccamera_set_extra_preview_cb API is called
+* @parameter           camera_preview_data_s *frame, int stream_id, void *user_data : user data to be passed
+* @return              NA
+*/
+static void CameraAttrExtraPreviewCB(camera_preview_data_s *frame, int stream_id, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] reached camera extra preview callback, supported frame = %d, supported id = %d\\n", __LINE__, API_NAMESPACE, frame, stream_id);
+#endif
+       usleep(5000);
+       g_bCallbackHit = true;
+       if ( user_data == NULL )
+       {
+               FPRINTF("[Line : %d][%s] user data is null \\n", __LINE__, API_NAMESPACE);
+       }
+       return;
+}
+
 /** @addtogroup itc-camera-testcases
 *  @brief              Integration testcases for module camera
 *  @ingroup    itc-camera
@@ -1474,21 +1547,350 @@ int ITc_camera_get_flash_state_p(void)
 */
 int ITc_camera_change_device_p(void)
 {
-       START_TEST;     
+       START_TEST;
 
        int device_count = 0;
 
-       int nRet = camera_get_device_count(g_camera, &device_count);    
+       int nRet = camera_get_device_count(g_camera, &device_count);
        PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_get_device_count", CameraGetError(nRet));
        if (device_count < 2) {
                FPRINTF("[Line : %d][%s] Not support secondary CAMERA \\n", __LINE__, API_NAMESPACE);
                return 0;
        }
-       
-       nRet = camera_change_device(g_camera, CAMERA_DEVICE_CAMERA1);   
+
+       nRet = camera_change_device(g_camera, CAMERA_DEVICE_CAMERA1);
        CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_change_device");
        PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_change_device", CameraGetError(nRet));
-               
+
+       return 0;
+}
+
+//& purpose: Create network for the camera device
+//& type: auto
+/**
+* @testcase                    ITc_camera_create_network_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Create network for the camera device
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                          2. Check callback hit or not \n
+*                       3. check network camera supported or not \n
+*                       4. create camera network handle
+* @apicovered                  camera_device_manager_initialize, camera_device_manager_foreach_supported_device, camera_device_manager_deinitialize, camera_create_network
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+
+int ITc_camera_create_network_p(void)
+{
+       START_TEST;
+       camera_h network_camera = NULL;
+       g_bCallbackHit = false;
+
+       int nRet = camera_device_manager_initialize(&g_manager);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_device_manager_initialize");
+       if (nRet == CAMERA_ERROR_NOT_SUPPORTED)
+       {
+               FPRINTF("[Line : %d][%s] camera device manager is not supported\\n", __LINE__, API_NAMESPACE);
+               return 0;
+       }
+
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_initialize", CameraGetError(nRet));
+
+       nRet = camera_device_manager_foreach_supported_device(g_manager, CameraAttrSupportedDeviceCB, NULL);
+       if ( g_bCallbackHit == false)
+       {
+               FPRINTF("[Line : %d][%s] callback did not invoke\\n", __LINE__, API_NAMESPACE);
+               camera_device_manager_deinitialize(g_manager);
+               return 1;
+       }
+
+       camera_device_manager_deinitialize(g_manager);
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_deinitialize", CameraGetError(nRet));
+
+       nRet = camera_create_network(g_eNetworkCameraDev, &network_camera);
+
+       if (g_bNetworkCameraSupported == true)
+       {
+               FPRINTF("[Line : %d][%s]camera network is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_create_network", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] camera network is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_create_network", CameraGetError(nRet));
+               return 0;
+       }
+       if (network_camera)
+       {
+               nRet = camera_destroy(network_camera);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_create_network", CameraGetError(nRet));
+       }
+       return 0;
+}
+
+//& purpose: Initialize and deinitialize the camera device manager
+//& type: auto
+/**
+* @testcase                    ITc_camera_device_manager_initialize_deinitialize_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Initialize and deinitialize the camera device manager
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                       2. Initialize and deinitialize the camera device manager
+* @apicovered                  camera_device_manager_initialize, camera_device_manager_deinitialize
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+
+int ITc_camera_device_manager_initialize_deinitialize_p(void)
+{
+       START_TEST;
+       int nRet = camera_device_manager_initialize(&g_manager);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_device_manager_initialize");
+       if (nRet == CAMERA_ERROR_NOT_SUPPORTED)
+       {
+               FPRINTF("[Line : %d][%s] camera device manager is not supported\\n", __LINE__, API_NAMESPACE);
+               return 0;
+       }
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_initialize", CameraGetError(nRet));
+
+       nRet = camera_device_manager_deinitialize(g_manager);
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_deinitialize", CameraGetError(nRet));
+       return 0;
+}
+
+//& purpose: To check supported device with valid pointers in parameters.
+//& type: auto
+/**
+* @testcase                    ITc_camera_device_manager_foreach_supported_device_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Check supported device with valid pointers in parameters.
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                       2. Set valid pointers for supported device callback.
+*                       3. Check callback hit or not \n
+* @apicovered                  camera_device_manager_initialize, camera_device_manager_foreach_supported_device, camera_device_manager_deinitialize
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_device_manager_foreach_supported_device_p(void)
+{
+       START_TEST;
+       g_bCallbackHit = false;
+
+       int nRet = camera_device_manager_initialize(&g_manager);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_device_manager_initialize");
+       if (nRet == CAMERA_ERROR_NOT_SUPPORTED)
+       {
+               FPRINTF("[Line : %d][%s] camera device manager is not supported\\n", __LINE__, API_NAMESPACE);
+               return 0;
+       }
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_initialize", CameraGetError(nRet));
+
+       nRet = camera_device_manager_foreach_supported_device(g_manager, CameraAttrSupportedDeviceCB, NULL);
+
+       //check for callback
+       if ( g_bCallbackHit == false)
+       {
+               FPRINTF("[Line : %d][%s] callback did not invoke\\n", __LINE__, API_NAMESPACE);
+               camera_device_manager_deinitialize(g_manager);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_device_manager_foreach_supported_device", CameraGetError(nRet),camera_device_manager_deinitialize(g_manager););
+
+       camera_device_manager_deinitialize(g_manager);
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_deinitialize", CameraGetError(nRet));
+       return 0;
+}
+
+//& purpose: Add and remove device connection callback with valid parameters.
+//& type: auto
+/**
+* @testcase                    ITc_camera_device_manager_add_remove_device_connection_changed_cb_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Check adding device connection changed callback with valid parameters.
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                       2. Call camera_device_manager_add_device_connection_changed_cb API
+*                       3. Check callback hit or not \n
+*                       4. call camera_device_manager_remove_device_connection_changed_cb API
+* @apicovered                  camera_device_manager_initialize, camera_device_manager_add_device_connection_changed_cb, camera_device_manager_remove_device_connection_changed_cb, camera_device_manager_deinitialize
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_device_manager_add_remove_device_connection_changed_cb_p(void)
+{
+       START_TEST;
+       g_bCallbackHit = false;
+       int nCBId = 0;
+
+       int nRet = camera_device_manager_initialize(&g_manager);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_device_manager_initialize");
+       if (nRet == CAMERA_ERROR_NOT_SUPPORTED)
+       {
+               FPRINTF("[Line : %d][%s] camera device manager is not supported\\n", __LINE__, API_NAMESPACE);
+               return 0;
+       }
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_initialize", CameraGetError(nRet));
+
+       nRet = camera_device_manager_add_device_connection_changed_cb(g_manager, CameraAttrDeviceConnectionChangedCB, NULL, &nCBId);
+
+       //check for callback
+       if ( g_bCallbackHit == false)
+       {
+               FPRINTF("[Line : %d][%s] callback did not invoke\\n", __LINE__, API_NAMESPACE);
+               camera_device_manager_deinitialize(g_manager);
+               return 1;
+       }
+       PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_device_manager_add_device_connection_changed_cb", CameraGetError(nRet),camera_device_manager_deinitialize(g_manager););
+
+       nRet = camera_device_manager_remove_device_connection_changed_cb(g_manager, nCBId);
+       PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_device_manager_remove_device_connection_changed_cb", CameraGetError(nRet),camera_device_manager_deinitialize(g_manager););
+
+       camera_device_manager_deinitialize(g_manager);
+       PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_device_manager_deinitialize", CameraGetError(nRet));
+
+       return 0;
+}
+
+//& purpose: To set and unset the parameters for checking extra preview callback
+//& type: auto
+/**
+* @testcase                    ITc_camera_set_unset_extra_preview_cb_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 check set and unset extra preview callback with valid pointers in parameters.
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                       2. Check callback hit or not \n
+*                       3. create camera network handle \n
+*                       4. check network camera supported or not
+* @apicovered                  camera_set_extra_preview_cb, camera_is_supported_extra_preview, camera_unset_extra_preview_cb
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+
+
+int ITc_camera_set_unset_extra_preview_cb_p(void)
+{
+       START_TEST;
+       bool g_bCallbackHit = false;
+       int nRet = camera_set_extra_preview_cb(g_camera, CameraAttrExtraPreviewCB, NULL);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_set_extra_preview_cb");
+
+       g_bExtraPreviewSupported = camera_is_supported_extra_preview(g_camera);
+
+       if (g_bExtraPreviewSupported)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_set_extra_preview_cb", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_set_extra_preview_cb", CameraGetError(nRet));
+       }
+       usleep(20000);
+       //check for callback
+       if (nRet != CAMERA_ERROR_NOT_SUPPORTED && g_bCallbackHit == false)
+       {
+               FPRINTF("[Line : %d][%s] callback did not invoke\\n", __LINE__, API_NAMESPACE);
+               nRet = camera_unset_extra_preview_cb(g_camera);
+               return 1;
+       }
+
+       nRet = camera_unset_extra_preview_cb(g_camera);
+       if(g_bExtraPreviewSupported == true)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_unset_extra_preview_cb", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_unset_extra_preview_cb", CameraGetError(nRet));
+       }
+       return 0;
+}
+
+//& purpose: To check the extra preview stream format set and get value
+//& type: auto
+/**
+* @testcase                    ITc_camera_set_get_extra_preview_stream_format_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 To check extra preview stream format by setting with valid parameters and getting the values.
+* @scenario                            1. Check camera device manager which is supported or not. \n
+*                       2. Get default extra preview stream format.  \n
+*                       3. Set proper value for extra preview stream format.
+*                       4. check return value with the feature return value
+* @apicovered                  camera_get_extra_preview_stream_format, camera_is_supported_extra_preview, camera_set_extra_preview_stream_format
+* @passcase                            When all APIs paases
+* @failcase                            If any one API fails or callback doesnot hit
+* @precondition                        Camera handle must be created
+* @postcondition               Camera handle must be released
+*/
+int ITc_camera_set_get_extra_preview_stream_format_p(void)
+{
+       START_TEST;
+       int nStreamId = 0, nWidth = 0, nHeight = 0, nFps = 0;
+       camera_pixel_format_e eGetFormat = CAMERA_PIXEL_FORMAT_NV12, eSetFormat = CAMERA_PIXEL_FORMAT_NV12;
+
+       int nRet = camera_get_extra_preview_stream_format(g_camera, nStreamId, &eSetFormat, &nWidth, &nHeight, &nFps);
+       CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_get_extra_preview_stream_format");
+
+       g_bExtraPreviewSupported = camera_is_supported_extra_preview(g_camera);
+
+       if(g_bExtraPreviewSupported == true)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_get_extra_preview_stream_format", CameraGetError(nRet));
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_get_extra_preview_stream_format", CameraGetError(nRet));
+       }
+
+       nRet = camera_set_extra_preview_stream_format(g_camera, nStreamId, eGetFormat, nWidth, nHeight, nFps);
+
+       if(g_bExtraPreviewSupported == true)
+       {
+               FPRINTF("[Line : %d][%s] extra preview is supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_set_extra_preview_stream_format", CameraGetError(nRet));
+               if (eGetFormat != eSetFormat)
+               {
+                       FPRINTF("[Line : %d][%s] Ret value mismatch\\n", __LINE__, API_NAMESPACE);
+                       return 1;
+               }
+       }
+       else
+       {
+               FPRINTF("[Line : %d][%s][NOT SUPPORTED] extra preview is not supported\\n", __LINE__, API_NAMESPACE);
+               PRINT_RESULT(CAMERA_ERROR_NOT_SUPPORTED, nRet, "camera_set_extra_preview_stream_format", CameraGetError(nRet));
+       }
        return 0;
 }
 
@@ -1501,8 +1903,8 @@ int ITc_camera_change_device_p(void)
 * @author                              SRID(gaurav.m2)
 * @reviewer                            SRID(a.pandia1)
 * @type                                auto
-* @description                 To set and get display reuse hint 
-* @scenario                            To set and get display reuse hint 
+* @description                 To set and get display reuse hint
+* @scenario                            To set and get display reuse hint
 * @apicovered                  camera_set_display_reuse_hint camera_get_display_reuse_hint
 * @passcase                            To check display reuse hint with valid pointer and value in parameters.
 * @failcase                            If target API camera_set_display_reuse_hint camera_get_display_reuse_hint fails or flash state is not valid.
@@ -1512,11 +1914,11 @@ int ITc_camera_change_device_p(void)
 int ITc_camera_set_get_display_reuse_hint_p(void)
 {
        START_TEST;
-               
+
        bool bHint = true;
     bool bGetHint = false;
        g_bCameraWindowFail = false;
-       
+
        CreateCameraWindow();
 
        if(g_bCameraWindowFail)
@@ -1524,30 +1926,30 @@ int ITc_camera_set_get_display_reuse_hint_p(void)
                FPRINTF("[Line : %d][%s] camera creation window fails\\n", __LINE__, API_NAMESPACE);
                return 1;
        }
-       
-       int nRet = camera_set_display(g_camera, CAMERA_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(camera_win));  
+
+       int nRet = camera_set_display(g_camera, CAMERA_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(camera_win));
        PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_set_display", CameraGetError(nRet));
-       
+
        nRet = camera_start_preview(g_camera);
        PRINT_RESULT(CAMERA_ERROR_NONE, nRet, "camera_start_preview", CameraGetError(nRet));
-       
+
        nRet = camera_set_display_reuse_hint(g_camera, bHint);
        CHECK_UNSUPPORTED_ERROR_RETURN(g_bFeatureCamera, "camera_set_display_reuse_hint");
        PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_set_display_reuse_hint", CameraGetError(nRet),camera_stop_preview(g_camera));
-       
+
        nRet = camera_get_display_reuse_hint(g_camera, &bGetHint);
        PRINT_RESULT_CLEANUP(CAMERA_ERROR_NONE, nRet, "camera_get_display_reuse_hint", CameraGetError(nRet),camera_stop_preview(g_camera));
-               
+
        if(bGetHint != bHint)
        {
                FPRINTF("[Line : %d][%s] bGetHint value is invalid\\n", __LINE__, API_NAMESPACE);       
                camera_stop_preview(g_camera);          
                return 1;
        }
-       
+
        nRet = camera_stop_preview(g_camera);
        PRINT_RESULT_NORETURN(CAMERA_ERROR_NONE, nRet, "camera_stop_preview", CameraGetError(nRet));
-               
+
        return 0;
 }
 #endif
index 0377a13241e3e46e8cdf0697b457b9bcd86176ec..82538643a4906e2490c8cfe6ea12e0a0e4089f09 100755 (executable)
@@ -123,6 +123,17 @@ extern int ITc_camera_get_facing_direction_p(void);
 extern int ITc_camera_get_flash_state_p(void);
 extern int ITc_camera_change_device_p(void);
 extern int ITc_camera_set_get_display_reuse_hint_p(void);
+extern int ITc_camera_create_network_p(void);
+extern int ITc_camera_device_manager_initialize_deinitialize_p(void);
+extern int ITc_camera_device_manager_foreach_supported_device_p(void);
+extern int ITc_camera_device_manager_add_remove_device_connection_changed_cb_p(void);
+extern int ITc_camera_set_unset_extra_preview_cb_p(void);
+extern int ITc_camera_set_get_extra_preview_stream_format_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_bitrate_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_gop_interval_p(void);
+extern int ITc_camera_is_supported_extra_preview_p(void);
+extern int ITc_camera_attr_get_preview_frame_rotation_p(void);
+
 
 testcase tc_array[] = {
        {"ITc_camera_attr_set_get_preview_fps_p",ITc_camera_attr_set_get_preview_fps_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
@@ -220,6 +231,16 @@ testcase tc_array[] = {
        {"ITc_camera_get_flash_state_p",ITc_camera_get_flash_state_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_change_device_p",ITc_camera_change_device_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_set_get_display_reuse_hint_p",ITc_camera_set_get_display_reuse_hint_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_create_network_p",ITc_camera_create_network_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_device_manager_initialize_deinitialize_p",ITc_camera_device_manager_initialize_deinitialize_p, ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_device_manager_foreach_supported_device_p",ITc_camera_device_manager_foreach_supported_device_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_device_manager_add_remove_device_connection_changed_cb_p",ITc_camera_device_manager_add_remove_device_connection_changed_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_set_unset_extra_preview_cb_p",ITc_camera_set_unset_extra_preview_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_set_get_extra_preview_stream_format_p",ITc_camera_set_get_extra_preview_stream_format_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_bitrate_p",ITc_camera_attr_set_get_extra_preview_bitrate_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_gop_interval_p",ITc_camera_attr_set_get_extra_preview_gop_interval_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_is_supported_extra_preview_p",ITc_camera_is_supported_extra_preview_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_get_preview_frame_rotation_p",ITc_camera_attr_get_preview_frame_rotation_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
        {NULL, NULL}
 };
 
index c8e424899a8071d8721e05ffd0c97d69b42e19e2..eb8bdfbd60d3db393f11ebe66c0f5943a0c9f390 100755 (executable)
@@ -122,6 +122,16 @@ extern int ITc_camera_attr_set_unset_error_cb_p(void);
 extern int ITc_camera_get_facing_direction_p(void);
 extern int ITc_camera_get_flash_state_p(void);
 extern int ITc_camera_change_device_p(void);
+extern int ITc_camera_create_network_p(void);
+extern int ITc_camera_device_manager_initialize_deinitialize_p(void);
+extern int ITc_camera_device_manager_foreach_supported_device_p(void);
+extern int ITc_camera_device_manager_add_remove_device_connection_changed_cb_p(void);
+extern int ITc_camera_set_unset_extra_preview_cb_p(void);
+extern int ITc_camera_set_get_extra_preview_stream_format_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_bitrate_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_gop_interval_p(void);
+extern int ITc_camera_is_supported_extra_preview_p(void);
+extern int ITc_camera_attr_get_preview_frame_rotation_p(void);
 
 testcase tc_array[] = {
        {"ITc_camera_attr_set_get_preview_fps_p",ITc_camera_attr_set_get_preview_fps_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
@@ -218,6 +228,16 @@ testcase tc_array[] = {
        {"ITc_camera_get_facing_direction_p",ITc_camera_get_facing_direction_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_get_flash_state_p",ITc_camera_get_flash_state_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_change_device_p",ITc_camera_change_device_p,ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_create_network_p",ITc_camera_create_network_p,ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_device_manager_initialize_deinitialize_p",ITc_camera_device_manager_initialize_deinitialize_p, ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_device_manager_foreach_supported_device_p",ITc_camera_device_manager_foreach_supported_device_p,ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_device_manager_add_remove_device_connection_changed_cb_p",ITc_camera_device_manager_add_remove_device_connection_changed_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_set_unset_extra_preview_cb_p",ITc_camera_set_unset_extra_preview_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+        {"ITc_camera_set_get_extra_preview_stream_format_p",ITc_camera_set_get_extra_preview_stream_format_p,ITs_camera_startup,ITs_camera_cleanup},
+               {"ITc_camera_attr_set_get_extra_preview_bitrate_p",ITc_camera_attr_set_get_extra_preview_bitrate_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+               {"ITc_camera_attr_set_get_extra_preview_gop_interval_p",ITc_camera_attr_set_get_extra_preview_gop_interval_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+               {"ITc_camera_is_supported_extra_preview_p",ITc_camera_is_supported_extra_preview_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+               {"ITc_camera_attr_get_preview_frame_rotation_p",ITc_camera_attr_get_preview_frame_rotation_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
        {NULL, NULL}
 };
 
index 0377a13241e3e46e8cdf0697b457b9bcd86176ec..b6d7680422bf5ac73603e79a01d8b4affc0fdb83 100755 (executable)
@@ -123,6 +123,16 @@ extern int ITc_camera_get_facing_direction_p(void);
 extern int ITc_camera_get_flash_state_p(void);
 extern int ITc_camera_change_device_p(void);
 extern int ITc_camera_set_get_display_reuse_hint_p(void);
+extern int ITc_camera_create_network_p(void);
+extern int ITc_camera_device_manager_initialize_deinitialize_p(void);
+extern int ITc_camera_device_manager_foreach_supported_device_p(void);
+extern int ITc_camera_device_manager_add_remove_device_connection_changed_cb_p(void);
+extern int ITc_camera_set_unset_extra_preview_cb_p(void);
+extern int ITc_camera_set_get_extra_preview_stream_format_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_bitrate_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_gop_interval_p(void);
+extern int ITc_camera_is_supported_extra_preview_p(void);
+extern int ITc_camera_attr_get_preview_frame_rotation_p(void);
 
 testcase tc_array[] = {
        {"ITc_camera_attr_set_get_preview_fps_p",ITc_camera_attr_set_get_preview_fps_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
@@ -220,6 +230,16 @@ testcase tc_array[] = {
        {"ITc_camera_get_flash_state_p",ITc_camera_get_flash_state_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_change_device_p",ITc_camera_change_device_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_set_get_display_reuse_hint_p",ITc_camera_set_get_display_reuse_hint_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_create_network_p",ITc_camera_create_network_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_initialize_deinitialize_p",ITc_camera_device_manager_initialize_deinitialize_p, ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_foreach_supported_device_p",ITc_camera_device_manager_foreach_supported_device_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_add_remove_device_connection_changed_cb_p",ITc_camera_device_manager_add_remove_device_connection_changed_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_set_unset_extra_preview_cb_p",ITc_camera_set_unset_extra_preview_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_set_get_extra_preview_stream_format_p",ITc_camera_set_get_extra_preview_stream_format_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_bitrate_p",ITc_camera_attr_set_get_extra_preview_bitrate_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_gop_interval_p",ITc_camera_attr_set_get_extra_preview_gop_interval_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_is_supported_extra_preview_p",ITc_camera_is_supported_extra_preview_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_get_preview_frame_rotation_p",ITc_camera_attr_get_preview_frame_rotation_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
        {NULL, NULL}
 };
 
index 4f9bea9aa3de62b8e4fc39795e9780b074532784..6d29c8be2548127e0dda2c42b40c05e6e313479e 100755 (executable)
@@ -123,6 +123,16 @@ extern int ITc_camera_get_facing_direction_p(void);
 extern int ITc_camera_get_flash_state_p(void);
 extern int ITc_camera_change_device_p(void);
 extern int ITc_camera_set_get_display_reuse_hint_p(void);
+extern int ITc_camera_create_network_p(void);
+extern int ITc_camera_device_manager_initialize_deinitialize_p(void);
+extern int ITc_camera_device_manager_foreach_supported_device_p(void);
+extern int ITc_camera_device_manager_add_remove_device_connection_changed_cb_p(void);
+extern int ITc_camera_set_unset_extra_preview_cb_p(void);
+extern int ITc_camera_set_get_extra_preview_stream_format_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_bitrate_p(void);
+extern int ITc_camera_attr_set_get_extra_preview_gop_interval_p(void);
+extern int ITc_camera_is_supported_extra_preview_p(void);
+extern int ITc_camera_attr_get_preview_frame_rotation_p(void);
 
 testcase tc_array[] = {
        {"ITc_camera_attr_set_get_preview_fps_p",ITc_camera_attr_set_get_preview_fps_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
@@ -220,6 +230,16 @@ testcase tc_array[] = {
        {"ITc_camera_get_flash_state_p",ITc_camera_get_flash_state_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_change_device_p",ITc_camera_change_device_p,ITs_camera_startup,ITs_camera_cleanup},
        {"ITc_camera_set_get_display_reuse_hint_p",ITc_camera_set_get_display_reuse_hint_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_create_network_p",ITc_camera_create_network_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_initialize_deinitialize_p",ITc_camera_device_manager_initialize_deinitialize_p, ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_foreach_supported_device_p",ITc_camera_device_manager_foreach_supported_device_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_device_manager_add_remove_device_connection_changed_cb_p",ITc_camera_device_manager_add_remove_device_connection_changed_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_set_unset_extra_preview_cb_p",ITc_camera_set_unset_extra_preview_cb_p,ITs_camera_startup,ITs_camera_cleanup},
+    {"ITc_camera_set_get_extra_preview_stream_format_p",ITc_camera_set_get_extra_preview_stream_format_p,ITs_camera_startup,ITs_camera_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_bitrate_p",ITc_camera_attr_set_get_extra_preview_bitrate_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_set_get_extra_preview_gop_interval_p",ITc_camera_attr_set_get_extra_preview_gop_interval_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_is_supported_extra_preview_p",ITc_camera_is_supported_extra_preview_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
+       {"ITc_camera_attr_get_preview_frame_rotation_p",ITc_camera_attr_get_preview_frame_rotation_p,ITs_camera_attribute_startup,ITs_camera_attribute_cleanup},
        {NULL, NULL}
 };