[PR #15405] Add multi-file audiobook support #14119

Open
opened 2025-12-22 10:19:36 +01:00 by backuprepo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/15405
Author: @caleb-conner
Created: 11/5/2025
Status: 🔄 Open

Base: masterHead: cconner/multi-file-audiobook-support


📝 Commits (4)

  • 3011786 Add multi-file support to AudioBook entity
  • 774abb2 Enable multi-file audiobook detection in AudioResolver
  • 7d2fc20 Update AudioResolver tests for multi-file audiobook support
  • 2d37118 Add 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.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/15405 **Author:** [@caleb-conner](https://github.com/caleb-conner) **Created:** 11/5/2025 **Status:** 🔄 Open **Base:** `master` ← **Head:** `cconner/multi-file-audiobook-support` --- ### 📝 Commits (4) - [`3011786`](https://github.com/jellyfin/jellyfin/commit/3011786f78fcc91753a318c0185bb368b4efce96) Add multi-file support to AudioBook entity - [`774abb2`](https://github.com/jellyfin/jellyfin/commit/774abb26f065819e59c47d1fe8ca876037b9a360) Enable multi-file audiobook detection in AudioResolver - [`7d2fc20`](https://github.com/jellyfin/jellyfin/commit/7d2fc20ef25937cded1b548c392ae720ba55a15d) Update AudioResolver tests for multi-file audiobook support - [`2d37118`](https://github.com/jellyfin/jellyfin/commit/2d37118f884a88c68386a6503893339b3350e6d5) Add duration calculation provider for multi-file audiobooks ### 📊 Changes **5 files changed** (+354 additions, -15 deletions) <details> <summary>View changed files</summary> 📝 `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) </details> ### 📄 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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
backuprepo added the
pull-request
label 2025-12-22 10:19:36 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#14119
No description provided.