Commit graph

1349 commits

Author SHA1 Message Date
Bond-009
74230131a1
Fix OverflowException when scanning media with a very short duration (#13949) 2025-04-19 13:08:29 -06:00
Bill Thornton
afdde7b243
Remove the hashed password from startup users response (#13904) 2025-04-12 07:12:33 -06:00
Bill Thornton
874f6895a2 Add ServerName to startup configuration 2025-04-11 13:58:34 -04:00
Markus Prettner
c152f610ce
Fix negated IP addresses without subnet mask not being parsed correctly (#13854) 2025-04-08 19:21:57 -06:00
baka0815
5fc1b1c862
Translate the ISO-639-2/B codes to ISO-639-2/T. (#13068)
* Translate the ISO-639-2/B codes to ISO-639-2/T.

This enables 19 additional languages to be displayed correctly.

* Convert the 2-dimensional array to a dictionary

* Added the French language to the list of ISO-639-2/B codes

* Don't change the property, use a local variable instead.

* When creating the MediaStream in the MediaStreamRepository ensure that the ISO 639-2/T (f.e. deu) code is used for the language as that is the one the .NET culture info knows.
The other code is most likely the ISO 639-2/B code (f.e. ger) which is unknown to the .NET culture info and will result in just displaying the code instead of the display name.

* Move the substitution of ISO 639-2/B to /T to the localization manager.
Some language (like Chinese) have multiple entries in the iso6392.txt file (f.e. zho|chi|zh|..., zho|chi|zh-tw|...) but the conversation between /T and /B is the same so use .TryAdd.

* Change the method definition from GetISO6392TFromB to TryGetISO6392TFromB and return true if a case was found.

* Add unit tests for TryGetISO6392TFromB.
2025-04-07 21:29:12 -06:00
Alex
82a561b87d
Add API support for ELRC word-based lyrics (#12941)
* Add API support for ELRC word-based lyrics

Adds support for word-based timestamps from within ELRC files.

* Create TimeTags object

* redo TimeTag implementation

Change TimeTag to long, redo TimeTag implementation
Make timestamp not nullable
Update MediaBrowser.Model/Lyrics/LyricLine.cs
Make TimeTag list IReadOnlyList
Remove nullable Timestamp
Update TimeTag description

Co-Authored-By: Cody Robibero <cody@robibe.ro>

* Changes to LyricLineTimeTag

Moved TimeTag to LyricLineTimeTag
Change "timestamp" to "start" for consistency
Change plural "TimeTags" to "Cues"
Change comments

* Change LyricLineTimeTag to LyricLineCue, include info about end times

* Remove width

* Remove width tag

* Rewrite cue parser and add tests

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2025-04-07 08:59:18 -06:00
Dmitry Lyzo
940c4e8ba8
Add Dolby Vision tests for Tizen (#12670)
* Fix Tizen H264 profiles

* Add Dolby Vision tests for Tizen

* Allow Dolby Vision fallback layer on Tizen 3+
2025-03-31 17:45:14 -06:00
Bond-009
e9729a536f
Use pattern matching for null checks (#13793)
Fix the few that slipped through
2025-03-31 17:38:25 -06:00
Tim Eisele
3fc3b04daf
Rework parental ratings (#12615) 2025-03-30 21:51:54 -06:00
Quyet Vu
2ace880345
Fix playlist order (#13730)
* Fix playlist order move

* Remove extra space

* Added more test cases

* Change namespace to file-scoped
2025-03-30 21:39:51 -06:00
Tim Eisele
824bafc32d
Fix StreamInfo.ToUrl (#13808) 2025-03-30 21:37:58 -06:00
Tim Eisele
9657708b38
Reduce allocations, simplifed code, faster implementation, included tests - StreamInfo.ToUrl (#9369)
* Rework PR 6168

* Fix test
2025-03-28 06:51:44 -06:00
Dmitry Lyzo
cb931e0062
Add profile condition to limit the number of streams (#13583) 2025-03-28 06:51:22 -06:00
Cody Robibero
15465afd8e Revert changes to DirectoryService 2025-03-27 21:13:27 -06:00
Cody Robibero
6c46b06c75 Fix merged namespace error 2025-03-27 19:46:45 -06:00
Michael McElroy
f02190c394
Fix for Issue #12142: Fix ExtraRuleResolver filtering out top level folders (#12170)
* Fix ExtraRuleResolver to stop filtering out libraries where the name of the base folder matches an 'videos extras' rule with an ExtraRuleType of DirectoryName

Currently the ExtraRuleResolver code doesn't know anything about the root folder of the current library. As a result, when we're attempting to add items in a library where the root folder has a name with a match in Emby.Naming.Common.NamingOptions.VideoExtraRules, the entire library is being ignored as a Video Extras folder.

Need to pass in the root folder of the current library to compare to the path of the current item being evaluated, and if we match the current item's folder to the root folder, then we ignore the ExtraRules with a type of DirectoryName and we continue to scan deeper in the library. Filters still apply to subfolders within the library itself.

* Update CONTRIBUTORS.md

* Update Emby.Naming/Video/ExtraRuleResolver.cs

* Update ExtraTests.cs

Add tests for this fix.

Also add missing tests in TestKodiExtras, TestExpandedExtras, and TestSample, and expanded TestDirectories into TestDirectoriesAudioExtras and TestDirectoriesVideoExtras. There were no checks for the theme-music folder name previously.

* Update ExtraTests.cs

Removed unnecessary "using System"

* In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4

* Update ExtraTests.cs

Remove empty lines in usings

* Revert "In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4"
2025-03-27 18:18:19 -06:00
Cody Robibero
88ceaa39b0
Implement limiting caches (#13605)
* Implement basic expiring cache for LibraryManager

* Add expiring cache to more places

* Rider why

* Make DirectoryService caches static

* Use FastConcurrentLru

* Reduce default cache size

* Simplify DirectoryService caches

* Make directory service cache size at least 128
2025-03-27 18:16:54 -06:00
Jacob Warren
07f07ba6bc
Fix Sort by Year Bug (#12101) (#13733) 2025-03-27 18:05:03 -06:00
baka0815
cafb7cd002
Change the order of the iso6392.txt file (#13314)
* Change the order of the ISO-639-2 list

Now the ISO 639-2/T (terminological) comes first (which is the same as the ISO 639-3 code) and the second column is for the ISO 639-2/B (bibliograpihc) code.
The terminological code is derived from the native name for the language while the bibliographic code is more of a "legacy feature" where the code is derived from the English name for the language.

The format of the file is now

ISO 639-2/T (or ISO 639-3) | ISO 639-2/B (where applicable) | ISO 639-1 (two-letter code) | English name | French name

* Sort the ISO list by the first column
2025-03-26 20:25:53 -06:00
JPVenson
42bdb22bfb Fixed namespaces 2025-03-25 16:45:00 +01:00
JPVenson
160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson
7cd059c033 Merge remote-tracking branch 'origin/master' into feature/DatabaseRefactor 2025-03-25 15:13:32 +00:00
JPVenson
850f1c79f1 Merge branch 'master' into feature/DatabaseRefactor 2025-03-25 15:12:48 +00:00
JPVenson
ea8f1ffb7c renamed SqLite to Sqlite 2025-03-24 10:07:52 +00:00
JPVenson
e4b11c664c Disabled flaky tests 2025-03-24 08:38:17 +00:00
Tim Eisele
dfb485d1f2
Rework season folder parsing (#11748) 2025-03-23 10:05:40 -06:00
Tim Eisele
0eed5ee79b
Fix build and tests (#13718) 2025-03-14 08:17:18 -06:00
Joshua M. Boniface
79437f85c5
Merge pull request #13175 from Shadowghost/external-url-providers
Migrate to IExternalUrlProvider
2025-03-13 21:08:18 -04:00
IDisposable
efb901c369 Backport pull request #13639 from jellyfin/release-10.10.z
Support more rating formats

Original-merge: 4f94d23011

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

Backported-by: Bond_009 <bond.009@outlook.com>
2025-03-02 11:23:02 -05:00
JPVenson
feea5af2f3 Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-03-01 14:16:49 +00:00
Bond-009
51e0ce7ea4
Merge pull request #13556 from Jxiced/master
Don't allow usernames to have leading or trailing spaces
2025-02-20 12:04:43 +01:00
JPVenson
3e223ead1e Fixed references for database projects 2025-02-20 10:02:47 +00:00
Shadowghost
5303445c9b Migrate to IExternalUrlProvider 2025-02-20 10:13:27 +01:00
JPVenson
d8030147ff Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-02-19 18:25:00 +00:00
JPVenson
ddc20b74bf Removed pgsql from refactor 2025-02-19 18:21:23 +00:00
Cody Robibero
712908d53c
Revert nullability of MediaStream.IsHearingImpaired (#13573) 2025-02-17 19:20:18 -07:00
Jxiced
b5fcbfc15e Update test cases. 2025-02-14 17:49:25 +00:00
Bond-009
2db0750abb
Make the JsonConverters for delimited arrays more generic (#13396)
* Make the JsonConverters for delimited arrays more generic

Also adds some tests for serialization (with different types) as we didn't have any before.

* Ignore warnings
2025-02-13 20:24:55 -07:00
JPVenson
dfdef511a5 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-05 18:32:13 +00:00
Bond-009
00b66a06ea
Enable nullable for AuthorizationInfo (#13485) 2025-02-04 17:10:39 -07:00
Shadowghost
abdb5ab79e Backport pull request #13388 from jellyfin/release-10.10.z
Fix rating levels

Original-merge: 53a45c6033

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 17:07:08 -05:00
TheMelmacian
51207edf44 Backport pull request #13092 from jellyfin/release-10.10.z
Fix: handling of <set> elements in NfoParser

Original-merge: f333ef74b3

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-03 16:54:35 -05:00
JPVenson
c9237ae731 Applied review suggestions 2025-02-03 20:15:36 +00:00
JPVenson
61b2ad7f49 Added missing assembly info and fixed migration tests 2025-02-02 02:21:34 +00:00
JPVenson
17003f4d76 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-02 02:09:14 +00:00
JPVenson
844646e2fe Fixed migration runner and added docs for adding migrations 2025-01-27 17:20:14 +00:00
Bond-009
7684986fa1
Use MediaTypeNames where possible (#13440) 2025-01-26 21:06:24 -07:00
JPVenson
aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
Josh Soref
044cf9fb85 chore: fix spelling
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00
Joshua M. Boniface
93b8eade61
Merge pull request #12798 from JPVenson/feature/EFUserData
Refactor library.db into jellyfin.db and EFCore
2025-01-25 02:08:44 -05:00