Compare commits

..

11 Commits

Author SHA1 Message Date
Fabio Alessandrelli
c6b6f7e18c Merge pull request #87 from Faless/bump/rc1
Update to Godot 4.0 rc1.
2023-02-09 19:20:56 +01:00
Fabio Alessandrelli
00f952bcf1 Update to Godot 4.0 rc1. 2023-02-09 15:31:39 +01:00
Fabio Alessandrelli
d7032f7b85 Merge pull request #85 from Faless/fix/godot3_mingw
Workaround incorrect CC for 3.x mingw builds.
2023-02-07 23:14:09 +01:00
Fabio Alessandrelli
c9a1efc7a0 Workaround incorrect CC for 3.x mingw builds. 2023-02-06 19:08:45 +01:00
Fabio Alessandrelli
5bc4b79435 Merge pull request #83 from Faless/bump/beta14
Update to Godot 4.0 beta14.
2023-01-21 16:07:16 +01:00
Fabio Alessandrelli
b7b76dddab Update to Godot 4.0 beta14. 2023-01-21 10:00:01 +01:00
Fabio Alessandrelli
0b1c55ed83 Merge pull request #82 from Faless/bump/beta13
Update to Godot 4.0 beta13.
2023-01-20 12:27:43 +01:00
Fabio Alessandrelli
093ac7d489 Update to Godot 4.0 beta13. 2023-01-18 08:57:07 +01:00
Fabio Alessandrelli
84e9d6dd37 Merge pull request #81 from Faless/bump/beta12
Update to Godot 4.0 beta12.
2023-01-14 04:15:34 +01:00
Fabio Alessandrelli
a49a2b03e1 Revert "[Extension] Fix library resource waiting for Godot auto prefix."
This reverts commit 0c10a7f3e3.
2023-01-13 18:09:17 +01:00
Fabio Alessandrelli
656d3a9964 Update to Godot 4.0 beta12.
Also update thirdparty README with correct libdatachannel version.
2023-01-13 18:06:10 +01:00
9 changed files with 59 additions and 52 deletions

View File

@@ -68,6 +68,14 @@ if env["godot_version"] == "3":
target_compat = "template_" + env["target"]
env["suffix"] = ".{}.{}.{}".format(env["platform"], target_compat, env["arch_suffix"])
env["debug_symbols"] = False
# Set missing CC for MinGW from upstream build module.
if env["platform"] == "windows" and sys.platform != "win32" and sys.platform != "msys":
# Cross-compilation using MinGW
if env["bits"] == "64":
env["CC"] = "x86_64-w64-mingw32-gcc"
elif env["bits"] == "32":
env["CC"] = "i686-w64-mingw32-gcc"
else:
ARGUMENTS["ios_min_version"] = "11.0"
env = SConscript("godot-cpp/SConstruct").Clone()

View File

@@ -4,33 +4,24 @@ entry_symbol = "webrtc_extension_init"
[libraries]
linux.editor.x86_64 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so"
linux.editor.x86_32 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_32.so"
macos.editor.x86_64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.x86_64.dylib"
macos.editor.arm64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.arm64.dylib"
windows.editor.x86_64 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_64.dll"
windows.editor.x86_32 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_32.dll"
android.editor.arm64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.arm64.so"
android.editor.x86_64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.x86_64.so"
linux.debug.x86_64 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so"
linux.debug.x86_32 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_32.so"
macos.debug.x86_64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.x86_64.dylib"
macos.debug.arm64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.arm64.dylib"
windows.debug.x86_64 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_64.dll"
windows.debug.x86_32 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_32.dll"
android.debug.arm64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.arm64.so"
android.debug.x86_64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.x86_64.so"
ios.debug.arm64 = "res://webrtc/lib/libwebrtc_native.ios.template_debug.arm64.dylib"
ios.debug.x86_64 = "res://webrtc/lib/libwebrtc_native.ios.template_debug.x86_64.simulator.dylib"
linux.template_debug.x86_64 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so"
linux.template_debug.x86_32 = "res://webrtc/lib/libwebrtc_native.linux.template_debug.x86_32.so"
macos.template_debug.x86_64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.x86_64.dylib"
macos.template_debug.arm64 = "res://webrtc/lib/libwebrtc_native.macos.template_debug.arm64.dylib"
windows.template_debug.x86_64 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_64.dll"
windows.template_debug.x86_32 = "res://webrtc/lib/libwebrtc_native.windows.template_debug.x86_32.dll"
android.template_debug.arm64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.arm64.so"
android.template_debug.x86_64 = "res://webrtc/lib/libwebrtc_native.android.template_debug.x86_64.so"
ios.template_debug.arm64 = "res://webrtc/lib/libwebrtc_native.ios.template_debug.arm64.dylib"
ios.template_debug.x86_64 = "res://webrtc/lib/libwebrtc_native.ios.template_debug.x86_64.simulator.dylib"
linux.template_release.x86_64 = "res://webrtc/lib/libwebrtc_native.linux.template_release.x86_64.so"
linux.template_release.x86_32 = "res://webrtc/lib/libwebrtc_native.linux.template_release.x86_32.so"
macos.template_release.x86_64 = "res://webrtc/lib/libwebrtc_native.macos.template_release.x86_64.dylib"
macos.template_release.arm64 = "res://webrtc/lib/libwebrtc_native.macos.template_release.arm64.dylib"
windows.template_release.x86_64 = "res://webrtc/lib/libwebrtc_native.windows.template_release.x86_64.dll"
windows.template_release.x86_32 = "res://webrtc/lib/libwebrtc_native.windows.template_release.x86_32.dll"
android.template_release.arm64 = "res://webrtc/lib/libwebrtc_native.android.template_release.arm64.so"
android.template_release.x86_64 = "res://webrtc/lib/libwebrtc_native.android.template_release.x86_64.so"
ios.template_release.arm64 = "res://webrtc/lib/libwebrtc_native.ios.template_release.arm64.dylib"
ios.template_release.x86_64 = "res://webrtc/lib/libwebrtc_native.ios.template_release.x86_64.simulator.dylib"
linux.release.x86_64 = "res://webrtc/lib/libwebrtc_native.linux.template_release.x86_64.so"
linux.release.x86_32 = "res://webrtc/lib/libwebrtc_native.linux.template_release.x86_32.so"
macos.release.x86_64 = "res://webrtc/lib/libwebrtc_native.macos.template_release.x86_64.dylib"
macos.release.arm64 = "res://webrtc/lib/libwebrtc_native.macos.template_release.arm64.dylib"
windows.release.x86_64 = "res://webrtc/lib/libwebrtc_native.windows.template_release.x86_64.dll"
windows.release.x86_32 = "res://webrtc/lib/libwebrtc_native.windows.template_release.x86_32.dll"
android.release.arm64 = "res://webrtc/lib/libwebrtc_native.android.template_release.arm64.so"
android.release.x86_64 = "res://webrtc/lib/libwebrtc_native.android.template_release.x86_64.so"
ios.release.arm64 = "res://webrtc/lib/libwebrtc_native.ios.template_release.arm64.dylib"
ios.release.x86_64 = "res://webrtc/lib/libwebrtc_native.ios.template_release.x86_64.simulator.dylib"

View File

@@ -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<std::chrono::milliseconds>(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<int>(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/
}

View File

@@ -79,9 +79,9 @@ public:
/* 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 @@ public:
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();

View File

@@ -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);

View File

@@ -83,7 +83,11 @@ public:
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;

View File

@@ -119,21 +119,21 @@ public:
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();
};

View File

@@ -19,7 +19,7 @@ Module location:
## libdatachannel
- Upstream: https://github.com/paullouisageneau/libdatachannel
- Version: 0.18.0 (084445012d6c63c9f2cc250d88df553aed2eb189, 2022)
- Version: 0.18.1 (595f0ebaac3974f17e5a5c63e7e7dc0c5edd163d, 2022)
- License: MPL 2.0
Module location: