Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
BC
public
msandroidcamera2
Commits
d56b505f
Commit
d56b505f
authored
Oct 23, 2019
by
Sylvain Berfini
🎩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow Android camera2 capture filter to fallback to legacy one in case of failure
parent
5845f005
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
13 deletions
+17
-13
android-camera2-capture.cpp
android-camera2-capture.cpp
+17
-13
No files found.
android-camera2-capture.cpp
View file @
d56b505f
...
...
@@ -843,25 +843,29 @@ MSWebCamDesc ms_android_camera2_capture_webcam_desc = {
NULL
};
extern
void
android_video_capture_detect_cameras_legacy
(
MSWebCamManager
*
obj
);
void
android_camera2_capture_detect
(
MSWebCamManager
*
obj
)
{
ms_message
(
"[Camera2 Capture] Detecting cameras"
);
ACameraIdList
*
cameraIdList
=
nullptr
;
ACameraMetadata
*
cameraMetadata
=
nullptr
;
ACameraMetadata
*
cameraMetadata
=
nullptr
;
camera_status_t
camera_status
=
ACAMERA_OK
;
ACameraManager
*
cameraManager
=
ACameraManager_create
();
ACameraManager
*
cameraManager
=
ACameraManager_create
();
camera_status
=
ACameraManager_getCameraIdList
(
cameraManager
,
&
cameraIdList
);
if
(
camera_status
!=
ACAMERA_OK
)
{
ms_error
(
"[Camera2 Capture] Failed to get camera(s) list : %d"
,
camera_status
);
return
;
}
camera_status
=
ACameraManager_getCameraIdList
(
cameraManager
,
&
cameraIdList
);
if
(
camera_status
!=
ACAMERA_OK
)
{
ms_error
(
"[Camera2 Capture] Failed to get camera(s) list : %d"
,
camera_status
);
android_video_capture_detect_cameras_legacy
(
obj
);
return
;
}
if
(
cameraIdList
->
numCameras
<
1
)
{
ms_warning
(
"[Camera2 Capture] No camera detected, check you have granted CAMERA permission !"
);
return
;
}
ms_warning
(
"[Camera2 Capture] No camera detected !"
);
android_video_capture_detect_cameras_legacy
(
obj
);
return
;
}
bool
front_facing_found
=
false
;
bool
back_facing_found
=
false
;
...
...
@@ -875,7 +879,7 @@ void android_camera2_capture_detect(MSWebCamManager *obj) {
ms_error
(
"[Camera2 Capture] Failed to get camera %s characteristics"
,
camId
);
}
else
{
AndroidCamera2Device
*
device
=
new
AndroidCamera2Device
(
ms_strdup
(
camId
));
ACameraMetadata_const_entry
orientation
;
ACameraMetadata_getConstEntry
(
cameraMetadata
,
ACAMERA_SENSOR_ORIENTATION
,
&
orientation
);
int32_t
angle
=
orientation
.
data
.
i32
[
0
];
...
...
@@ -928,7 +932,7 @@ void android_camera2_capture_detect(MSWebCamManager *obj) {
}
ACameraManager_deleteCameraIdList
(
cameraIdList
);
ACameraManager_delete
(
cameraManager
);
ACameraManager_delete
(
cameraManager
);
}
#ifdef _MSC_VER
...
...
@@ -943,4 +947,4 @@ MS_PLUGIN_DECLARE(void) libmsandroidcamera2_init(MSFactory* factory) {
MSWebCamManager
*
manager
=
ms_factory_get_web_cam_manager
(
factory
);
ms_web_cam_manager_register_desc
(
manager
,
&
ms_android_camera2_capture_webcam_desc
);
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment