44 if (parts.size() != 1)
47 std::string decompressed;
48 const std::string *json_text = &parts[0];
49 bool was_compressed =
false;
50 if (snappy::Uncompress(parts[0].data(), parts[0].size(), &decompressed)) {
51 json_text = &decompressed;
52 was_compressed =
true;
55 nlohmann::json payload;
57 payload = nlohmann::json::parse(*json_text);
61 if (!payload.is_object())
64 auto now = std::chrono::system_clock::now();
66 if (payload.contains(
"timestamp")) {
67 payload[
"timestamp"][
"$date"] = Mads::get_ISODate_time(now);
70 if (payload.contains(
"timecode")) {
71 payload[
"timecode"] = Mads::timecode(now, MADS_FPS);
77 std::string dumped = payload.dump();
79 std::string recompressed;
80 snappy::Compress(dumped.data(), dumped.size(), &recompressed);
81 parts[0] = std::move(recompressed);
83 parts[0] = std::move(dumped);