-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Implement DataChannel #10
Comments
Usage example: https://github.com/xhs/librtcdc |
Regarding usrsctp being thread safe and a single-thread fork: |
This will be done in the future, but no need to keep an issue open for this task. |
Do you have an estimate as to when datachannels are expected? The reason I'm asking is because Node.js land has no good (read 'one that actually works') webrtc library (except for this one), and I really need datachannels for my project to move forward. |
It would be very helpful to have something to track. I'd like getting some kind of status update when DataChannels starts implementation or becomes available. I'd like seeing this issue opened and tagged, as it'd help close that loop. Agreed with Zubnix that this issue is the best hope by far for getting a lot of really interesting Node.js webrtc projects going. |
Hi guys, I reopen this issue to have it as feature tracker. |
The dedicated data channel lib based on RAWRTC is supposed to be ready at IETF 101. Just some info for anyone else interested since @ibc already knows. 😃 |
@lgrahl SHOW ME THE CODE! :) |
@ibc I haven't started, yet. But since you can't wait: I'll start in roughly two weeks and you'll be the first to know about any progress. 😜 |
Cool :) |
@lgrahl based on what loop? Libuv, libre? |
@Globik I of course use libre utility functions ( |
@lgrahl Hi, any news ? |
This is off-topic but I'll answer anyway: Already done, see https://github.com/rawrtc/rawrtc-data-channel/ |
It's not lack of interest but just lack of time (plus not much knowledge of DataChannel at implementation level). It also comes to my mind whether we should implement DataChannel or wait wait for unordered/unreliable QUIC in browsers and implement a |
No blame intended. And QUIC... let's wait and see... but I'm certain we will wait years. |
Yeah, I don't have any strong preference. Nor time enough to integrate DataChannel for now :) |
BTW @lgrahl, does For example, in mediasoup all the external C/C++ libraries are included into the worker/deps/ folder and all them have a |
The world of build systems is fragmented. Therefore, a build system should allow to depend on other build systems. If GYP can't, then 🤷♀️. If it can, then, yes, you will need to IMO, Meson brings the best compromise with the least amount of pain. So, I chose it. Meson configures, Ninja builds. Thus, Meson requires Ninja. |
Yeah. I assume all of us want that others also use our preferred build system :) |
GYP can use ninja too, so hey, there is that :-P |
Plz plz @saghul, elaborate that a bit more. So you mean that gyp (and I mean the gyp we already use in mediasoup) can be configured to generate ninja "configuration files", so after calling the If so, rawrtc-data-channel project would need a And wait... why is ninja required at all? I'm not against ninja but AFAIU if there would be a |
Yes, yes and yes. But have fun writing GYP files for re, rew, usrsctp and rawrtc-data-channel (the easiest part of them all). If I compare that against invoking |
@lgrahl why does it depend on re and rew? |
Quite a couple of helper functions. But I'm fine with optionally pulling those from re into rawrtc-common. |
I've written this, which covers mediasoup DataChannel architecture and implementation approaches: |
We are finally working in DataChannel implementation for mediasoup v3. Here the announcement: https://mediasoup.discourse.group/t/working-in-datachannel-implementation/104 |
I think some criticism is appropriate, considering that you were one of the folks asking for a better-suited data channel library which is why I started writing it. Yet you're now going the DIY path as well. Just hoping you're not doing the same mistakes as all the other ones. 😜 Nevertheless, feedback understood that the API of rawrtc-data-channel is not ideal for forwarding and that there's a dependency issue. |
Not entirely accurate: Honestly we don't know if "the API of Agreed on the dependency issue. But more important (and not the first time we mention it):
|
If the dependency towards usrsctp-neat were the only issue, it wouldn't make sense to go DIY as you're most likely going to link it statically anyway. The usrsctp folks made it absolutely clear (to me, in person) that they are going to merge the required changes eventually. Having worked with them for quite a while, I fully trust that they will as soon as they find the time to do so. Your decision is your decision though and I don't want to publicly argue about this unless you're not 100% sure you want to do it the DIY way. |
We need DataChannel in mediasoup within the next 2 months. If things change in the future we are 100% open for improvements and even new stacks. Basically all the SCTP code will be located into a single |
And this is done!!: Announcement: https://mediasoup.discourse.group/t/datachannel-implemented/139 Test it at https://v3demo.mediasoup.org (can type |
mediasoup and mediasoup-client 3.2.0 have been released in NPM with DataChannel support. Enjoy. |
RtpStreamSend: sanitization
The lib: https://github.com/sctplab/usrsctp
The text was updated successfully, but these errors were encountered: