void WebsocketSignalingTransport::OnWebsocketBinaryReceived()

in chime-sdk-signaling-cpp/src/transport/websocket_signaling_transport.cc [102:121]


void WebsocketSignalingTransport::OnWebsocketBinaryReceived(const std::vector<uint8_t>& data) {
  if (data.size() < 2) return;
  signal_sdk::SdkSignalFrame signal_frame;
  // First byte is for type. This is currently always value 2.
  if (!signal_frame.ParseFromArray(&data[1], static_cast<int>(data.size() - 1))) {
    CHIME_LOG(LogLevel::kError, "Unable to cast to signaling frame")
    return;
  }

  LogLevel log_level = LogLevel::kInfo;

  if (signal_frame.type() == signal_sdk::SdkSignalFrame::BITRATES ||
      signal_frame.type() == signal_sdk::SdkSignalFrame::AUDIO_METADATA) {
    log_level = LogLevel::kVerbose;
  }

  CHIME_LOG(log_level, "Received control message: type=" + signal_frame_type_strings[signal_frame.type()])

  observer_->OnSignalFrameReceived(signal_frame);
}