xiph / xiph/opus

OPUS_SET_BANDWIDTH request will not override bandwidth until encode pass

Open
#378 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
3.3k
Forks
808
PR merge metrics
No merged PRs in 30d

Description

Subj

If you use OPUS_SET_BANDWIDTH and then call OPUS_GET_BANDWIDTH you will get different result from what you set
This happens because GET_BANDWIDTH returns atual bandwidth set by default (instead of user configured one) https://github.com/xiph/opus/blob/7db26934e4156597cb0586bb4d2e44dccdde1a59/src/opus_encoder.c#L2668

P.s. this should take effect on encode pass though as encoder's bandwidth will be overridden by user's

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/opus_encoder.c at the referenced OPUS_GET_BANDWIDTH logic, then reproduce OPUS_SET_BANDWIDTH followed by OPUS_GET_BANDWIDTH before an encode pass. Determine how the configured and actual bandwidth values are represented; done means the getter reports the user-configured value while the encoder still applies the override during encoding.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.