summaryrefslogtreecommitdiff
path: root/src/audio/stream_message.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-12-02 17:25:53 +1100
committerjacqueline <me@jacqueline.id.au>2022-12-02 17:25:53 +1100
commitc36208016eefcdfdeff045f675f74fdb69dddb52 (patch)
tree817bd458ca14a6dd0d200390a0b11cb2120aa33f /src/audio/stream_message.cpp
parent222c810b07ffc635fc7908d121e97e4d65ccc5c8 (diff)
downloadtangara-fw-c36208016eefcdfdeff045f675f74fdb69dddb52.tar.gz
better cbor handling
Diffstat (limited to 'src/audio/stream_message.cpp')
-rw-r--r--src/audio/stream_message.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/audio/stream_message.cpp b/src/audio/stream_message.cpp
new file mode 100644
index 00000000..58868ce8
--- /dev/null
+++ b/src/audio/stream_message.cpp
@@ -0,0 +1,26 @@
+#include "stream_message.hpp"
+
+#include <cstdint>
+
+#include "cbor.h"
+
+namespace audio {
+
+const int kEncoderFlags = 0;
+const int kDecoderFlags = 0;
+
+auto ReadMessageType(uint8_t* buffer, size_t length) -> MessageType {
+ CborParser parser;
+ CborValue root;
+ CborValue container;
+
+ cbor_parser_init(buffer, length, kDecoderFlags, &parser, &root);
+ cbor_value_enter_container(&root, &container);
+
+ uint64_t header = 0;
+ cbor_value_get_uint64(&container, &header);
+
+ return static_cast<MessageType>(header);
+}
+
+} // namespace audio