Commit Graph

1467 Commits

Author SHA1 Message Date
Bond-009 11ca3ade86 Merge pull request #16855 from Shadowghost/fix-local-plugin-images
Fix integrated provider images
2026-05-21 19:27:46 +02:00
Piotr Niełacny f6af1a9fb6 Use file-scoped namespace in EncodingHelperTests 2026-05-19 13:03:07 +02:00
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
Tayfun Akgüç 8deb5c1d2a fix: write livetv recording NFO dateadded as UTC (#16863)
fix: write livetv recording NFO dateadded as UTC
2026-05-18 20:22:20 +02:00
Bond-009 f14ab37bf5 Misc fixes (#16837)
* Order chapter response by start time

* Properly handle cancellation in MediaSegmentManager

* Prevent unecessary log spam in NetworkUtils

* Fixup
2026-05-17 14:07:43 +02:00
Shadowghost 8740f3d154 Move ComicVine and GoogleBooks ExternalUrl providers to MediaBrowser.Providers.Books 2026-05-16 18:52:20 +02:00
Bond-009 31889c0215 Merge pull request #16828 from Shadowghost/episode-multiple-versions
Implement multiple versions for episodes.
2026-05-15 10:19:28 +02:00
Bond-009 8e602f982f Merge pull request #15970 from Shadowghost/similarity
Implement similarity providers
2026-05-15 10:00:53 +02:00
Shadowghost c91f640d37 Support stacked multi versions 2026-05-13 21:17:40 +02:00
Shadowghost e811cd7caf Prevent unecessary log spam in NetworkUtils 2026-05-13 13:47:56 +02:00
Shadowghost 5cfb379aa6 Use native middleware 2026-05-12 23:18:38 +02:00
Shadowghost 4be3f5f1f9 Add Accept-Language header support for per-request localization 2026-05-12 23:18:38 +02:00
Shadowghost d5bb7756f1 Implement multiple versions for episodes. 2026-05-11 16:41:22 +02:00
Tim Eisele f24709f11c Print warning on invalid Subnets in Network/Proxy configuration (#16793)
Print warning on invalid Subnets in Network/Proxy configuration
2026-05-10 20:34:26 +02:00
nyanmisaka 6d6dee9492 Add tests for videoRotation profile condition
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2026-05-09 15:20:29 +08: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
Marc Brooks a629080c89 Fix MusicBrainz test. (#16789) 2026-05-06 17:38:56 -04:00
Bond-009 33ed52b8ee Merge branch 'master' into feature/season-provider-id-from-path 2026-05-06 20:49:19 +02:00
Bond-009 142b89eab5 Merge pull request #16319 from JPVenson/feat/MigrationStartupSwitch
Add startup mode to migrate or seed the database on cmd
2026-05-06 20:38:53 +02:00
Bond-009 1bbbc1c823 Merge pull request #16328 from Shadowghost/rating-fix
Fix Canadian rating and fallback to unrated if we have a CountryCode but no matching rating
2026-05-06 20:33:58 +02:00
Niels van Velzen c0593281ff Merge pull request #16466 from PERSONALPANCHIWIRIS/fix/issue#16308_community_rating_not_updating
Fix #16308: Community ratings not updating after changing .nfo file.
2026-05-06 19:08:19 +02:00
Gabriel Luci 6f2e42c20c Fix use of thread-unsafe List<T>.Sort() 2026-05-04 23:46:00 -04:00
Niels van Velzen d87e9f9622 Merge pull request #16695 from ExpctING/fix_dummy_chapter
Fix dummy chapter handling for videos with a single chapter or short duration.
2026-05-04 18:02:16 +02:00
Niels van Velzen 5d5ae271a5 Merge pull request #16702 from itz4blitz/blitz/issue-13197-nfo-season
Honor episode NFO season during metadata merge
2026-05-04 18:00:50 +02:00
Niels van Velzen d707a9dba1 Merge pull request #16704 from dyld-w/fix/keyframe-duration-overshoot
Fix keyframe duration overshoot breaking playback
2026-05-04 17:59:59 +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 57821e4cde Merge pull request #16475 from Shadowghost/fix-triple-digit-episode-numbers
Fix triple digit episode number handling
2026-05-04 17:58:13 +02: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
ExpctING 127d924c5b fix
Co-authored-by: Copilot <copilot@github.com>
2026-05-03 02:06:13 +08:00
dwandw 9962fbbe2e fix: IPv6 prefixes not recognized as proxy https://github.com/jellyfin/jellyfin/issues/15710 2026-04-27 07:13:27 +00:00
Dylan Dellett-Wion 9f5f18d2db Add test for keyframe duration overshoot clamping 2026-04-26 00:24:15 -04:00
itz4blitz f9a7cd7457 Honor episode NFO season during metadata merge
Path-derived season numbers could win over explicit provider metadata during episode refresh, causing episodes to appear in the wrong season. Prefer provider-supplied season numbers in the provider merge phases without letting later backfill merges clobber them.
2026-04-25 18:38:07 -04:00
ExpctING 857e730168 Fix dummy chapter handling for videos with a single chapter. 2026-04-25 03:30:55 +08:00
Bond-009 b1e2419c65 Merge pull request #16666 from Shadowghost/xunit3
Upgrade to xunit v3
2026-04-24 18:59:31 +02:00
Shadowghost bd70e0ca34 Upgrade to xunit v3 2026-04-19 18:41:39 +02:00
Shadowghost e71bb7e904 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-19 10:23:34 +02:00
Eliya Wolfram Konzo 8510cfe77d Added Tanzania countries.json (#14406)
* Update countries.json

Added Tanzania

* Fix order countries.json

* Fix tests

---------

Co-authored-by: Bond_009 <bond.009@outlook.com>
2026-04-15 19:59:13 +02:00
Hilmar Gústafsson 8ba9319f27 fix: retain subtitles spanning HLS segment boundaries (#16594)
fix: retain subtitles spanning HLS segment boundaries
2026-04-15 19:11:29 +02:00
Bond-009 046023b9dd Merge pull request #16380 from LTe/fix-subtitle-extraction-setting
Respect EnableSubtitleExtraction setting in subtitle delivery
2026-04-11 11:37:17 +02:00
Lasath Fernando 553f38a237 Fix language display for ISO 639-2-only codes (e.g. mul, und)
LoadCultures() in LocalizationManager skipped all iso6392.txt entries
without a two-letter ISO 639-1 code, dropping 302 of 496 languages
including mul (Multiple languages), und (Undetermined), mis (Uncoded
languages), zxx, and many real languages like Achinese, Akkadian, etc.
This caused FindLanguageInfo() to return null for these codes, which
meant:
- ExternalPathParser could not recognize them as valid language codes
  in subtitle filenames, so the Language field was never set
- DisplayTitle fell back to the raw code string (e.g. "Mul")

Fix by allowing entries without two-letter codes to be loaded with an
empty TwoLetterISOLanguageName. Also set LocalizedLanguage in
ProbeResultNormalizer for ffprobe-detected streams (the DB repository
path was already handled on master).
2026-04-08 12:38:24 -05:00
Shadowghost 24a0df9a39 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-07 21:36:07 +02:00
Joshua M. Boniface a2dcaa9521 Merge pull request #15902 from ZeusCraft10/fix/udp-discovery-cross-subnet-ipv6 2026-04-04 01:53:59 -04:00
Bond_009 a6da575785 Only set IsAvc for video streams
Also enables nullable for MediaStreamInfo
Makes more properties nullable that aren't always present
2026-03-29 14:27:49 +02:00
upscaylman ea206f43a2 recognize underscore and dot separators for multi-version grouping (#16465)
* Add underscore and dot as multi-version file separators

Extend IsEligibleForMultiVersion to recognize _ and . as valid
separators between the base movie name and the version suffix.

Common naming patterns like 'Movie_4K.mkv' or 'Movie.UHD.mkv'
are now correctly grouped as alternate versions during library scan.

* Address review: remove comment, add 3D recognition assertions

---------

Co-authored-by: aimarshall615-creator <aimarshall615@gmail.com>
2026-03-29 12:42:36 +02:00
Bond-009 6a20f948f4 Merge pull request #16222 from tyage/fix/filename-truncation-bracketed-tags
Fix filename truncation when bracketed tags appear mid-filename
2026-03-27 19:21:43 +01:00
Shadowghost 2147f57df5 Fix triple digit episode number handling 2026-03-26 11:44:35 +01:00