-
Notifications
You must be signed in to change notification settings - Fork 4
Implement get_meta
and reserve_image_shape
for basic Storage devices
#4
Implement get_meta
and reserve_image_shape
for basic Storage devices
#4
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, I don't think I have enough context to approve/reject here. Prepending the storage types to the C function names seems fine and familiar enough to me. Can try to help out with the TIFF resolution limits if you need/want.
get_meta
for basic Storage devicesget_meta
and reserve_image_shape
for basic Storage devices
cmake/cpack.cmake
Outdated
@@ -0,0 +1,5 @@ | |||
SET(CPACK_PACKAGE_VERSION_MAJOR 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
recommend using git-versioning.cmake from e.g. acquire-video-runtime. That will set the package name based on the git tag.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I went this route was that I noticed that without setting CPACK_PACKAGE_VERSION_*
in this file, all the package versions on the builds were automatically set to 0.1.1. But this must have been because there's no git-versioning.cmake in the driver repos (and no tags are set anyway). This way we can automate releases, too.
src/storage/raw.c
Outdated
*meta = (struct StoragePropertyMetadata){ | ||
.chunking = { 0 }, | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*meta = (struct StoragePropertyMetadata){ | |
.chunking = { 0 }, | |
}; | |
*meta = (struct StoragePropertyMetadata){0}; |
src/storage/raw.c
Outdated
{ | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider commenting to indicate an empty body is expected
{ | |
} | |
{ // no-op | |
} |
An alternative to adding these empty functions is to allow the driver to set the function pointer to 0. This would require a change in the hal and a doc update in the kit.
src/storage/raw.c
Outdated
#endif | ||
|
||
acquire_export int | ||
unit_test__raw_get_meta() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider making this a standalone test in the tests directory instead of a unit test.
See how list-devices is done in this repo for an example. It doesn't rely on the use of runtime. Instead it uses the hal to check things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Depends on [acquire-driver-common/#4](acquire-project/acquire-driver-common#4). Because `storage_properties_init` was changed to take 7 arguments, we have to remove the last argument everywhere that function is called. We also get storage property metadata from each storage engine in `acquire_get_configuration_metadata`, and do a little cross-component configuration in `acquire_start`.
Submodule updates. Don't merge before [core-libs/#2](acquire-project/acquire-core-libs#2), [driver-common/#4](acquire-project/acquire-driver-common#4), and [video-runtime/#2](acquire-project/acquire-video-runtime#2).
Also prepends internal storage API functions with their engine types so there aren't about a zillion functions with the same name.