Bug #1199
Inaccurate seeking in WebM (and Ogg Opus) audio files
0%
Description
In WebM audio files downloaded through yt-dlp (Opus) or encoded myself (Opus and Vorbis), Audacious's seeking is extremely imprecise. In some cases, I click on different timestamps in the seek bar, seconds apart in a given file, yet playback jumps to the same point.
In testing:
- .flac and Ogg Vorbis seeking are always accurate to sub-second precision.
- With WebM (Opus/Vorbis) files, clicking ahead of the current play point can jump up to ~5 seconds ahead (to the next "start point" of some sort) which is quite awful. Clicking back into an already-played and decoded section of a file which has played continuously from the file's beginning is accurate. Clicking forward or back from a forward click is inaccurate, and usually jumps to the same "start point".
- With Ogg Opus files, seeking jumps up to 1-2 seconds behind the click point. Seeking into already-decoded audio is not more accurate than seeking ahead (unlike WebM). This is mostly less bad than WebM, but still inaccurate.
The worst part to me is that Audacious's play time viewer and seek bar act as though you've seeked to the exact time in the song, yet the actually playing audio can be multiple seconds off the point you clicked. So effectively the program is lying to you, and with many songs I thought I was just really bad at seeking to the right spot, not realizing Audacious was at fault.
I've attached a set of test audio files containing identical pitched sweeps (aside from lossy compression), designed so you can easily hear the exact point in time you seeked to (even if Audacious's play time viewer is inaccurate).
History
#1 Updated by Thomas Lange almost 2 years ago
- Category set to plugins/ffaudio
Audacious 4.3 will add a native decoder plugin for Ogg Opus files.
This won't fix the bug for WebM files though. They are still played via FFmpeg (ffaudio plugin).
P.S. Thanks for the good bug report and sample files.