MusicPlayerDaemon / MPD

Music Player Daemon
https://www.musicpd.org/
GNU General Public License v2.0
2.16k stars 346 forks source link

Embedded art messes with bitrate estimation which seems to mess with mpd's seeking ability #2056

Open oblitzitate opened 4 months ago

oblitzitate commented 4 months ago

Bug report

Describe the bug

Given an audio file (e.g. Travis Scott - The Plan) in .opus format with variable bit rate (VBR), I used the beets' embedart plugin to embed an art in the audio file. This results in the audio file's estimated bitrate increasing drastically, which seems to mess with mpd's ability to seek position throughout an audio playback.

This is the command I used to read the audio file's bitrate: ffprobe -v error -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 input.opus

When I use beet clearart to clear the embedded art from the audio file, mpd's seeking ability works properly again on that audio file.

I tested if this issue occurred in other programs like mpv, but they don't seem to have this issue.

Expected Behavior

Be able to seek along any position in the audio playback

Actual Behavior

Can't seek some positions in the audio playback when the audio file has embedded art in it.

Version

Music Player Daemon 0.23.15 (v0.23.15)

Configuration

music_directory "~/music"
playlist_directory "~/playlists"
db_file  "~/.local/share/mpd/db"
log_file "~/.local/share/mpd/log"
pid_file "~/.local/share/mpd/pid"
state_file "~/.local/share/mpd/state"
sticker_file "~/.local/share/sticker.sql"
auto_update "yes"
input {
    plugin "curl"
}
audio_output {
    type "pipewire"
    name "PipeWire Sound Server"
}

Log

MaxKellermann commented 2 months ago

This bug report is incomplete because you chose not to post a log. Also to reproduce your problem, a demo file is needed.