mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
[PR #15405] Add multi-file audiobook support #14119
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#14119
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/jellyfin/jellyfin/pull/15405
Author: @caleb-conner
Created: 11/5/2025
Status: 🔄 Open
Base:
master← Head:cconner/multi-file-audiobook-support📝 Commits (4)
3011786Add multi-file support to AudioBook entity774abb2Enable multi-file audiobook detection in AudioResolver7d2fc20Update AudioResolver tests for multi-file audiobook support2d37118Add duration calculation provider for multi-file audiobooks📊 Changes
5 files changed (+354 additions, -15 deletions)
View changed files
📝
Emby.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs(+4 -10)📝
MediaBrowser.Controller/Entities/AudioBook.cs(+121 -0)➕
MediaBrowser.Providers/MediaInfo/AudioBookDurationProvider.cs(+159 -0)📝
MediaBrowser.Providers/MediaInfo/AudioFileProber.cs(+52 -0)📝
tests/Jellyfin.Server.Implementations.Tests/Library/AudioResolverTests.cs(+18 -5)📄 Description
Changes
Adds support for audiobooks split across multiple audio files by implementing multi-file detection in AudioBookResolver using stack patterns, storing additional parts in the AudioBook entity, and calculating total duration across all files with a new AudioBookDurationProvider.
Issues
Addresses common user requests for proper multi-file audiobook support, bringing Jellyfin to feature parity with other audiobook applications.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.