mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[feat] LeaveConnection() method needs to specific which transmission wants to leave
This commit is contained in:
@@ -85,7 +85,7 @@ DLLAPI int CreateConnection(PeerPtr* peer_ptr, const char* transmission_id,
|
|||||||
DLLAPI int JoinConnection(PeerPtr* peer_ptr, const char* transmission_id,
|
DLLAPI int JoinConnection(PeerPtr* peer_ptr, const char* transmission_id,
|
||||||
const char* password);
|
const char* password);
|
||||||
|
|
||||||
DLLAPI int LeaveConnection(PeerPtr* peer_ptr);
|
DLLAPI int LeaveConnection(PeerPtr* peer_ptr, const char* transmission_id);
|
||||||
|
|
||||||
DLLAPI int SendData(PeerPtr* peer_ptr, DATA_TYPE data_type, const char* data,
|
DLLAPI int SendData(PeerPtr* peer_ptr, DATA_TYPE data_type, const char* data,
|
||||||
size_t size);
|
size_t size);
|
||||||
|
|||||||
@@ -193,6 +193,8 @@ int PeerConnection::Init(PeerConnectionParams params,
|
|||||||
|
|
||||||
nv12_data_ = new char[1280 * 720 * 3 / 2];
|
nv12_data_ = new char[1280 * 720 * 3 / 2];
|
||||||
|
|
||||||
|
LOG_INFO("[{}] Init finish", user_id);
|
||||||
|
|
||||||
// if (0 != CreateVideoCodec(hardware_acceleration_)) {
|
// if (0 != CreateVideoCodec(hardware_acceleration_)) {
|
||||||
// LOG_ERROR("Create video codec failed");
|
// LOG_ERROR("Create video codec failed");
|
||||||
// return -1;
|
// return -1;
|
||||||
@@ -342,7 +344,7 @@ int PeerConnection::Join(const std::string &transmission_id,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PeerConnection::Leave() {
|
int PeerConnection::Leave(const std::string &transmission_id) {
|
||||||
if (SignalStatus::SignalConnected != GetSignalStatus()) {
|
if (SignalStatus::SignalConnected != GetSignalStatus()) {
|
||||||
LOG_ERROR("Signal not connected");
|
LOG_ERROR("Signal not connected");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -350,11 +352,11 @@ int PeerConnection::Leave() {
|
|||||||
|
|
||||||
json message = {{"type", "leave_transmission"},
|
json message = {{"type", "leave_transmission"},
|
||||||
{"user_id", user_id_},
|
{"user_id", user_id_},
|
||||||
{"transmission_id", transmission_id_}};
|
{"transmission_id", transmission_id}};
|
||||||
if (ws_transport_) {
|
if (ws_transport_) {
|
||||||
ws_transport_->Send(message.dump());
|
ws_transport_->Send(message.dump());
|
||||||
LOG_INFO("[{}] sends leave transmission [{}] notification ", user_id_,
|
LOG_INFO("[{}] sends leave transmission [{}] notification ", user_id_,
|
||||||
transmission_id_);
|
transmission_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ice_ready_ = false;
|
ice_ready_ = false;
|
||||||
@@ -576,7 +578,7 @@ int PeerConnection::RequestTransmissionMemberList(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INFO("Request member list");
|
LOG_INFO("[{}] Request member list", user_id_);
|
||||||
|
|
||||||
json message = {{"type", "query_user_id_list"},
|
json message = {{"type", "query_user_id_list"},
|
||||||
{"transmission_id", transmission_id_},
|
{"transmission_id", transmission_id_},
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class PeerConnection {
|
|||||||
int Join(const std::string &transmission_id,
|
int Join(const std::string &transmission_id,
|
||||||
const std::string &password = "");
|
const std::string &password = "");
|
||||||
|
|
||||||
int Leave();
|
int Leave(const std::string &transmission_id);
|
||||||
|
|
||||||
int Destroy();
|
int Destroy();
|
||||||
|
|
||||||
|
|||||||
@@ -81,13 +81,13 @@ int JoinConnection(PeerPtr *peer_ptr, const char *transmission_id,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int LeaveConnection(PeerPtr *peer_ptr) {
|
int LeaveConnection(PeerPtr *peer_ptr, const char *transmission_id) {
|
||||||
if (!peer_ptr) {
|
if (!peer_ptr) {
|
||||||
LOG_ERROR("peer_ptr not created");
|
LOG_ERROR("peer_ptr not created");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
peer_ptr->peer_connection->Leave();
|
peer_ptr->peer_connection->Leave(transmission_id);
|
||||||
LOG_INFO("LeaveConnection");
|
LOG_INFO("LeaveConnection");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user