diff options
Diffstat (limited to 'src/audio/stream_message.cpp')
| -rw-r--r-- | src/audio/stream_message.cpp | 26 |
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 |
