[libcamera-devel] [PATCH v2 27/32] libcamera: control_serializer: Simplify serialization of ControlValue
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Mar 6 16:59:57 CET 2020
Use the ControlValue::data() function to access raw data stored in the
control value and simplify serialization.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.binghm at ideasonboard.com>
---
src/libcamera/control_serializer.cpp | 35 +---------------------------
1 file changed, 1 insertion(+), 34 deletions(-)
diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
index edf3e5cab09f..997e87bec817 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -146,40 +146,7 @@ size_t ControlSerializer::binarySize(const ControlList &list)
void ControlSerializer::store(const ControlValue &value,
ByteStreamBuffer &buffer)
{
- switch (value.type()) {
- case ControlTypeBool: {
- bool data = value.get<bool>();
- buffer.write(&data);
- break;
- }
-
- case ControlTypeByte: {
- uint8_t data = value.get<uint8_t>();
- buffer.write(&data);
- break;
- }
-
- case ControlTypeInteger32: {
- int32_t data = value.get<int32_t>();
- buffer.write(&data);
- break;
- }
-
- case ControlTypeInteger64: {
- uint64_t data = value.get<int64_t>();
- buffer.write(&data);
- break;
- }
-
- case ControlTypeFloat: {
- float data = value.get<float>();
- buffer.write(&data);
- break;
- }
-
- default:
- break;
- }
+ buffer.write(value.data());
}
void ControlSerializer::store(const ControlRange &range,
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list