mirror of
https://github.com/kokarare1212/librespot-python.git
synced 2026-04-25 00:25:49 +03:00
[PR #316] [MERGED] feat: add FLAC lossless format support #318
Labels
No labels
bug
dependencies
duplicate
enhancement
invalid
pull-request
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot-python-kokarare1212#318
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kokarare1212/librespot-python/pull/316
Author: @akbad
Created: 10/11/2025
Status: ✅ Merged
Merged: 10/11/2025
Merged by: @kokarare1212
Base:
main← Head:feat/add-flac📝 Commits (2)
ee2c110fix(audio/decoders): use audio_format in unknown-format errore909cfdfeat: add FLAC lossless format support and refactor quality pickers (while staying backward compatible)📊 Changes
4 files changed (+144 additions, -3707 deletions)
View changed files
📝
librespot/audio/decoders.py(+62 -21)📝
librespot/audio/format.py(+6 -1)📝
librespot/proto/Metadata_pb2.py(+74 -3684)📝
proto/metadata.proto(+2 -1)📄 Description
Summary
Details
Add
FLAC_FLAC(16) andFLAC_FLAC_24BIT(22) format codes tometadata.protoMetadata_pb2.pywith protoc 3.20.1 (as in requirements)AAC_24_NORMas done upstream (format that previously occupied code 16)Add enum values for FLAC:
SuperAudioFormat.FLACmaps FLAC formats to FLAC container typeAudioQuality.LOSSLESSmaps FLAC formats to lossless quality tierRefactor to generic DRY
FormatOnlyAudioQualitybase class, while maintaining 100% backward compatibility via:VorbisOnlyAudioQualityas a wrapperLosslessOnlyAudioQualitywrapper for FLAC file selectionAlso fixes minor bug within unknown-format error in decoders.py
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.