diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-16 10:57:55 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-16 10:57:55 +1000 |
| commit | 4e27de21e49900963ffa61cc9c0a676bb028f992 (patch) | |
| tree | 8123994d33bc2ff8b5d58a38155b53e401669ae8 /src/audio/include/stream_message.hpp | |
| parent | 62dce8d9fcc139ca6dc2041c86723d19faab304f (diff) | |
| download | tangara-fw-4e27de21e49900963ffa61cc9c0a676bb028f992.tar.gz | |
clean up a bunch of obselete audio code
Diffstat (limited to 'src/audio/include/stream_message.hpp')
| -rw-r--r-- | src/audio/include/stream_message.hpp | 69 |
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 |
