Skip to content

fix: MP3-фолбэк не подсовывает AAC-поток в MP3-контейнер - #38

Merged
0xcodepunk merged 1 commit into
mainfrom
fix/mp3-codec-filter
Jul 12, 2026
Merged

fix: MP3-фолбэк не подсовывает AAC-поток в MP3-контейнер#38
0xcodepunk merged 1 commit into
mainfrom
fix/mp3-codec-filter

Conversation

@0xcodepunk

@0xcodepunk 0xcodepunk commented Jul 12, 2026

Copy link
Copy Markdown
Owner
  • get_track_source запрашивает get_file_info(..., codecs="mp3") — «лучший по битрейту» выбирается только среди настоящих MP3 (для трека из инцидента это MP3-192 вместо AAC-256).
  • Трек без MP3 вовсе → разовый фолбэк на lossless даже при выключенном APP_PREFER_LOSSLESS — один FLAC-трек с риском заикания лучше гарантированной тишины.

- get_track_source запрашивает get_file_info с фильтром codecs=mp3: без него «лучшим по битрейту» для треков без MP3-320 оказывался AAC, и ffmpeg падал в crash-loop на -c:a copy -f mp3 (Could not write header)
- добавлен разовый фолбэк на lossless для треков, у которых MP3 нет вовсе, даже при APP_PREFER_LOSSLESS=False
- добавлены тесты: AAC не выбирается вместо лучшего MP3; трек без MP3 спасается lossless-ссылкой

Примечание: регрессия проявилась после отключения FLAC на проде — весь трафик пошёл через MP3-фолбэк, и треки без MP3-320 (у которых Яндекс отдаёт AAC-256 как максимум) роняли поток в бесконечный перезапуск.
@0xcodepunk
0xcodepunk merged commit ad5e369 into main Jul 12, 2026
2 checks passed
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

Successfully merging this pull request may close these issues.

1 participant