-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Refactor OGG export and always use VBR #7697
base: master
Are you sure you want to change the base?
Conversation
Thanks for the review @PhysSong. The code looks good to me now, so let me know if there's anything else or you approve 👍 |
Was only used by the OGG device, but now it always uses VBR for simplicity
With regards to variable bitrate (VBR), here's a 2008 article at Audacity pretty much stating the same thing, quoting:
|
From what I can tell, the code has changed considerably since @PhysSong left a review. I believe a re-review is warranted. The title and PR description have changed considerable as well. |
Tested on macOS using PortAudio and SDL, at various bitrates, no observable issues. |
A user reported that there were facing issues playing back exported OGG files on certain applications. FFmpeg was used as a source of truth to reproduce the bug, as it was able to detect such packet decoding errors quite quickly. Applying these fixes seems to have resolved those errors.
Edit: I eventually realized that errors were still being outputted by FFmpeg, so I just went to town and refactored everything. However, I made certain changes, like always using VBR, that may or may not be wanted. This is because after I did my refactoring in
AudioFileOgg
, usingvorbis_encode_init_vbr
seemed like the recommended approach. Also, from the libvorbisenc documentation:Given that, I think we can safely stick to using VBR without problems. If anyone has objections though, I'd be curious to know.