-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Bugfix: prevent borked generated audio file if meetecho header is sent with no RTP data next #2356
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Added a couple of notes inline. I see you signed the CLA already, so for me this can be merged as soon as the notes are addressed.
Hi @SamyCookie , |
8338595
to
f4dfd31
Compare
@atoppi done too ! |
f4dfd31
to
05a804a
Compare
…sent with no RTP data next
05a804a
to
d993290
Compare
lgtm 👍 |
Thanks for the quick fixes, merging then! |
@lminiero Should I write a ticket to reference the original problem ? (the fact that the server has written a MEETECHO header with no data next) |
I don't think there's any issue to address: it might be that a recording was closed while writing the last packet. As long as the postprocessor deals with it properly I think we're fine. As a side node, Janus doesn't write |
OK, but IMHO, this behaviour is unconsistant and should be fixed server side one day.
You are right and it is a typo from me cause I already saw this in |
And of course, thanks for your time and merging this ! |
Good catch, I reflected that change in some slides recently (e.g., see slides 49-50 here, but forgot to update the docs. I'll do that shortly. |
For some reason I ignore, Janus server created a MJR file, with
MEET..B?.T
(4D 45 45 54 00 05 42 D5 00 54) for final data, aka a MEETECHO header with an expected of 84 bytes RTP packet data next. But this RTP packet data has not been written.Consequences: postprocessing fails to generate a correct audio file, and some random extra silence audio data is badly inserted.
The current patch prevent this behaviour to happen by stopping MJR parsing if no data is reachable next.