-
Notifications
You must be signed in to change notification settings - Fork 42
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
Sender preference for flexfec over RTX #702
Conversation
Fix for Issue #694
Summarizing the text in the PR:
IMHO the preference of "or" over the former "and" is a bit unclear. Said that, I don't fully understand how this works. If FLEXFEC is in use, which should be the value of the |
@ibc For "flexfec" the value in fec.mechanism would be "flexfec" and I'd suggest that fec.ssrc should used for all packets, whether they are doing forward error correction or retransmission. rtx.ssrc would therefore only apply to the "rtx" codec. I think this permits a receiver to enable both "flexfec" and "rtx" with or without explicit SSRCs. |
Sure, that's how FLEXFEC works.
Complex, but it may work. This is, both FLEXFEC and RTX packets (with same or different SSRCs) may be used at the same time.
I don't fully follow you here. Today FEC is used by encapsulating UPLFEC into RED packets, and using RTX in a different SSRC. Anyhow, the text says:
By reading it it seems that, in order to use FLEXFEC retransmission,
So I'm confused. How to signal that I want to use FLEXFEC for (also) retransmission and, at the same time, I don't want to use RTX? |
I dont think the endpoints need an explicit signaling/indication for enabling RTX in FLEXFEC, the sender would send FLEXFEC packets with a single protected packet. |
Agreed, but then the text above does not seem correct IMHO:
By reading that it seems that, in order to use FLEXFEC (also) for retransmission, |
@ibc There is no setting to turn off retransmission support in "flexfec". That seems to suggest that retransmission support and use is required in "flexec". So setting fec.ssrc and fec.mechanism is enough. All we're trying to do here is clarify what happens if "rtx" is added to codecs[] and encodings[].rtx is set in addition, to make it clear that "rtx" settings are ignored. |
Fine then.
But we still want to be able to receive RTX packets and process, right? |
On reflection, this is really an issue relating to legal values of encodings.fec and encodings.rtx. Closing. |
Fix for Issue #694