{
int ret = MM_ERROR_NONE;
int pid = 0;
- int size = 0;
+ int element_size = 0;
+ int connection_size = 0;
camera_s *old_handle = NULL;
camera_s *new_handle = NULL;
camera_state_e capi_state = CAMERA_STATE_NONE;
void *reuse_element = NULL;
+ void *gdbus_connection = NULL;
if (camera == NULL) {
LOGE("NULL handle");
/* get reuse element */
ret = mm_camcorder_get_attributes(old_handle->mm_handle, NULL,
- MMCAM_DISPLAY_REUSE_ELEMENT, &reuse_element, &size,
+ MMCAM_DISPLAY_REUSE_ELEMENT, &reuse_element, &element_size,
+ MMCAM_GDBUS_CONNECTION, &gdbus_connection, &connection_size,
NULL);
if (ret != MM_ERROR_NONE) {
- LOGE("failed to get reuse element 0x%x", ret);
+ LOGE("failed to get reuse element and gdbus connection 0x%x", ret);
return __convert_camera_error_code(__func__, ret);
}
- LOGD("reuse element %p", reuse_element);
+ LOGD("reuse element %p, gdbus connection %p",
+ reuse_element, gdbus_connection);
/* create new handle */
ret = legacy_camera_create(device, (camera_h *)&new_handle);
/* set reuse element in new handle */
ret = mm_camcorder_set_attributes(new_handle->mm_handle, NULL,
- MMCAM_DISPLAY_REUSE_ELEMENT, reuse_element, size,
+ MMCAM_DISPLAY_REUSE_ELEMENT, reuse_element, element_size,
+ MMCAM_GDBUS_CONNECTION, gdbus_connection, connection_size,
NULL);
if (ret != MM_ERROR_NONE) {
- LOGE("failed to set reuse element 0x%x", ret);
+ LOGE("failed to set reuse element and gdbus connection 0x%x", ret);
goto _CHANGE_DEVICE_FAILED;
}
if (reuse_element) {
mm_camcorder_set_attributes(old_handle->mm_handle, NULL,
- MMCAM_DISPLAY_REUSE_ELEMENT, reuse_element, size,
+ MMCAM_DISPLAY_REUSE_ELEMENT, reuse_element, element_size,
NULL);
}