-
-
Notifications
You must be signed in to change notification settings - Fork 38
Switch to libdatachannel as RTC library. Add GDExtension support. #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I compiled the Godot 3 version per your instructions on Twitter ( I'll try to test the Godot 4 version soon as well. |
|
I haven't managed to do a really solid test of the Godot 4 version yet, but I just wanted to point out that the paths are mostly wrong in the *.gdextension files in the binary release linked in the issue description. It's got them all with "x86_32" in their filenames, rather than the correct architecture: My system is Linux 64-bit, so when it tried to load the GDExtension I got this error: After I corrected the path, it appears to be loading correctly. |
|
Thanks for trying out the PR! |
Awesome, thanks! I've started porting a small-ish WebRTC project to Godot 4. I was hoping to get it done today, but that may have been a little optimistic. :-) I'll come back to it on the weekend, and let you know how it goes! |
|
I ported my "WebRTC and Nakama addon" to Godot 4: https://gitlab.com/snopek-games/godot-nakama-webrtc/-/commits/godot-4 ... and, using the binary builds linked above, got the demo game actually working! Skimming the code changes, everything seems fine to me. It's very clever how you have it supporting both GDNative and GDExtension :-) |
|
godotengine/godot#61839 merged |
f813acd to
764f253
Compare
764f253 to
e19b370
Compare
|
|
We can finally ditch that ugly mess that's the chromium WebRTC library thanks to a sane implementation: libdatachannel.
This PR also adds GDExtension (godot 4) support. See the updated README.
Draft status:
[SCons] Move toolchains logic to tools folder, various improvements. godot-cpp#762Separate main/release CI (Build both gdnative and gdextension in CI.gdnative/vx.y.zgdextension/vx.y.z)WebRTCLibPeerConnection.new().make_default()once to bind with the default implementation. (Waiting for [WebRTC] Static extension registration. godot#61839).TODOs to evaluate.See here for prebuilt binaries (current master as of writing, but might break before Godot 4 is released).See here for Godot 4.0 alpha-10 and Godot 3.5 builds.