Eable leave connection

This commit is contained in:
dijunkun
2023-10-09 14:11:29 +08:00
parent 85582f8339
commit 95d2d74979
8 changed files with 83 additions and 121 deletions

View File

@@ -180,7 +180,7 @@ int PeerConnection::Create(PeerConnectionParams params,
const std::string &user_id) {
int ret = 0;
ret = Init(params, transmission_id, user_id);
// ret = Init(params, transmission_id, user_id);
json message = {{"type", "create_transmission"},
{"user_id", user_id},
@@ -198,13 +198,23 @@ int PeerConnection::Join(PeerConnectionParams params,
const std::string &user_id) {
int ret = 0;
ret = Init(params, transmission_id, user_id);
// ret = Init(params, transmission_id, user_id);
transmission_id_ = transmission_id;
ret = RequestTransmissionMemberList(transmission_id_);
return ret;
}
int PeerConnection::Leave() {
for (auto &ice_transmission : ice_transmission_list_) {
ice_transmission.second->DestroyIceTransmission();
}
ice_transmission_list_.erase(ice_transmission_list_.begin(),
ice_transmission_list_.end());
return 0;
}
void PeerConnection::ProcessSignal(const std::string &signal) {
auto j = json::parse(signal);
std::string type = j["type"];

View File

@@ -31,6 +31,9 @@ class PeerConnection {
~PeerConnection();
public:
int Init(PeerConnectionParams params, const std::string &transmission_id,
const std::string &user_id);
int Create(PeerConnectionParams params,
const std::string &transmission_id = "",
const std::string &user_id = "");
@@ -38,6 +41,8 @@ class PeerConnection {
int Join(PeerConnectionParams params, const std::string &transmission_id,
const std::string &user_id = "");
int Leave();
int Destroy();
SignalStatus GetSignalStatus();
@@ -47,9 +52,6 @@ class PeerConnection {
int SendUserData(const char *data, size_t size);
private:
int Init(PeerConnectionParams params, const std::string &transmission_id,
const std::string &user_id);
int CreateVideoCodec(bool hardware_acceleration);
void ProcessSignal(const std::string &signal);