|
42 | 42 | #undef LOG_TAG |
43 | 43 | #define LOG_TAG "DroidMediaCamera" |
44 | 44 |
|
| 45 | +#if ANDROID_MAJOR <= 9 |
| 46 | +typedef ANativeWindow ACameraWindowType; |
| 47 | +#endif |
| 48 | + |
45 | 49 | namespace android { |
46 | 50 | int32_t getColorFormat(const char* colorFormat) { |
47 | 51 | if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420P)) { |
@@ -167,8 +171,6 @@ struct _DroidMediaCamera |
167 | 171 | int32_t max_awb_regions = 0; |
168 | 172 | int32_t max_focus_regions = 0; |
169 | 173 |
|
170 | | - int32_t zoom = 1; |
171 | | - |
172 | 174 | DroidMediaCameraCallbacks m_cb; |
173 | 175 | void *m_cb_data; |
174 | 176 | }; |
@@ -281,7 +283,7 @@ static void capture_session_on_capture_completed( |
281 | 283 | uint8_t value = entry.data.u8[0]; |
282 | 284 | ALOGI("AF trigger state: %i", value); |
283 | 285 | if (value == ACAMERA_CONTROL_AF_TRIGGER_START) { |
284 | | - ALOGI("AF trigger start found"); |
| 286 | + ALOGI("AF trigger start found"); |
285 | 287 | uint8_t afTrigger = ACAMERA_CONTROL_AF_TRIGGER_IDLE; |
286 | 288 | status = ACaptureRequest_setEntry_u8(camera->m_preview_request, |
287 | 289 | ACAMERA_CONTROL_AF_TRIGGER, 1, &afTrigger); |
@@ -347,7 +349,7 @@ static void capture_session_on_capture_sequence_abort( |
347 | 349 |
|
348 | 350 | static void capture_session_on_capture_buffer_lost( |
349 | 351 | void* context, ACameraCaptureSession* session, |
350 | | - ACaptureRequest* request, ANativeWindow* window, int64_t frameNumber) |
| 352 | + ACaptureRequest* request, ACameraWindowType* window, int64_t frameNumber) |
351 | 353 | { |
352 | 354 | ALOGI("Capture buffer lost: %p", context); |
353 | 355 | } |
@@ -1428,10 +1430,10 @@ void update_request(DroidMediaCamera *camera, ACaptureRequest *request, std::uno |
1428 | 1430 | case ACAMERA_SCALER_CROP_REGION: { |
1429 | 1431 | if (int32_t zoom_level = std::stoi(value_s)) { |
1430 | 1432 | int32_t *area = new int32_t[4]; |
1431 | | - area[0] = camera->image_width/(2*10)*(zoom_level); |
1432 | | - area[1] = camera->image_height/(2*10)*(zoom_level); |
1433 | | - area[2] = camera->image_width - (2*area[0]); |
1434 | | - area[3] = camera->image_height - (2*area[1]); |
| 1433 | + area[0] = camera->image_width/(2 * 10)*(zoom_level); |
| 1434 | + area[1] = camera->image_height/(2 * 10) * (zoom_level); |
| 1435 | + area[2] = camera->image_width - (2 * area[0]); |
| 1436 | + area[3] = camera->image_height - (2 * area[1]); |
1435 | 1437 | ALOGI("setting crop for zoom level %d to %d,%d,%d,%d from w%dh%d", zoom_level, area[0], area[1], area[2], area[3], camera->image_width, camera->image_height); |
1436 | 1438 | ACaptureRequest_setEntry_i32(request, key, 4, area); |
1437 | 1439 | delete[] area; |
@@ -1609,9 +1611,6 @@ bool droid_media_camera_set_parameters(DroidMediaCamera *camera, const char *par |
1609 | 1611 | parse_pair_int32(value_s, 'x', camera->preview_width, camera->preview_height); |
1610 | 1612 | } else if (!strcmp(key_s.c_str(), "video-size")) { |
1611 | 1613 | parse_pair_int32(value_s, 'x', camera->video_width, camera->video_height); |
1612 | | - } else if (!strcmp(key_s.c_str(), "zoom")) { |
1613 | | - camera->zoom = stoi(value_s); |
1614 | | - ALOGI("set_parameters zoom=%d", camera->zoom); |
1615 | 1614 | } |
1616 | 1615 | } |
1617 | 1616 | } |
@@ -1710,12 +1709,10 @@ char *droid_media_camera_get_parameters(DroidMediaCamera *camera) |
1710 | 1709 | } |
1711 | 1710 | break; |
1712 | 1711 | } |
1713 | | -#if ANDROID_MAJOR >= 9 |
1714 | 1712 | case ACAMERA_CONTROL_AE_COMPENSATION_RANGE: |
1715 | 1713 | params += "min-exposure-compensation="+std::to_string(entry.data.i32[0])+";"; |
1716 | 1714 | params += "max-exposure-compensation="+std::to_string(entry.data.i32[1])+";"; |
1717 | 1715 | break; |
1718 | | -#endif |
1719 | 1716 | case ACAMERA_CONTROL_AE_COMPENSATION_STEP: { |
1720 | 1717 | // convert to string using no locale |
1721 | 1718 | std::ostringstream oss; |
@@ -1811,11 +1808,11 @@ char *droid_media_camera_get_parameters(DroidMediaCamera *camera) |
1811 | 1808 | params += "video-stabilization-supported = true;"; |
1812 | 1809 | } |
1813 | 1810 | break; |
1814 | | -#if ANDROID_MAJOR >= 9 |
| 1811 | +#if ANDROID_MAJOR >= 9 |
1815 | 1812 | case ACAMERA_CONTROL_ZOOM_RATIO_RANGE: |
1816 | 1813 | params += "max-zoom="+std::to_string(entry.data.f[1])+";"; |
1817 | 1814 | break; |
1818 | | -#endif |
| 1815 | +#endif |
1819 | 1816 | case ACAMERA_FLASH_INFO_AVAILABLE: |
1820 | 1817 | if (entry.data.u8[0] == ACAMERA_FLASH_INFO_AVAILABLE_FALSE) { |
1821 | 1818 | params += "flash-mode-values=off;"; |
|
0 commit comments