twinkle
twinkle copied to clipboard
Add support for the Opus codec
Closes #101
A few additional details:
-
Forward Error Correction (FEC) is not supported on the decoding side, and any such data in the incoming stream will simply be discarded. This is unlikely to change, given Twinkle's design. (It will still be enabled on the encoding side if the other party requests it, though.)
-
Opus only allows a few specific
ptime
values; the configured value will be rounded up if necessary (to a maximum of 60 ms). -
Any
maxptime
attribute received during SDP will be ignored (possibly in violation of RFC 7587, s. 7.1), since Twinkle was never updated to take RFC 4566 into account. -
Despite Opus being a "successor" to Speex, it is only used as a codec proper, and any pre-processing is still handled by the latter.
what can be done to bring this forward?
@fbriere Great work ! Opus work's very well. Can you please merge this changes into master ?
@petrov-adg Thanks for your positive feedback! I'll go ahead and remove the untested
label.
This branch is now rebased and ready for merging.
(The conflict was merely due to an already-applied commit. I'm a bit surprised that GitHub would be stumped by this.)