Commit Graph

1505 Commits

Author SHA1 Message Date
Shadowghost 2fcf4084f8 Add TMDb missing episode provider 2026-06-25 19:10:38 +02:00
danne e4383493a9 Fix audio sample rate forced to 48 kHz for non-Opus codecs
GetProgressiveAudioFullCommandLine applied the libopus-only sample rate
quantization to every codec except Opus, inverting the intended guard.
A requested rate such as 44100 Hz was therefore snapped to 48000 Hz for
AAC/MP3/FLAC, while Opus (which actually requires the quantization) was
skipped entirely.

Apply the quantization only when the output codec is Opus, and pass the
requested sample rate through unchanged for all other codecs.

Fixes #17026

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:43:31 +02:00
Bond-009 308981cc0d Merge pull request #14935 from JadedRain/master
Fixed "Deleting media that is still being watched in SyncPlay results in errors"
2026-06-18 17:46:33 +02:00
Bond-009 751b763838 Merge pull request #17099 from Bond-009/libraryimport
Follow native interoperability best practices
2026-06-18 17:45:55 +02:00
Bond-009 49f8a96360 Merge pull request #17087 from dkanada/book-resolver
improve book resolution from filename
2026-06-17 20:54:49 +02:00
Bond_009 4c228eaf63 Make sure we don't include the null terminator 2026-06-16 17:45:22 +02:00
Bond_009 0022508889 Add regression test 2026-06-15 21:20:06 +02:00
Bond_009 d50205cc9f Follow native interoperability best practices
https://learn.microsoft.com/en-us/dotnet/standard/native-interop/best-practices
2026-06-15 21:01:28 +02:00
Shadowghost f9644f24d2 Fix tests 2026-06-15 11:42:48 +02:00
dkanada f4bab458a2 improve book resolution from filename 2026-06-15 11:31:49 +09:00
Shadowghost 6c931dcdda Keep the queried item's media source as the playback default 2026-06-07 23:06:48 +02:00
Bond-009 003f01a99a Merge pull request #16520 from beateixeira04/PlaylistPrimaryImageFix
fix(dto): prefer PlaylistsFolder primary image for playlists tiles
2026-06-07 22:56:35 +02:00
Shadowghost b4d970ae38 Fix xUnit1051 in UserManagerLockHelperTests 2026-06-07 22:04:00 +02:00
JPVenson 6ccdaad0a4 Backport pull request #16944 from jellyfin/release-10.11.z
Add lockhelper for UserManager

Original-merge: 39958ad9e5

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

Backported-by: Bond_009 <bond.009@outlook.com>
2026-06-07 14:29:36 -04:00
Bond-009 53eda14dcc Merge pull request #16967 from Shadowghost/fix-recently-added-posters
Fix recently added episode links and posters
2026-06-01 21:59:06 +02:00
Bond-009 54463929d0 Write subtitles using SubtitleEdit (#16805)
* Write subtitles using SubtitleEdit

We've been using SubtitleEdit to parse since 2021
https://github.com/jellyfin/jellyfin/pull/4984

I think it's time we start using it to write too

* Clean up ConvertSubtitles

* Add JsonWriter back
2026-06-01 19:43:57 +02:00
Bond-009 8b387c82cf Merge pull request #16259 from theguymadmax/fix-season-in-mixed-library
Fix folders being identified as seasons in mixed libraries
2026-05-31 19:18:44 +02:00
Bond-009 13c6549b42 Merge pull request #16936 from IDisposable/stable-nfo
Compare old file byte-by-byte to new stream
2026-05-31 17:18:05 +02:00
Bond_009 941298ee81 Write subtitles using SubtitleEdit
We've been using SubtitleEdit to parse since 2021
https://github.com/jellyfin/jellyfin/pull/4984

I think it's time we start using it to write too
2026-05-30 21:09:10 +02:00
Sam Xie c9f71d8531 Add a collection API for Included In feature (#15516)
Add a collection API for `Included In` feature
2026-05-29 20:00:34 +02:00
Shadowghost 5feb70f489 Fix recently added episode links and posters 2026-05-29 10:41:50 +02:00
Marc Brooks 645ae6bb99 Use ReadAtLeastAsync to handle short-reads.
Seeks to beginning of streams if CanSeek is true.
Added remarks about stream position.
Add test coverage for short-reads.
Fix fast-path tests to actually test the fast path.
Also fix class comment.
2026-05-28 13:31:13 -05:00
Piotr Niełacny 8d544e4842 Fix A/V desync when resuming HLS with video transcode + audio copy (#16580)
Fix A/V desync when resuming HLS with video transcode + audio copy
2026-05-28 19:26:28 +02:00
Marc Brooks 1752323296 Add unit tests for new public methods. 2026-05-27 20:18:18 -05:00
Bond-009 11130030d2 Backport: Fix/user manager collation (#16919)
Backport: Fix/user manager collation
2026-05-26 20:59:20 +02:00
jakobkukla 37350282cc Run tree-wide dotnet format 2026-05-21 20:48:41 +02:00
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
theguymadmax f6ac1d9f38 Fix folders being identified as seasons in mixed libraries 2026-05-06 18:35:23 -04: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