Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I don't get this. After the initial ICE negotiation you can just send raw RTP packets (encrypted with SRTP/DTLS). There is no need for any ACK packets. FEC can be done at codec level. What I am missing?


From a server or a native client, you can send whatever RTP packets you want, but you cannot send whatever RTP packets you want from a web client, and you cannot have access to the RTP packets from a web client and do whatever you want with them, at least not very easily. We are working on an extension to WebRTC called RtpTransport that would allow for just that, but it's in early stages of design and standardization.


That's so exciting! I had no idea you were working on this :)

Here [0] is a link for anyone that is looking for it.

[0] https://github.com/w3c/webrtc-rtptransport/blob/main/explain...


Are you referencing this line? > 2x the packets, because libsctp immediately ACKs every “datagram”.

The section is about data channels, which uses SCTP and is ACK-based. Yes, you can use RTP with NACK and/or FEC with the media stack, but not with the data stack.


TCP can coalesce acks for multiple packets, can't SCTP do the same?


The protocol can do it, but libsctp (used by browsers) was not coalescing ACKs. I'm not sure if it has been fixed yet.


SCTP can (and does) a SACK[0] isn't needed for each DATA chunk.

[0] https://datatracker.ietf.org/doc/html/rfc4960#section-3.3.4




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: