summaryrefslogtreecommitdiff
path: root/src/audio/stream_message.cpp
blob: 58868ce86b338035a687c91599c34325b3c7f83a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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