diff --git a/godot-cpp b/godot-cpp index 1909113..516fad1 160000 --- a/godot-cpp +++ b/godot-cpp @@ -1 +1 @@ -Subproject commit 19091138895d35e1ce69742889b8bfd82be57f17 +Subproject commit 516fad14e45d341211121832bb3daa172aebd6e1 diff --git a/src/WebRTCLibDataChannel.cpp b/src/WebRTCLibDataChannel.cpp index d4ded1e..dd51ded 100644 --- a/src/WebRTCLibDataChannel.cpp +++ b/src/WebRTCLibDataChannel.cpp @@ -136,17 +136,17 @@ bool WebRTCLibDataChannel::_is_ordered() const { return channel->reliability().unordered == false; } -int64_t WebRTCLibDataChannel::_get_id() const { +int32_t WebRTCLibDataChannel::_get_id() const { ERR_FAIL_COND_V(!channel, -1); return channel->id().value_or(-1); } -int64_t WebRTCLibDataChannel::_get_max_packet_life_time() const { +int32_t WebRTCLibDataChannel::_get_max_packet_life_time() const { ERR_FAIL_COND_V(!channel, 0); return channel->reliability().type == rtc::Reliability::Type::Timed ? std::get(channel->reliability().rexmit).count() : -1; } -int64_t WebRTCLibDataChannel::_get_max_retransmits() const { +int32_t WebRTCLibDataChannel::_get_max_retransmits() const { ERR_FAIL_COND_V(!channel, 0); return channel->reliability().type == rtc::Reliability::Type::Rexmit ? std::get(channel->reliability().rexmit) : -1; } @@ -161,7 +161,7 @@ bool WebRTCLibDataChannel::_is_negotiated() const { return negotiated; } -int64_t WebRTCLibDataChannel::_get_buffered_amount() const { +int32_t WebRTCLibDataChannel::_get_buffered_amount() const { ERR_FAIL_COND_V(!channel, 0); return channel->bufferedAmount(); } @@ -194,7 +194,7 @@ Error WebRTCLibDataChannel::_get_packet(const uint8_t **r_buffer, int32_t *r_len return OK; } -Error WebRTCLibDataChannel::_put_packet(const uint8_t *p_buffer, int64_t p_len) try { +Error WebRTCLibDataChannel::_put_packet(const uint8_t *p_buffer, int32_t p_len) try { ERR_FAIL_COND_V(!channel, FAILED); ERR_FAIL_COND_V(channel->isClosed(), FAILED); if (write_mode == WRITE_MODE_TEXT) { @@ -212,11 +212,11 @@ Error WebRTCLibDataChannel::_put_packet(const uint8_t *p_buffer, int64_t p_len) ERR_FAIL_V(FAILED); } -int64_t WebRTCLibDataChannel::_get_available_packet_count() const { +int32_t WebRTCLibDataChannel::_get_available_packet_count() const { return packet_queue.size(); } -int64_t WebRTCLibDataChannel::_get_max_packet_size() const { +int32_t WebRTCLibDataChannel::_get_max_packet_size() const { return 16384; // See RFC-8831 section 6.6: https://datatracker.ietf.org/doc/rfc8831/ } diff --git a/src/WebRTCLibDataChannel.hpp b/src/WebRTCLibDataChannel.hpp index 2525002..995c204 100644 --- a/src/WebRTCLibDataChannel.hpp +++ b/src/WebRTCLibDataChannel.hpp @@ -79,9 +79,9 @@ class WebRTCLibDataChannel : public godot::WebRTCDataChannelExtension { /* PacketPeer */ virtual godot::Error _get_packet(const uint8_t **r_buffer, int32_t *r_len) override; - virtual godot::Error _put_packet(const uint8_t *p_buffer, int64_t p_len) override; - virtual int64_t _get_available_packet_count() const override; - virtual int64_t _get_max_packet_size() const override; + virtual godot::Error _put_packet(const uint8_t *p_buffer, int32_t p_len) override; + virtual int32_t _get_available_packet_count() const override; + virtual int32_t _get_max_packet_size() const override; /* WebRTCDataChannel */ godot::Error _poll() override; @@ -94,12 +94,12 @@ class WebRTCLibDataChannel : public godot::WebRTCDataChannelExtension { ChannelState _get_ready_state() const override; godot::String _get_label() const override; bool _is_ordered() const override; - int64_t _get_id() const override; - int64_t _get_max_packet_life_time() const override; - int64_t _get_max_retransmits() const override; + int32_t _get_id() const override; + int32_t _get_max_packet_life_time() const override; + int32_t _get_max_retransmits() const override; godot::String _get_protocol() const override; bool _is_negotiated() const override; - int64_t _get_buffered_amount() const override; + int32_t _get_buffered_amount() const override; WebRTCLibDataChannel(); ~WebRTCLibDataChannel(); diff --git a/src/WebRTCLibPeerConnection.cpp b/src/WebRTCLibPeerConnection.cpp index 6f216e0..0744c9b 100644 --- a/src/WebRTCLibPeerConnection.cpp +++ b/src/WebRTCLibPeerConnection.cpp @@ -234,7 +234,11 @@ Error WebRTCLibPeerConnection::_set_local_description(const String &p_type, cons return OK; } +#ifdef GDNATIVE_WEBRTC Error WebRTCLibPeerConnection::_add_ice_candidate(const String &sdpMidName, int64_t sdpMlineIndexName, const String &sdpName) try { +#else +Error WebRTCLibPeerConnection::_add_ice_candidate(const String &sdpMidName, int32_t sdpMlineIndexName, const String &sdpName) try { +#endif ERR_FAIL_COND_V(!peer_connection, ERR_UNCONFIGURED); rtc::Candidate candidate(sdpName.utf8().get_data(), sdpMidName.utf8().get_data()); peer_connection->addRemoteCandidate(candidate); diff --git a/src/WebRTCLibPeerConnection.hpp b/src/WebRTCLibPeerConnection.hpp index 703a59c..4e7af16 100644 --- a/src/WebRTCLibPeerConnection.hpp +++ b/src/WebRTCLibPeerConnection.hpp @@ -83,7 +83,11 @@ class WebRTCLibPeerConnection : public godot::WebRTCPeerConnectionExtension { godot::Error _create_offer() override; godot::Error _set_remote_description(const godot::String &type, const godot::String &sdp) override; godot::Error _set_local_description(const godot::String &type, const godot::String &sdp) override; +#ifdef GDNATIVE_WEBRTC godot::Error _add_ice_candidate(const godot::String &sdpMidName, int64_t sdpMlineIndexName, const godot::String &sdpName) override; +#else + godot::Error _add_ice_candidate(const godot::String &sdpMidName, int32_t sdpMlineIndexName, const godot::String &sdpName) override; +#endif godot::Error _poll() override; void _close() override; diff --git a/src/net/WebRTCDataChannelNative.hpp b/src/net/WebRTCDataChannelNative.hpp index d00929d..9df9706 100644 --- a/src/net/WebRTCDataChannelNative.hpp +++ b/src/net/WebRTCDataChannelNative.hpp @@ -119,21 +119,21 @@ class WebRTCDataChannelNative : public godot::WebRTCDataChannelGDNative { virtual ChannelState _get_ready_state() const = 0; virtual godot::String _get_label() const = 0; virtual bool _is_ordered() const = 0; - virtual int64_t _get_id() const = 0; - virtual int64_t _get_max_packet_life_time() const = 0; - virtual int64_t _get_max_retransmits() const = 0; + virtual int32_t _get_id() const = 0; + virtual int32_t _get_max_packet_life_time() const = 0; + virtual int32_t _get_max_retransmits() const = 0; virtual godot::String _get_protocol() const = 0; virtual bool _is_negotiated() const = 0; - virtual int64_t _get_buffered_amount() const = 0; + virtual int32_t _get_buffered_amount() const = 0; virtual godot::Error _poll() = 0; virtual void _close() = 0; /* PacketPeer */ virtual godot::Error _get_packet(const uint8_t **r_buffer, int32_t *r_len) = 0; - virtual godot::Error _put_packet(const uint8_t *p_buffer, int64_t p_len) = 0; - virtual int64_t _get_available_packet_count() const = 0; - virtual int64_t _get_max_packet_size() const = 0; + virtual godot::Error _put_packet(const uint8_t *p_buffer, int32_t p_len) = 0; + virtual int32_t _get_available_packet_count() const = 0; + virtual int32_t _get_max_packet_size() const = 0; ~WebRTCDataChannelNative(); };