Fixed WebRTC stuff
This commit is contained in:
parent
4de657a9a2
commit
ee00935cfc
@ -80,17 +80,18 @@ VoiceBridge::VoiceBridge(const shared_ptr<WebClient>& owner) : _owner(owner) {
|
||||
port = "19302"; /* fix for the invalid config value until 1.3.14beta1 :) */
|
||||
|
||||
try {
|
||||
config->nice_config->ice_servers.push_back({host,(uint16_t) stoi(port)});
|
||||
config->nice_config->stun_server = {host,(uint16_t) stoi(port)};
|
||||
} catch(std::exception& ex) {}
|
||||
}
|
||||
config->nice_config->ice_servers.push_back({"stun.l.google.com", 19302});
|
||||
if(config::web::ice_servers.empty())
|
||||
config->nice_config->stun_server = {"stun.l.google.com", 19302};
|
||||
|
||||
config->nice_config->allow_ice_udp = true;
|
||||
config->nice_config->allow_ice_tcp = false;
|
||||
config->nice_config->use_upnp = config::web::enable_upnp;
|
||||
|
||||
gioloop::initialize();
|
||||
config->nice_config->main_loop = gioloop::loop();
|
||||
config->event_loop = gioloop::loop();
|
||||
/*
|
||||
config->nice_config->main_loop = std::shared_ptr<GMainLoop>(g_main_loop_new(nullptr, false), g_main_loop_unref);
|
||||
std::thread(g_main_loop_run, config->nice_config->main_loop.get()).detach();
|
||||
@ -126,7 +127,7 @@ bool VoiceBridge::initialize(std::string &error) {
|
||||
callback(candidate);
|
||||
} else {
|
||||
if(auto callback{this->callback_ice_candidate_finished}; callback)
|
||||
callback();
|
||||
callback(candidate.sdpMid, candidate.sdpMLineIndex);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -13,7 +13,7 @@ namespace ts {
|
||||
public:
|
||||
typedef std::function<void(const pipes::buffer_view&, bool, bool)> cb_voice_data;
|
||||
typedef std::function<void(const rtc::IceCandidate&)> cb_ice_candidate;
|
||||
typedef std::function<void()> cb_ice_candidate_finish;
|
||||
typedef std::function<void(const std::string& /* sdpMid */, int /* sdpMLineIndex */)> cb_ice_candidate_finish;
|
||||
typedef std::function<void()> cb_initialized;
|
||||
typedef std::function<void()> cb_failed;
|
||||
|
||||
|
@ -505,10 +505,13 @@ void WebClient::handleMessage(const std::string &message) {
|
||||
|
||||
this->sendJson(jsonCandidate);
|
||||
};
|
||||
this->voice_bridge->callback_ice_candidate_finished = [&]{
|
||||
this->voice_bridge->callback_ice_candidate_finished = [&](const std::string& sdpMid, int sdpMLineIndex){
|
||||
Json::Value jsonCandidate;
|
||||
jsonCandidate["type"] = "WebRTC";
|
||||
jsonCandidate["request"] = "ice_finish";
|
||||
jsonCandidate["msg"]["candidate"] = "";
|
||||
jsonCandidate["msg"]["sdpMid"] = sdpMid;
|
||||
jsonCandidate["msg"]["sdpMLineIndex"] = sdpMLineIndex;
|
||||
|
||||
this->sendJson(jsonCandidate);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user