FrameSerializer: hide image data in user_data in CBOR

This commit is contained in:
2023-04-18 13:35:58 +02:00
parent 001a7d86fc
commit 962edaa4ad
3 changed files with 46 additions and 26 deletions

View File

@@ -361,19 +361,25 @@ void JFJochFrameSerializer::SerializeSequenceEnd(const EndMessage& message) {
void JFJochFrameSerializer::SerializeImage(const DataMessage& message) {
buffer.resize(max_buffer_size);
CborEncoder encoder, mapEncoder;
CborEncoder encoder, mapEncoder, userDataMapEncoder;
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 9));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 4));
CBOR_ENC(mapEncoder, "type", "image");
CBOR_ENC(mapEncoder, "image_id", message.number);
CBOR_ENC(mapEncoder, "data", message.image);
CBOR_ENC(mapEncoder, "spots", message.spots);
CBOR_ENC(mapEncoder, "rad_int_profile", message.rad_int_profile);
CBOR_ENC(mapEncoder, "indexing_result", message.indexing_result);
CBOR_ENC(mapEncoder, "bunch_id", message.bunch_id);
CBOR_ENC(mapEncoder, "jf_info", (uint64_t) message.jf_info);
CBOR_ENC(mapEncoder, "timestamp", message.timestamp);
cborErr(cbor_encode_text_stringz(&mapEncoder, "user_data"));
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 6));
CBOR_ENC(userDataMapEncoder, "spots", message.spots);
CBOR_ENC(userDataMapEncoder, "rad_int_profile", message.rad_int_profile);
CBOR_ENC(userDataMapEncoder, "indexing_result", message.indexing_result);
CBOR_ENC(userDataMapEncoder, "bunch_id", message.bunch_id);
CBOR_ENC(userDataMapEncoder, "jf_info", (uint64_t) message.jf_info);
CBOR_ENC(userDataMapEncoder, "timestamp", message.timestamp);
cborErr(cbor_encoder_close_container(&mapEncoder, &userDataMapEncoder));
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
buffer.resize(cbor_encoder_get_buffer_size(&encoder, buffer.data()));