Skip to content
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

Opus encoder: Add confgurable parameters, to better match usecases (fec, packet_loss) #23

Open
expresspotato opened this issue Oct 31, 2022 · 0 comments

Comments

@expresspotato
Copy link

expresspotato commented Oct 31, 2022

Hi,

Having the opus encoder is great, but the problem is Opus and AMR are the only codecs part of esp-adf-libs that support some sort of FEC (Foward Error Correction) against packet loss. The AMD decoder frankly doesn't work very well, when there is packetloss it simply dies with E (15829) AMR_DECODER: packet size(-1) < 0, line:324, amr_type:2, which defeats the purpose of using such a specialty codec in the first place.

Since the source is closed to esp-adf-libs, I can't make the necessary modifications to support opus better for various use cases. Some of these options are already available, but at a bare minimum fec, packet_loss and dtx options are desired to be added.

type | None |   | false | Must be of type 'opus'.
packet_loss | Integer | 0 | false | Encoder's packet loss percentage.
complexity | Integer | 10 | false | Encoder's computational complexity.
max_bandwidth | Custom | full | false | Encoder's maximum bandwidth allowed.
signal | Custom | auto | false | Encoder's signal type.
application | Custom | voip | false | Encoder's application type.
max_playback_rate | Custom | 48000 | false | Encoder's maximum playback rate.
bitrate | Custom | auto | false | Encoder's bit rate.
cbr | Boolean | no | false | Encoder's constant bit rate value.
fec | Boolean | yes | false | Encoder's forward error correction value.
dtx | Boolean | no | false | Encoder's discontinuous transmission value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant