Commit Graph

4779 Commits

Author SHA1 Message Date
Piotr Niełacny
405d987557 Normalize VobSub .sub to .idx for embedding, add EncodingHelper tests
Move the .sub to .idx path normalization outside the burn-in check so
it applies to subtitle embedding as well. ffmpeg requires the .idx file
to read VobSub subtitles.

Add unit tests for GetMapArgs and GetInputArgument covering internal
subs, external SRT, multi-file SRT, multi-stream MKS containers, and
VobSub .sub/.idx path normalization.
2026-05-19 13:03:07 +02:00
Piotr Niełacny
a15b426e73 Fix external subtitle stream mapping for multi-stream containers
Compute the in-file stream index for external subtitles instead of
hardcoding -map 1:0. For single-stream files (SRT/ASS/VTT) the index
is always 0, preserving existing behavior. For multi-stream containers
like MKS, the correct track is selected by counting sibling streams
that share the same Path.

Add unit tests for GetMapArgs covering internal subs, external SRT,
multiple external files, and multi-stream MKS containers.
2026-05-19 13:03:07 +02:00
Piotr Niełacny
2a689f268b Embed external subtitles into MKV when transcoding
Allow external subtitle files (SRT, ASS, PGS, etc.) to be muxed into
MKV output containers when the device profile requests Embed delivery.

Previously, the IsExternal guard in GetSubtitleProfile excluded external
subtitles from Embed consideration entirely, forcing them to be served
as separate sidecar files even when the output container supports
embedding.

Changes:
- Extract CanConsiderEmbedSubtitle in StreamBuilder to allow external
  subs through when transcoding to MKV
- Add external subtitle file as FFmpeg input (-i) for Embed delivery
- Map external embedded subs from the correct FFmpeg input index
- Fix external audio map index to account for the new subtitle input
- Extract NeedsExternalSubtitleMuxing in EncodingHelper to deduplicate
  the external subtitle input check

Fixes #16403
2026-05-19 13:03:07 +02:00
Bond-009
9d420271ad Merge pull request #9787 from TheMelmacian/feature/language_filters
New filters for audio and subtitle languages
2026-05-15 15:44:22 +02:00
Bond-009
8e602f982f Merge pull request #15970 from Shadowghost/similarity
Implement similarity providers
2026-05-15 10:00:53 +02:00
Shadowghost
b1b4519944 Apply review suggestions 2026-05-13 00:58:33 +02:00
Shadowghost
4be3f5f1f9 Add Accept-Language header support for per-request localization 2026-05-12 23:18:38 +02:00
nyanmisaka
b9ee9b0660 Backport pull request #16819 from jellyfin/release-10.11.z
Fix rate control in av1_amf encoder

Original-merge: a023b9c88d

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-05-12 12:26:13 -04:00
Tim Eisele
a9865367d8 Safeguard against invalid GUIDs (#16813)
Safeguard against invalid GUIDs
2026-05-12 18:12:54 +02:00
TheMelmacian
39049a726e move language filters from QueryFiltersLegacy to QueryFilters 2026-05-12 02:12:14 +02:00
TheMelmacian
2b7f641163 feat: language filters for subtitles and audio 2026-05-10 12:41:57 +02:00
nyanmisaka
fc251265d9 Check videoRotation in video stream copy
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-05-09 15:20:29 +08:00
Bond-009
de64a69c7a Merge pull request #14847 from tjwalkr3/warnings-5
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Fix CA1051 and CA1815 warnings, Change public fields to auto properties
2026-05-08 17:55:25 +02:00
Erik W
e1e18e8da0 Add OriginalLanguage as option to PreferredAudioLanguage (#12579)
* Add OriginalLanguage as option to PreferredAudioLanguage

* Support for multiple original languages

* Add original audio stream indicator

* Fetch OriginalLanguage from TMDB

* Adapt to EFCore refactor

* Fix PlayDefaultAudioTrack OriginalLanguage behavior

* Fix better PlayDefaultAudioTrack OriginalLanguage behavior

* Add comment to ItemFields

* Improved PlayDefaultAudioTrack behavior

* Add migration for original language

* Use sting.Equals for string comparisons

* Always set dto OriginalLanguage

* Remove OriginalLanguage from ItemFields

---------

Co-authored-by: Lampan-git <lampan-git@users.noreply.github.com>
2026-05-07 20:07:23 +02:00
Tim Eisele
bc074b5283 Switch to new version scheme (#16758)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2026-05-06 17:41:34 -04:00
JPVenson
ec054f6a34 Backport changes from #15368 2026-05-05 17:57:27 +00:00
Niels van Velzen
4178e0ebaf Merge pull request #16220 from Shadowghost/epg-fixes
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
Fix EPG issues
2026-05-05 15:53:19 +02:00
Gabriel Luci
6f2e42c20c Fix use of thread-unsafe List<T>.Sort() 2026-05-04 23:46:00 -04:00
Shadowghost
57c0fcd674 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-05-04 21:26:26 +02:00
Niels van Velzen
d359d2f7a8 Merge pull request #16166 from Shadowghost/ignore-caching
Implement ignore rule caching
2026-05-04 17:59:48 +02:00
Niels van Velzen
ba268cc3fb Merge pull request #16761 from Shadowghost/fix-recursive-collection-folder
Fix Playlist and Boxset query, save and count performance
2026-05-04 17:58:57 +02:00
Niels van Velzen
dcba6c3659 Merge pull request #16616 from dkanada/fix-person-limit
fix person TotalRecordCount when limit is applied
2026-05-04 17:58:27 +02:00
Shadowghost
fa65a392b0 Fix Playlist and Boxset query and count perf 2026-05-04 10:25:02 +02:00
dkanada
ec990be12a fix person TotalRecordCount when limit is applied 2026-05-04 12:06:11 +09:00
Shadowghost
4ebce39070 Implement Similarity providers 2026-05-03 23:43:01 +02:00
Shadowghost
d20c775daf Implement ignore rule caching 2026-05-03 23:35:33 +02:00
Shadowghost
d68d0fa962 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-05-03 13:31:23 +02:00
Shadowghost
00b08c0b32 Omit BoxSet related materialization 2026-05-03 13:26:30 +02:00
nyanmisaka
d9ced0d639 Use strict QSV CPB size for less powerful H.264 decoder
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-05-03 12:25:33 +02:00
Seven Rats
f5f75ed2e1 feat/audiobook_chapters (#16518)
feat/audiobook_chapters
2026-05-03 12:18:20 +02:00
Shadowghost
68ab585894 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-29 22:18:47 +02:00
gnattu
bb12b122c3 Backport pull request #16718 from jellyfin/release-10.11.z
Allow HDR10 for VPP tonemapping

Original-merge: 938c043596

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-04-29 15:39:34 -04:00
Shadowghost
b717754ed8 Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-20 08:16:45 +02:00
Shadowghost
e71bb7e904 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-19 10:23:34 +02:00
Bond_009
4f1ad3fee0 Update to Jellyfin.XmlTv 10.12.0-pre1 2026-04-18 17:31:29 +02:00
dkanada
bb265cd403 add NameStartsWithOrGreater parameter to Persons endpoint 2026-04-13 13:50:04 +09:00
dkanada
22644075e7 add NameStartsWith and NameLessThan filters to Person search 2026-04-12 12:42:49 +09:00
Shadowghost
60e01e1f22 Apply review suggestions 2026-04-11 18:00:41 +02:00
Shadowghost
e0f50f504a Merge remote-tracking branch 'upstream/master' into epg-fixes 2026-04-11 17:48:00 +02:00
Shadowghost
24a0df9a39 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-07 21:36:07 +02:00
Tim Eisele
e44821e8f6 Update MediaBrowser.Controller/Entities/BaseItem.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-04-06 12:39:05 +02:00
Shadowghost
0bf7653e36 Fix GHSA-jh22-fw8w-2v9x 2026-04-06 11:37:45 +02:00
Shadowghost
b846958f2c Add additional validations 2026-04-06 11:37:45 +02:00
Joshua M. Boniface
8cecf53057 Fix GHSA-j2hf-x4q5-47j3 with improved sanitization
Co-Authored-By: Shadowghost <Ghost_of_Stone@web.de>
2026-04-06 11:37:45 +02:00
Bond-009
cf9b8161ef Merge pull request #16342 from Bond-009/spammydebug
Don't spam debug log with items without rating
2026-04-06 10:52:17 +02:00
dkanada
80df5dc984 add StartIndex and ParentId to person search 2026-04-05 15:40:18 +09:00
theguymadmax
c5726559fd Fix parental ratings not working on music albums 2026-04-02 19:43:53 -04:00
Niels van Velzen
9e489cd41f Merge pull request #16419 from Shadowghost/extend-segment-interface
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
Add callback for segment data pruning to IMediaSegmentProvider
2026-04-02 22:00:01 +02:00
Shadowghost
99ad70fbc8 Wrap method parameters 2026-04-01 18:01:25 +02:00
nyanmisaka
5b3537b3d7 Backport pull request #16519 from jellyfin/release-10.11.z
Fix Null was not checked before using the H264 profile

Original-merge: 89e914c7f1

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2026-03-30 14:08:07 -04:00