in chime-sdk-signaling-cpp/src/signaling/default_signaling_client.cc [270:304]
void DefaultSignalingClient::OnSignalFrameReceived(const signal_sdk::SdkSignalFrame& frame) {
switch (frame.type()) {
case signal_sdk::SdkSignalFrame::JOIN_ACK:
CHIME_LOG(LogLevel::kInfo, "Join is successful")
UpdateTurnCredentials(frame.joinack());
break;
case signal_sdk::SdkSignalFrame::LEAVE_ACK:
CHIME_LOG(LogLevel::kInfo, "Leave is successful")
state_ = SignalingState::kDisconnected;
Close();
break;
case signal_sdk::SdkSignalFrame::INDEX:
HandleIndexFrame(frame.index());
break;
case signal_sdk::SdkSignalFrame::SUBSCRIBE_ACK:
HandleSubAckFrame(frame.suback());
break;
case signal_sdk::SdkSignalFrame::BITRATES:
// TODO @hokyungh: implement it.
break;
case signal_sdk::SdkSignalFrame::AUDIO_METADATA:
if (audio_frame_adapter_) audio_frame_adapter_->OnAudioMetadata(frame.audio_metadata());
break;
case signal_sdk::SdkSignalFrame::AUDIO_STREAM_ID_INFO:
if (audio_frame_adapter_) audio_frame_adapter_->OnAudioStreamIdInfo(frame.audio_stream_id_info());
break;
case signal_sdk::SdkSignalFrame::DATA_MESSAGE:
HandleDataMessageFrame(frame.data_message());
break;
default:
// Unexpected type
CHIME_LOG(LogLevel::kDebug, "Received unexpected signaling type: " + std::to_string(frame.type()))
break;
}
}