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