-
-
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
SimpleConsumer: Opus DTX ignore capabilities #846
Conversation
@nazar-pc, I have added the changes to Rust. Would you please check it? I'm having issues when running
It's pointing to openssl subproject, which does not have the meson.build file. Update: Please ignore. I've removed the openssl subprojects and build it again. The meson.build file is there. |
Checking those CI failures.. |
@jmillan FYI you can also discard the next packet after a DTX if the RTP Marker bit is not set :))) |
Why would the encoder send a "real" Opus audio packet after a DTX if such a packet should be discarded? |
I don't know why, but it never sends two consecutive DTX packets. |
Just saying, if the goal is to decrease the bandwidth consumption, maybe it might be a good idea to drop those frames too (they are much bigger than DTX) |
How standard is that behavior? It looks a bit dangerous to me if we assume that. |
Any reference to the specification? marker bit in audio is used to indicate the first packet after a silence period. Sending no marked packet after a DTX is not even specified. |
There is no reference in the specs about this.. |
BTW, The main problem is that they send a non-DTX frame between consecutive DTX without marker bit set. And if the marker bit is not set, it's not the first voice frame after a silence period :)))) |
From https://datatracker.ietf.org/doc/html/rfc3551#section-4.1
It is RECOMMENDED and hence we should not discard packets after a DTX if they come with marker bit unset, otherwise we could be dropping legitimate audio. |
@nazar-pc I mostly assigned you for reviewing the Rust side, in case you don't have the time for a full review. |
Rust side is trivial, looks good to me. I can proper review, but probably not until weekend, very busy. UPD: No idea why it closed with comment 👀 |
@jmillan Do you have a branch / repo with the |
@smoke plesse don't pollute this already merged PR with questions and direct mentions. Use the public forum instead. |
Tested with mediasoup-demo. Clearly shows ignore logs when there is silence.
RTP sequence numbers are properly handled, no audio cuts are appreciated.