*/
int legacy_camera_set_gdbus_connection(camera_h camera, void *gdbud_connection);
+/**
+ * @brief Creates a new camera handle for controlling a network camera.
+ * @remarks A @a camera must be released using legacy_camera_destroy().
+ * @param[in] device The network camera to access
+ * @param[out] camera A newly returned handle to the camera
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #CAMERA_ERROR_NONE Successful
+ * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
+ * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
+ * @post If it succeeds, the camera state will be #CAMERA_STATE_CREATED.
+ *
+ * @see legacy_camera_destroy()
+ */
+int legacy_camera_create_network(camera_device_e device, camera_h *camera);
+
#ifdef __cplusplus
}
int __camera_start_continuous_focusing(camera_h camera);
int _camera_set_use(camera_h camera, bool used);
int __convert_camera_error_code(const char* func, int code);
+int _camera_create_private(camera_device_e device, bool is_network, camera_h *camera);
#ifdef __cplusplus
}
return FALSE;
}
-int legacy_camera_create(camera_device_e device, camera_h *camera)
+
+int _camera_create_private(camera_device_e device, bool is_network, camera_h *camera)
{
int ret = MM_ERROR_NONE;
int preview_format = MM_PIXEL_FORMAT_NV12;
camera_return_val_if_fail(camera, CAMERA_ERROR_INVALID_PARAMETER);
- CAM_LOG_INFO("device[%d]", device);
+ CAM_LOG_INFO("device[%d], is_network[%d]", device, is_network);
info.videodev_type = device;
+ info.reserved[0] = (int)is_network;
handle = (camera_s *)g_malloc0(sizeof(camera_s));
}
+int legacy_camera_create(camera_device_e device, camera_h *camera)
+{
+ return _camera_create_private(device, false, camera);
+}
+
+
int legacy_camera_change_device(camera_h *camera, camera_device_e device, bool is_evas)
{
int ret = MM_ERROR_NONE;
return __convert_camera_error_code(__func__, ret);
}
+
+
+int legacy_camera_create_network(camera_device_e device, camera_h *camera)
+{
+ return _camera_create_private(device, true, camera);
+}
{
int ret = CAMERA_ERROR_NONE;
int device_type = 0;
+ int is_network = 0;
int preview_format = CAMERA_PIXEL_FORMAT_INVALID;
int user_buffer_supported = 0;
int pid = 0;
muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
muse_camera_msg_get(device_type, muse_server_module_get_msg(module));
+ muse_camera_msg_get(is_network, muse_server_module_get_msg(module));
+
pid = muse_server_ipc_get_client_pid(module);
- CAM_LOG_INFO("device type[%d], client pid[%d]", device_type, pid);
+ CAM_LOG_INFO("device type[%d], client pid[%d], is_network[%d]",
+ device_type, pid, is_network);
/* init handle */
muse_camera = (muse_camera_handle_s *)malloc(sizeof(muse_camera_handle_s));
return MUSE_CAMERA_ERROR_INVALID;
}
- ret = legacy_camera_create((camera_device_e)device_type, &muse_camera->camera_handle);
+ if (is_network)
+ ret = legacy_camera_create_network((camera_device_e)device_type, &muse_camera->camera_handle);
+ else
+ ret = legacy_camera_create((camera_device_e)device_type, &muse_camera->camera_handle);
+
if (ret != CAMERA_ERROR_NONE) {
free(muse_camera);
muse_camera = NULL;
buf_pos = (unsigned char *)data_bo_handle.ptr;
- CAM_LOG_INFO("type[%d], data[%p:%d,%p:%d,%p:%d], bo[%p:%d]",
+ CAM_LOG_DEBUG("type[%d], data[%p:%d,%p:%d,%p:%d], bo[%p:%d]",
stream->data_type,
data[0], data_size[0], data[1], data_size[1], data[2], data_size[2],
data_bo, tbm_bo_size(data_bo));
Name: mmsvc-camera
Summary: A Camera module for muse server
-Version: 0.3.37
+Version: 0.3.38
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0