mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-14 07:59:44 +03:00
android: camera_stream: Add CameraStream::Type
Define the CameraStream::Type enumeration and assign it to each CameraStream instance at construction time. The CameraStream type will be used to decide if memory needs to be allocated on its behalf or if the stream is backed by memory externally allocated by the Android framework. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
5cf64b26a2
commit
94c4d49ebe
3 changed files with 93 additions and 5 deletions
|
@ -1216,12 +1216,14 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
|
|||
|
||||
config_->addConfiguration(streamConfiguration);
|
||||
unsigned int index = config_->size() - 1;
|
||||
streams_.emplace_back(format, size, index);
|
||||
streams_.emplace_back(format, size, CameraStream::Type::Direct,
|
||||
index);
|
||||
stream->priv = static_cast<void *>(&streams_.back());
|
||||
}
|
||||
|
||||
/* Now handle the MJPEG streams, adding a new stream if required. */
|
||||
if (jpegStream) {
|
||||
CameraStream::Type type;
|
||||
int index = -1;
|
||||
|
||||
/* Search for a compatible stream in the non-JPEG ones. */
|
||||
|
@ -1239,6 +1241,7 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
|
|||
LOG(HAL, Info)
|
||||
<< "Android JPEG stream mapped to libcamera stream " << i;
|
||||
|
||||
type = CameraStream::Type::Mapped;
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
|
@ -1263,6 +1266,7 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
|
|||
LOG(HAL, Info) << "Adding " << streamConfiguration.toString()
|
||||
<< " for MJPEG support";
|
||||
|
||||
type = CameraStream::Type::Internal;
|
||||
config_->addConfiguration(streamConfiguration);
|
||||
index = config_->size() - 1;
|
||||
}
|
||||
|
@ -1281,7 +1285,7 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
|
|||
return ret;
|
||||
}
|
||||
|
||||
streams_.emplace_back(formats::MJPEG, cfg.size, index, encoder);
|
||||
streams_.emplace_back(formats::MJPEG, cfg.size, type, index, encoder);
|
||||
jpegStream->priv = static_cast<void *>(&streams_.back());
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue