-
Notifications
You must be signed in to change notification settings - Fork 64
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
Continued NACK Improvements #9
Comments
Is it normal that the NACK SSRC is random? interceptor/pkg/nack/generator_interceptor.go Line 116 in 0ee4264
I didn't saw the specification, but the receiver SSRC should be shared between reports and nacks, therefore it is random but at a higher level. Edit: i realized that interceptors work with a variable number of streams, therefore they must be able to generate SSRCs - but they must be shared between NACKs and receiver reports. We have to find a way to make it so. |
@aler9 I think the best way to do this is the Option pattern we use in Pion. You can see it in GeneratorOption there is also a ResponderOption in the same directory. Instead of doing a 'Configuration Struct' or a bunch of function arguments we do this. We should add one to set the SSRC. If one isn't set then we can do random! |
Hi, I think that the NACK behavior is invalid, at least with pion version 4.0.1. If packet is lost once it indefinitely NACKing the packet. The result of ReadRTX method https://github.com/pion/webrtc/blob/master/track_remote.go#L131 does not pass the RTX packets back to interceptors so the NackInterceptor thinks the rtx packets did not arrived and request retransmission again in a loop. As you can see on the main stream the pion transmitted 1475 packets and 184 lost, but on the retransmission stream it requested absurd amount of retransmissions
Am I not seeing something? some configuration or anything else? If I change GeneratorMaxNacksPerPacket to 1. It works as expected but if the retransmission packet is lost then there is no way to recover that packet data. |
max sequence number - buffer size
)The text was updated successfully, but these errors were encountered: