Summary: | Elisa does not play .m3u8 playlists that contain embedded #EXTM3U and #EXTINF: tags | ||
---|---|---|---|
Product: | [Applications] Elisa | Reporter: | Daniel Paulo Garcia <c948463> |
Component: | general | Assignee: | Matthieu Gallien <matthieu_gallien> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | jackhill3103, lubimov.maxim+kde, nate |
Priority: | NOR | ||
Version: | 23.04.1 | ||
Target Milestone: | --- | ||
Platform: | Manjaro | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/multimedia/elisa/-/commit/558bef47e298b6bb132fe3c58570a35575ecea6e | Version Fixed In: | |
Attachments: | .m3u8 file that Elisa can't play. |
Description
Daniel Paulo Garcia
2023-06-06 21:43:38 UTC
I think i figured out what's happening. If i open this file on VLC, it will try to add "#EXTM3U" to the playlist and give an error, even though this is not a filename but just some metadata. Since Elisa uses VLC as the backend (which was the worst decision ever, but i digress), it can't reproduce my playlist. Can reproduce. FWIW with Qt6, it's feasible to only use the QtMultiMedia backend and ditch VLC. (In reply to Nate Graham from comment #2) Thanks for the reply! I guess I'll have to annoy the Manjaro package maintainers until they remove VLC as a dependency for Elisa haha For now, I'm going to try to compile Elisa against Qt6 myself as you suggested. A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/572 I don't think this is an issue with the # tags. The file you provided is encoded using CRLF line terminators, i.e. lines end with '\r\n' instead of just '\n'. This meant that the file paths were being read like "01 OP.flac\r" which does not correspond to the correct file. Please can you test the above merge request, if you are able to? Git commit 558bef47e298b6bb132fe3c58570a35575ecea6e by Jack Hill. Committed on 26/04/2024 at 16:00. Pushed by jackh into branch 'master'. Fix loading playlists encoded with CRLF CRLF files end with \r\n. We were not accounting for the extra \r, so were looking for music files like "myfile.flac\r" Test-plan: 1. Create a sample playlist file 2. Convert to crlf with `unix2dos -n input.m3u output.m3u` 3. Confirm crlf endings with `cat -A output.m3u` (lines should end with ^M$) 4. Import playlist into Elisa Before: error. Now: works fine Also added a unit test. M +37 -0 autotests/mediaplaylistproxymodeltest.cpp M +4 -0 autotests/mediaplaylistproxymodeltest.h M +1 -1 src/mediaplaylistproxymodel.cpp https://invent.kde.org/multimedia/elisa/-/commit/558bef47e298b6bb132fe3c58570a35575ecea6e |