-
Notifications
You must be signed in to change notification settings - Fork 280
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
Improved interpretation of DTMF tones in DtmfTransformEngine #433
base: master
Are you sure you want to change the base?
Conversation
Hi, thanks for your contribution! |
|
||
notifyAll(); | ||
} | ||
queue.offer(p); |
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.
I haven't read the diff carefully, but: PacketTransformers should not keep the RawPacket/DtmfRawPacket instances, because these instances and their buffers are re-used. I don't expect many DTMF packets, so a simple clone()
should be enough.
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 for your feedback. In e982394, I added a clone()
implementation for DtmfRawPacket
and added the call on line 626.
9452bda
to
e982394
Compare
Is there still interest in this PR? If so, I'd be happy to update it. I see some files were moved but the underlying code hasn't changed much. |
This change addresses a number of issues that led to incorrect interpretations of DTMF tones, especially tone sequences. It introduces a queue to mitigate previous thread-safety issues and handle more than one RTP packet at a time (a single tone is associated with at least three RTP packets). It also adds support to recognize shorter tones (<120 ms) that are typically represented by one self-contained RTP packet containing both start and end indications.
e982394
to
4ab8d48
Compare
Rebased - this is ready for review once more. Tested with The Test Call:
|
This change addresses a number of issues that led to incorrect interpretations
of DTMF tones, especially tone sequences.
It introduces a queue to mitigate previous thread-safety issues and handle
more than one RTP packet at a time (a single tone is associated with at least
three RTP packets).
It also adds support for recognizing shorter tones (<120 ms) that are typically
represented by one self-contained RTP packet containing both start and end
indications.
Note: Corporate CLA was completed on 2018-08-03.