diff options
Diffstat (limited to 'src/WebRTCLibPeerConnection.hpp')
-rw-r--r-- | src/WebRTCLibPeerConnection.hpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/WebRTCLibPeerConnection.hpp b/src/WebRTCLibPeerConnection.hpp index b46d606..8c5d9b8 100644 --- a/src/WebRTCLibPeerConnection.hpp +++ b/src/WebRTCLibPeerConnection.hpp @@ -3,8 +3,8 @@ #include <Godot.hpp> // Godot.hpp must go first, or windows builds breaks -#include "api/peerconnectioninterface.h" // interface for all things needed from WebRTC -#include "media/base/mediaengine.h" // needed for CreateModularPeerConnectionFactory +#include "api/peer_connection_interface.h" // interface for all things needed from WebRTC +#include "media/base/media_engine.h" // needed for CreateModularPeerConnectionFactory #include <functional> // std::function #include <mutex> // mutex @TODO replace std::mutex with Godot mutex @@ -18,8 +18,11 @@ class WebRTCLibPeerConnection : public WebRTCPeerConnectionNative { private: godot_error _create_pc(webrtc::PeerConnectionInterface::RTCConfiguration &config); + static std::unique_ptr<rtc::Thread> signaling_thread; public: static void _register_methods(); + static void initialize_signaling(); + static void deinitialize_signaling(); void _init(); @@ -66,7 +69,7 @@ public: GodotCSDO(WebRTCLibPeerConnection *parent); void OnSuccess(webrtc::SessionDescriptionInterface *desc) override; - void OnFailure(const std::string &error) override; + void OnFailure(webrtc::RTCError error) override; }; /** SetSessionDescriptionObserver callback functions **/ @@ -76,17 +79,16 @@ public: GodotSSDO(WebRTCLibPeerConnection *parent); void OnSuccess() override; - void OnFailure(const std::string &error) override; + void OnFailure(webrtc::RTCError error) override; }; GodotPCO pco; rtc::scoped_refptr<GodotSSDO> ptr_ssdo; rtc::scoped_refptr<GodotCSDO> ptr_csdo; - std::mutex *mutex_signal_queue; + std::mutex *mutex_signal_queue = nullptr; std::queue<std::function<void()> > signal_queue; - rtc::Thread *signaling_thread; rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory; rtc::scoped_refptr<webrtc::PeerConnectionInterface> peer_connection; }; |