Skip to content

Conversation

@JeffreyGaydos
Copy link
Contributor

@JeffreyGaydos JeffreyGaydos commented Nov 12, 2025

It appears the readonly array supportedPlaylistExtensions was intended to have m3u and m3u8 (not flac). From what I can tell this array is used in the validation step for reading playlists in the Dopamine playlist folder. I came to this conclusion when I stumbled upon this line of code:

if (
this.fileAccess.getFileExtension(playlistPath) === FileFormats.m3u ||
this.fileAccess.getFileExtension(playlistPath) === FileFormats.m3u8
) {
playlistEntries = await this.decodeM3uPlaylistAsync(playlistPath);
}

Which is attempting to parse playlist files and accepts both the m3u and m3u8 extensions. It appears Dopamine supports UTF-8 encodings fine so I don't see why it would explicitly restrict m3u8 files in the validation step, but please enlighten me if I am wrong.

Without this change, Dopamine does not recognize m3u8 playlist files when placed in the playlist folder. I tested this change using Windows 11, node 20.19.5, npm 11.6.2 and confirmed the playlist appeared and played music from an m3u8 playlist file.

Before Changes After Changes
Playlistm3u8Bug Playlistm3u8BugFixed

See #907

@JeffreyGaydos JeffreyGaydos changed the title Possible Bug Fix: Fix Support for m3u8 Playlist Files Fix Support for m3u8 Playlist Files Nov 12, 2025
@digimezzo digimezzo added this to the Dopamine 3.0.1 milestone Nov 14, 2025
@digimezzo
Copy link
Owner

digimezzo commented Nov 15, 2025

@JeffreyGaydos Thanks for this fix! Flac should never have been in there and it was supposed to be m3u8 all along. Just a silly mistake from my part.

@digimezzo digimezzo merged commit 2b9eb74 into digimezzo:master Nov 15, 2025
@JeffreyGaydos
Copy link
Contributor Author

You're welcome! Feels great to be an official contributor to this awesome project

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.

2 participants