mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #13857] Add support for downloading playlists #13744
Reference in New Issue
Block a user
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/jellyfin/jellyfin/pull/13857
Author: @flip-dots
Created: 4/7/2025
Status: 🔄 Open
Base:
master← Head:download-playlists📝 Commits (5)
f5e227bAdd support for downloading playlists65979baAvoid buffering playlist zip in memory9bb1785Add support for downloading albumse963e62Use ValueTuple and simplify headers75758f9Disable compression for media files in zip📊 Changes
4 files changed (+182 additions, -3 deletions)
View changed files
📝
Jellyfin.Api/Controllers/LibraryController.cs(+66 -3)➕
Jellyfin.Api/Helpers/PositionWrapperStream.cs(+70 -0)📝
MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs(+5 -0)📝
MediaBrowser.Controller/Playlists/Playlist.cs(+41 -0)📄 Description
Changes
This PR adds support for downloading playlists. When downloading a playlist items are put into a .zip file and the structure is preserved (i.e if I have a track from /media/music/artist/album/track_1 in a playlist it will generate a structure inside the playlist.zip of media/music/artist/album/track_1). It will also generate a .m3u8 from the playlist with the correct relative paths for these files to be played in the order they are defined in the playlist and this is put in the .zip file as well.
I suspect this could be fairly easily extended to also work for albums but havent tried that yet and it might make more sense for that to be in a seperate PR.
P.S - Please dont be too harsh, I havent written any C# in years :P
Issues
Fixes:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.