android: camera_device: Report EXPOSURE_TIME

Instead of reporting a fake value in the dynamic metadata for the
EXPOSURE_TIME control, use the value provided by the pipeline.

The metadata is only meaningfull in FULL mode.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi 2021-01-05 19:30:48 +01:00
parent 753d7536b7
commit c9705a5e4b

View file

@ -1863,11 +1863,6 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
resultMetadata->addEntry(ANDROID_SENSOR_ROLLING_SHUTTER_SKEW, resultMetadata->addEntry(ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,
&rolling_shutter_skew, 1); &rolling_shutter_skew, 1);
/* 16.6 msec */
const int64_t exposure_time = 16600000;
resultMetadata->addEntry(ANDROID_SENSOR_EXPOSURE_TIME,
&exposure_time, 1);
const uint8_t lens_shading_map_mode = const uint8_t lens_shading_map_mode =
ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF; ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF;
resultMetadata->addEntry(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, resultMetadata->addEntry(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,
@ -1885,6 +1880,12 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
&pipeline_depth, 1); &pipeline_depth, 1);
} }
if (metadata.contains(controls::ExposureTime)) {
int32_t exposure = metadata.get(controls::ExposureTime);
resultMetadata->addEntry(ANDROID_SENSOR_EXPOSURE_TIME,
&exposure, 1);
}
/* /*
* Return the result metadata pack even is not valid: get() will return * Return the result metadata pack even is not valid: get() will return
* nullptr. * nullptr.