summaryrefslogtreecommitdiff
path: root/src/audio/include/stream_message.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/include/stream_message.hpp')
-rw-r--r--src/audio/include/stream_message.hpp69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/audio/include/stream_message.hpp b/src/audio/include/stream_message.hpp
deleted file mode 100644
index cf9ba39c..00000000
--- a/src/audio/include/stream_message.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2023 jacqueline <me@jacqueline.id.au>
- *
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-#pragma once
-
-#include <cstdint>
-#include <functional>
-#include <optional>
-
-#include "cbor.h"
-#include "result.hpp"
-#include "span.hpp"
-
-namespace audio {
-
-extern const int kEncoderFlags;
-extern const int kDecoderFlags;
-
-enum MessageType {
- TYPE_UNKNOWN,
- TYPE_CHUNK_HEADER,
- TYPE_STREAM_INFO,
-};
-
-template <typename Writer>
-auto WriteMessage(MessageType type, Writer&& writer, cpp::span<std::byte> data)
- -> cpp::result<size_t, CborError> {
- CborEncoder root;
- CborEncoder container;
- uint8_t* cast_data = reinterpret_cast<uint8_t*>(data.data());
-
- cbor_encoder_init(&root, cast_data, data.size(), kEncoderFlags);
- cbor_encoder_create_array(&root, &container, 2);
- cbor_encode_uint(&container, type);
-
- std::optional<CborError> inner_err = std::invoke(writer, container);
- if (inner_err) {
- return cpp::fail(inner_err.value());
- }
-
- cbor_encoder_close_container(&root, &container);
- return cbor_encoder_get_buffer_size(&root, cast_data);
-}
-
-template <typename Result, typename Reader>
-auto ReadMessage(Reader&& reader, cpp::span<std::byte> data)
- -> cpp::result<Result, CborError> {
- CborParser parser;
- CborValue root;
- CborValue container;
-
- cbor_parser_init(reinterpret_cast<uint8_t*>(data.data()), data.size(),
- kDecoderFlags, &parser, &root);
- cbor_value_enter_container(&root, &container);
- // Skip the type header
- cbor_value_advance_fixed(&container);
-
- return std::invoke(reader, container);
-}
-
-auto WriteTypeOnlyMessage(MessageType type, cpp::span<std::byte> data)
- -> cpp::result<size_t, CborError>;
-auto ReadMessageType(cpp::span<std::byte> msg) -> MessageType;
-auto GetAdditionalData(cpp::span<std::byte> msg) -> cpp::span<std::byte>;
-
-} // namespace audio