summaryrefslogtreecommitdiff
path: root/devices/EmulatedCamera/hwl/Base.h
diff options
context:
space:
mode:
Diffstat (limited to 'devices/EmulatedCamera/hwl/Base.h')
-rw-r--r--devices/EmulatedCamera/hwl/Base.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/devices/EmulatedCamera/hwl/Base.h b/devices/EmulatedCamera/hwl/Base.h
index 543f73f..0ccff29 100644
--- a/devices/EmulatedCamera/hwl/Base.h
+++ b/devices/EmulatedCamera/hwl/Base.h
@@ -53,7 +53,7 @@ struct SensorBuffer {
android_pixel_format_t format;
android_dataspace_t dataSpace;
StreamBuffer stream_buffer;
- HandleImporter importer;
+ std::shared_ptr<HandleImporter> importer;
HwlPipelineCallback callback;
int acquire_fence_fd;
bool is_input;
@@ -64,7 +64,7 @@ struct SensorBuffer {
YCbCrPlanes img_y_crcb;
} plane;
- SensorBuffer()
+ SensorBuffer(std::shared_ptr<HandleImporter> handle_importer)
: width(0),
height(0),
frame_number(0),
@@ -72,6 +72,7 @@ struct SensorBuffer {
camera_id(0),
format(HAL_PIXEL_FORMAT_RGBA_8888),
dataSpace(HAL_DATASPACE_UNKNOWN),
+ importer(handle_importer),
acquire_fence_fd(-1),
is_input(false),
is_failed_request(false),
@@ -97,12 +98,12 @@ struct std::default_delete<android::SensorBuffer> {
inline void operator()(android::SensorBuffer* buffer) const {
if (buffer != nullptr) {
if (buffer->stream_buffer.buffer != nullptr) {
- buffer->importer.unlock(buffer->stream_buffer.buffer);
- buffer->importer.freeBuffer(buffer->stream_buffer.buffer);
+ buffer->importer->unlock(buffer->stream_buffer.buffer);
+ buffer->importer->freeBuffer(buffer->stream_buffer.buffer);
}
if (buffer->acquire_fence_fd >= 0) {
- buffer->importer.closeFence(buffer->acquire_fence_fd);
+ buffer->importer->closeFence(buffer->acquire_fence_fd);
}
if ((buffer->stream_buffer.status != BufferStatus::kOk) &&