| Summary: | FLAC Ogg files incorrectly use the TagLib::Ogg::Vorbis extractor instead of TagLib::Ogg::FLAC | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kfilemetadata | Reporter: | Charlemagne Lasse <charlemagnelasse> |
| Component: | general | Assignee: | Pinak Ahuja <pinak.ahuja> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | jackhill3103, stefan.bruens |
| Priority: | NOR | ||
| Version First Reported In: | 5.111.0 | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Charlemagne Lasse
2023-10-08 08:10:05 UTC
Can confirm. Interestingly oga files worked fine when I was using KFileMetadata built without Taglib, so maybe the issue is somewhere upstream. I'll look into it. I think the issue is in KFileMetadata which correctly reads the mimetype of FLAC Ogg files as audio/ogg but does not check what the codec is. Therefore it ends up using the wrong Taglib extractor (should use TagLib::Ogg::FLAC but uses TagLib::Ogg::Vorbis) Types which use the oga extension: https://wiki.xiph.org/MIME_Types_and_File_Extensions#.oga_-_audio/ogg Btw I tested KFileMetadata by doing: 1. cd kfilemetadata/autotests/samplefiles 2. flac --ogg test.flac -o test.flac.oga 3. ffprobe test.flac.oga # Check the file is FLAC Ogg 4. Add "flac.oga" extension to taglibextractortest.cpp 5. Run taglibextractortest Output: Test fails Expected output: Test passes A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kfilemetadata/-/merge_requests/111 The mimetype for FLAC in a Ogg transport layer stream is "audio/x-flac+ogg". This is currently not supported by kfilemetadata. Git commit e2b64ea0fdcf8978ffe36fc81783bf19f0a7ca07 by Stefan Brüns. Committed on 11/11/2023 at 02:48. Pushed by bruns into branch 'master'. [TaglibExtractor] Add support for Ogg stream with FLAC (audio/x-flac+ogg) FLAC audio was only supported as standalone streams, but not the newer FLAC stream wrapped in Ogg transport layer. Use the corresponding taglib handler, and add a test file covering basic stream information, metadata tags and cover art extraction. M +3 -0 autotests/extractorcoveragetest.cpp A +- -- autotests/samplefiles/test.flac.ogg M +12 -0 autotests/taglibextractortest.cpp M +11 -0 src/extractors/taglibextractor.cpp M +1 -0 src/extractors/taglibextractor.json https://invent.kde.org/frameworks/kfilemetadata/-/commit/e2b64ea0fdcf8978ffe36fc81783bf19f0a7ca07 Git commit 1af1bfc1da39eb8d702a22eb1c467321ec993ff8 by Stefan Brüns. Committed on 12/11/2023 at 01:10. Pushed by bruns into branch 'kf5'. [TaglibExtractor] Add support for Ogg stream with FLAC (audio/x-flac+ogg) FLAC audio was only supported as standalone streams, but not the newer FLAC stream wrapped in Ogg transport layer. Use the corresponding taglib handler, and add a test file covering basic stream information, metadata tags and cover art extraction. (cherry picked from commit e2b64ea0fdcf8978ffe36fc81783bf19f0a7ca07) M +3 -0 autotests/extractorcoveragetest.cpp A +- -- autotests/samplefiles/test.flac.ogg M +12 -0 autotests/taglibextractortest.cpp M +11 -0 src/extractors/taglibextractor.cpp M +1 -0 src/extractors/taglibextractor.json https://invent.kde.org/frameworks/kfilemetadata/-/commit/1af1bfc1da39eb8d702a22eb1c467321ec993ff8 Fix available, needs confirmation. Thanks for the fix. Ive tested it this weekend - but under Linux. Without the patch, I had the problem. After applying the patch, the problem went away and Elisa was able to add oga (flac) files to the database and also to play them. This included cover art and other metadata. |