summaryrefslogtreecommitdiff
path: root/src/audio/stream_message.cpp
diff options
context:
space:
mode:
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