*/
//& 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
*/
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
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");
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;
+}
+
/** @} */
/** @} */
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;
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;
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
*/
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;
}
* @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.
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)
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
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},
{"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}
};
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},
{"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}
};
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},
{"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}
};
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},
{"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}
};