diff options
Diffstat (limited to 'test/serialization/control_serialization.cpp')
-rw-r--r-- | test/serialization/control_serialization.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp index 2989b527..06c572b7 100644 --- a/test/serialization/control_serialization.cpp +++ b/test/serialization/control_serialization.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2019, Google Inc. * - * control_serialization.cpp - Serialize and deserialize controls + * Serialize and deserialize controls */ #include <iostream> @@ -11,8 +11,9 @@ #include <libcamera/control_ids.h> #include <libcamera/controls.h> -#include "byte_stream_buffer.h" -#include "control_serializer.h" +#include "libcamera/internal/byte_stream_buffer.h" +#include "libcamera/internal/control_serializer.h" + #include "serialization_test.h" #include "test.h" @@ -29,8 +30,8 @@ protected: int run() override { - ControlSerializer serializer; - ControlSerializer deserializer; + ControlSerializer serializer(ControlSerializer::Role::Proxy); + ControlSerializer deserializer(ControlSerializer::Role::Worker); std::vector<uint8_t> infoData; std::vector<uint8_t> listData; @@ -42,9 +43,9 @@ protected: const ControlInfoMap &infoMap = camera_->controls(); ControlList list(infoMap); - list.set(controls::Brightness, 255); - list.set(controls::Contrast, 128); - list.set(controls::Saturation, 50); + list.set(controls::Brightness, 0.5f); + list.set(controls::Contrast, 1.2f); + list.set(controls::Saturation, 0.2f); /* * Serialize the control list, this should fail as the control @@ -139,6 +140,15 @@ protected: return TestFail; } + /* Make sure control limits looked up by id are not changed. */ + const ControlInfo &newLimits = newInfoMap.at(&controls::Brightness); + const ControlInfo &initialLimits = infoMap.at(&controls::Brightness); + if (newLimits.min() != initialLimits.min() || + newLimits.max() != initialLimits.max()) { + cerr << "The brightness control limits have changed" << endl; + return TestFail; + } + /* Deserialize the control list and verify the contents. */ buffer = ByteStreamBuffer(const_cast<const uint8_t *>(listData.data()), listData.size()); |