Test user date in peer instance and callback functions

This commit is contained in:
dijunkun
2024-05-30 17:27:49 +08:00
parent 0a934e8c01
commit f29b2ee09d
3 changed files with 40 additions and 16 deletions

View File

@@ -7,18 +7,18 @@
#include "log.h" #include "log.h"
#include "platform.h" #include "platform.h"
void ReceiveVideoBuffer(const char *data, size_t size, const char *user_id, void ReceiveVideoBufferCb(const char *data, size_t size, const char *user_id,
size_t user_id_size) {} size_t user_id_size, void *user_data) {}
void ReceiveAudioBuffer(const char *data, size_t size, const char *user_id, void ReceiveAudioBufferCb(const char *data, size_t size, const char *user_id,
size_t user_id_size) {} size_t user_id_size, void *user_data) {}
void ReceiveDataBuffer(const char *data, size_t size, const char *user_id, void ReceiveDataBufferCb(const char *data, size_t size, const char *user_id,
size_t user_id_size) {} size_t user_id_size, void *user_data) {}
void SignalStatus(SignalStatus status) {} void SignalStatusCb(SignalStatus status, void *user_data) {}
void ConnectionStatus(ConnectionStatus status) {} void ConnectionStatusCb(ConnectionStatus status, void *user_data) {}
Connection::Connection() {} Connection::Connection() {}
@@ -32,11 +32,32 @@ int Connection::DeskConnectionInit() {
mac_addr_str_ = mac_addr_str; mac_addr_str_ = mac_addr_str;
params_.cfg_path = f.good() ? "../../../../config/config.ini" : "config.ini"; params_.cfg_path = f.good() ? "../../../../config/config.ini" : "config.ini";
params_.on_receive_video_buffer = ReceiveVideoBuffer; params_.on_receive_video_buffer = ReceiveVideoBufferCb;
params_.on_receive_audio_buffer = ReceiveAudioBuffer; params_.on_receive_audio_buffer = ReceiveAudioBufferCb;
params_.on_receive_data_buffer = ReceiveDataBuffer; params_.on_receive_data_buffer = ReceiveDataBufferCb;
params_.on_signal_status = SignalStatus;
params_.on_connection_status = ConnectionStatus; params_.on_signal_status = [](SignalStatus status, void *user_data) {
if (user_data == nullptr) {
return;
}
Connection *connection = (Connection *)user_data;
connection->signal_status_ = status;
if (SignalStatus::SignalConnecting == status) {
connection->signal_status_str_ = "SignalConnecting";
} else if (SignalStatus::SignalConnected == status) {
connection->signal_status_str_ = "SignalConnected";
} else if (SignalStatus::SignalFailed == status) {
connection->signal_status_str_ = "SignalFailed";
} else if (SignalStatus::SignalClosed == status) {
connection->signal_status_str_ = "SignalClosed";
} else if (SignalStatus::SignalReconnecting == status) {
connection->signal_status_str_ = "SignalReconnecting";
}
};
params_.on_connection_status = ConnectionStatusCb;
params_.user_data = this;
peer_ = CreatePeer(&params_); peer_ = CreatePeer(&params_);
LOG_INFO("Create peer"); LOG_INFO("Create peer");

View File

@@ -48,8 +48,11 @@ class Connection {
std::chrono::steady_clock::time_point last_frame_time_; std::chrono::steady_clock::time_point last_frame_time_;
#endif #endif
std::atomic<ConnectionStatus> connection_status_{ConnectionStatus::Closed}; public:
std::atomic<SignalStatus> signal_status_{SignalStatus::SignalClosed}; ConnectionStatus connection_status_ = ConnectionStatus::Closed;
SignalStatus signal_status_ = SignalStatus::SignalClosed;
std::string signal_status_str_ = "";
}; };
#endif #endif