Compare commits

..

3079 Commits

Author SHA1 Message Date
Jellyfin Release Bot
730b01fb14 Bump version to 10.9.3 2024-05-26 20:00:29 -04:00
gnattu
45e8872cc0 Extract media attachment one by one if the filename appears to be a path (#11812) 2024-05-26 11:40:28 -06:00
Joshua M. Boniface
bcf884ccfa Update GitHub workflows from Master
Backport fixes from:
 - #11780
 - #11779
 - #11769
 - #11733
 - #11515
2024-05-25 11:55:48 -04:00
gnattu
2eece01acc Filter invalid IPs on external interface matching (#11766) 2024-05-25 09:44:03 -06:00
gnattu
ef985896e2 Use SharedStream for LiveTV more restrictively (#11805) 2024-05-25 09:43:53 -06:00
Nyanmisaka
5e7514243c Fix the IOSurf error in QSV transcoding (#11830) 2024-05-25 09:00:30 -06:00
NotSaifA
4a344bebc0 Trickplay: kill ffmpeg when task is cancelled (#11790) 2024-05-24 07:50:55 -06:00
Tim Eisele
b2d54b82fa Improve reliability of HasChanged check (#11792) 2024-05-24 07:50:09 -06:00
gnattu
e7b1162cb3 Force more compatible transcoding profile for LiveTV (#11801) 2024-05-24 07:36:59 -06:00
Tim Eisele
d89e5a0074 Exclude virtual items from DateLastMediaAdded calculation (#11804) 2024-05-24 07:36:39 -06:00
Tim Eisele
4a54e5ddeb Add Canceled to ended state (#11808) 2024-05-24 07:36:19 -06:00
Bond-009
d9232e05f1 Merge pull request #11798 from gnattu/fix-trickplay-image-height
Recalculate trickplay image height for anamorphic videos
2024-05-24 14:19:37 +02:00
Bond-009
52be8be28f Merge pull request #11754 from Shadowghost/fix-bd-chapter-images
Fix BD/DVD folder chapter image extraction
2024-05-24 14:18:10 +02:00
Bond-009
ab6c2424db Merge pull request #11802 from crobibero/nullable-match-term
Mark SearchHint.MatchedTerm as nullable
2024-05-24 14:17:59 +02:00
Bond-009
eb437e7163 Merge pull request #11799 from nyanmisaka/fix-va-vk-interop-chk
Disable VA-VK interop on not supported kernel versions
2024-05-24 14:17:51 +02:00
Bond-009
2ddf2a7866 Merge pull request #11781 from Bond-009/orderts
Retain order blu-ray segments
2024-05-24 14:16:45 +02:00
Bond-009
60232ce9be Merge pull request #11788 from gnattu/override-too-small-trickplay-image-interval
Override too small trickplay image interval
2024-05-24 14:16:33 +02:00
gnattu
952995f796 Ignore NullOrEmpty imageStream.AspectRatio
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-23 23:08:29 +08:00
gnattu
933a285bf5 Use single quote
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-23 23:03:35 +08:00
gnattu
f8da69f8e5 Allow decimal aspect ratio
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-23 23:02:57 +08:00
Cody Robibero
d5e29bfce3 here you go Niels 2024-05-23 07:16:56 -06:00
nyanmisaka
ab36c4c011 Disable VA-VK interop on not supported kernel versions
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-05-23 14:53:00 +08:00
gnattu
c6e29647fc Recalculate trickplay image height for anamorphic videos
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-23 12:36:43 +08:00
gnattu
fa2bff30f6 Explicitly use decimal
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-05-22 21:17:00 +08:00
gnattu
447f73caf4 Fix bitrate calculation accuracy
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:41:54 +08:00
gnattu
86129589ef Override too small trickplay image interval
Some users may set this value too low, causing the trickplay generation to fail. Reset this interval to the minimum valid value of 1 second when the user-configured value is too small to prevent generation failures.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:35:28 +08:00
Niels van Velzen
06a5ddda5e Merge pull request #11774 from Bond-009/downmix
Apply audio boost when downmixing regardless of downmixalgo
2024-05-21 21:40:22 +02:00
Bond_009
6777f47e0e Retain order blu-ray segments 2024-05-21 20:19:15 +02:00
Bond_009
cf04e1d8e5 Apply audio boost when downmixing regardless of downmixalgo
This is what I'd expect from the naming
Should fix #11771
2024-05-21 16:24:43 +02:00
Bond-009
d608f1e3cc Merge pull request #11713 from gnattu/fix-vt-h264-profile
Fix VideoToolbox H264 constrained profile option
2024-05-21 13:58:01 +02:00
Bond-009
86f5c93434 Merge pull request #11739 from Shadowghost/fix-trickplay
Do not run trickplay on scan if disabled
2024-05-21 13:57:41 +02:00
Bond-009
4fcbeef5e6 Merge pull request #11738 from crobibero/non-user-session
Don't require user when getting current session
2024-05-21 13:57:31 +02:00
Shadowghost
77abafca8e Fix BD/DVD folder chapter image extraction 2024-05-20 13:19:05 +02:00
Shadowghost
2cebd5e05f Do not run trickplay on scan if disabled 2024-05-19 16:52:59 +02:00
Cody Robibero
b19b346670 Don't require user when getting current session 2024-05-19 08:25:38 -06:00
gnattu
53de8c0805 Fix VideoToolbox H264 constrained profile option
Like a lot of other encoders they need an underscore between two words.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-18 19:53:23 +08:00
Jellyfin Release Bot
76854b5eff Bump version to 10.9.2 2024-05-17 16:09:34 -04:00
Tim Eisele
5200633574 Prevent double iterating over all seasons (#11700) 2024-05-17 12:13:49 -06:00
Joshua M. Boniface
832e27a8fb Merge pull request #11680 from Shadowghost/secure-local-playlists
Secure local playlist path handling
2024-05-17 13:47:47 -04:00
Joshua M. Boniface
2da06bc0b1 Merge pull request #11647 from Shadowghost/fix-season-names
Fix season names
2024-05-17 13:47:24 -04:00
Joshua M. Boniface
46c748d888 Merge pull request #11699 from cvium/fix_livetv
Use MediaType instead of ToString and add text/ as disallowed mimetypes
2024-05-17 13:47:12 -04:00
Tim Eisele
430d450828 Fix network binding (#11671)
* Fix network binding

* Better log output

* Fix Kestrel bind message
2024-05-17 18:57:18 +02:00
Niels van Velzen
02937873b1 Merge pull request #11689 from gnattu/workaround-ffmpeg-seek
Workaround ffmpeg keyframe seeking for external subtitles
2024-05-17 18:55:01 +02:00
Niels van Velzen
d303ca56e3 Merge pull request #11698 from Bond-009/issue11605
Fix not binding to SQL parameters
2024-05-17 18:54:32 +02:00
cvium
c647143e53 fix(livetv): use MediaType instead of ToString and add text/ as disallowed mimetypes 2024-05-17 18:50:44 +02:00
Bond_009
dd0ab8ed56 Fix not binding to SQL parameters
Whitespace values weren't being filtered out in advance
Remove the posibility of this happening again by always binding

Should fix #11605
2024-05-17 18:35:11 +02:00
Shadowghost
18e6c1ef7d Apply review comments 2024-05-17 10:58:00 +02:00
gnattu
dec2032e13 Workaround ffmpeg keyframe seeking for external subtitles
We seek to the exact position of the keyframe for direct stream/remuxing, but FFmpeg seeks to the previous keyframe when the exact time is provided as input. To work around this, add a 0.5 second offset to the seeking time.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-17 12:12:45 +08:00
Shadowghost
287e06d6dc If itemPath exists, use that, otherwise try getting full path from relative path 2024-05-16 21:55:00 +02:00
Shadowghost
dc93cc13b5 Apply review suggestion 2024-05-16 19:36:49 +02:00
Niels van Velzen
26714e2c62 Merge pull request #11673 from Shadowghost/fix-local-playlists
Fix local playlist scanning
2024-05-16 19:07:17 +02:00
Tim Eisele
c6c48a2b47 Fix series status parsing (#11648)
* Fix series status parsing

* Apply review suggestions and add test

* Apply review suggestion

* Apply review suggestions
2024-05-16 19:06:11 +02:00
Niels van Velzen
f8b67ec44c Merge pull request #11670 from jellyfin/attempt-restore-user-cache
Restore caching for UserManager
2024-05-16 19:05:00 +02:00
Niels van Velzen
ddd5c302b4 Merge pull request #11675 from gnattu/fix-vaapi-mjpeg-parameter
Fix quality parameter for vaapi_mjpeg
2024-05-16 19:04:34 +02:00
Niels van Velzen
9b98638b2b Merge pull request #11677 from Bond-009/migrateuserdb
Properly dispose dbContext in MigrateUserDb
2024-05-16 19:02:52 +02:00
Shadowghost
2ca8ce6f60 Apply review suggestions 2024-05-16 17:04:42 +02:00
Shadowghost
56a158e5c9 Secure local playlist path handling 2024-05-16 16:10:37 +02:00
gnattu
9b65d243a8 Use OrdinalIgnoreCase comparison
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-16 20:18:36 +08:00
Bond_009
c45dd5d6fb Properly dispose dbContext in MigrateUserDb 2024-05-16 10:58:32 +02:00
Shadowghost
af4b732080 Fix override of locked name 2024-05-16 08:25:35 +02:00
Shadowghost
1cdf0f5cc4 Apply review suggestion 2024-05-16 08:22:40 +02:00
gnattu
20a1da1855 fix quality parameter for vaapi
Hardware encoders has different expectations about quality input. VAAPI's mjpeg encoder excepts JPEG quality divided by QP2LAMBDA as input.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-16 11:49:41 +08:00
gnattu
8aee50020b Always fallback for failed HEAD request (#11668) 2024-05-15 17:27:25 -06:00
Bond-009
c1615419b9 Don't generate TrickPlay images for files that don't exist (#11653) 2024-05-15 17:26:42 -06:00
Shadowghost
15489eeae3 Fix album photos 2024-05-16 00:31:50 +02:00
Shadowghost
80c9589885 Fix local playlist scanning 2024-05-15 23:20:14 +02:00
Cody Robibero
a5d60c4521 Allow empty user id when getting device list (#11633) 2024-05-15 07:06:29 -06:00
Bill Thornton
2cb052a119 Fix FirstTimeSetupPolicy allowing guest access (#11651) 2024-05-15 07:06:10 -06:00
gnattu
0756174b13 Restore caching for UserManager.cs
It seems like the EFCore's second level cache does not really work, and we are having very heavy database query here.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-15 12:43:46 +08:00
gnattu
3f760e6685 Fix missing filename for timer (#11629) 2024-05-14 21:28:39 -06:00
Nathan McCrina
d5dc4435d9 Handle exception for unexpected audio file YEAR tag values (#11621) 2024-05-14 21:28:29 -06:00
Shadowghost
48228430c0 Fix season names 2024-05-15 01:23:23 +02:00
gnattu
f396a95f05 Fix network config (#11587) 2024-05-13 07:20:47 -06:00
Jellyfin Release Bot
717afcdc82 Bump version to 10.9.1 2024-05-12 20:10:24 -04:00
Tim Gels
25c50bcc5d Change "try" to "attempt" english translation (#11578) 2024-05-12 15:19:02 -06:00
Cody Robibero
f77a5d0c5c Default to processor count concurrent scan instead of 2 * processor count (#11569) 2024-05-12 15:18:56 -06:00
gnattu
6689d837d6 Fix absolute path checking on windows (#11570) 2024-05-12 15:12:07 -06:00
Cody Robibero
c1907354e8 Add metrics collector to disposable parts (#11539) 2024-05-12 09:14:36 -06:00
Cody Robibero
efba619acb Fix migration with special Rating (#11541) 2024-05-12 09:14:26 -06:00
Cody Robibero
7d271547c6 Disable nuget warning in Jellyfin.Extensions 2024-05-11 15:12:14 -06:00
Jellyfin Release Bot
327f92bb2e Bump version to 10.9.0 2024-05-11 14:23:58 -04:00
Joshua M. Boniface
afd1d3be32 Merge pull request #11526 from jellyfin/don't-assume-library-change-only-on-item-count
Use actual item removal count for library change determination
2024-05-11 11:05:56 -04:00
Joshua M. Boniface
47b79df136 Update MediaBrowser.Controller/Entities/Folder.cs 2024-05-11 10:56:14 -04:00
gnattu
588fb9e82b Don't assume library change only on item count
The library will also be updated when the number of children remains the same before and after scanning. For example, if one video file is removed and replaced with another version, we still need to remove the old one in this case.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-11 03:57:22 +08:00
gnattu
145dc31ccb Default to not extract lyrics (#11523) 2024-05-10 09:03:09 -06:00
Cody Robibero
5d2a1da73e Always set cast receivers during migration (#11516) 2024-05-10 07:34:08 -06:00
Joshua M. Boniface
44b03a3315 Merge pull request #11504 from jellyfin/auto-discovery-bind-all-interfaces
Let AutoDiscoveryHost bind to all addresses
2024-05-08 22:04:17 -04:00
TAKAHASHI Shuuji
6156388d32 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2024-05-08 19:00:47 -04:00
Niels van Velzen
b25c6acb6b Merge pull request #11496 from davidfdezalcoba/davidfdezalcoba/workaround-tuner-head-method-501
Add Not Implemented response check to m3u tuner HEAD request
2024-05-08 19:05:23 +02:00
Andrea
a38c756a0e Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2024-05-08 04:20:06 -04:00
gnattu
8c583bbe37 Allow explicitly set userId for RequestHelpers.GetSession (#11505) 2024-05-07 09:43:54 -06:00
gnattu
4044431610 Fix broken hardware encoder and filter for trickplay (#11506) 2024-05-07 07:23:28 -06:00
gnattu
76757719f7 Cleanup more unused code
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-07 07:39:47 +08:00
gnattu
07faa8a3fb Cleanup unused code
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-07 07:36:41 +08:00
gnattu
d919284b59 Let AutoDiscoveryHost bind to all addresses
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-07 06:53:02 +08:00
Manuel Peiró
aaa42871ca Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2024-05-06 18:03:38 -04:00
m0d3rnX
0db7f252f6 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2024-05-06 14:55:16 -04:00
Mark Cilia Vincenti
3675531823 Translated using Weblate (Maltese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mt/
2024-05-06 09:01:39 -04:00
Carlos Nunes
ff06ec9bfc Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2024-05-06 09:01:39 -04:00
David Fernandez Alcoba
bfa498799b Add Not Implemented to m3u tuner 2024-05-06 09:34:40 +02:00
Joshua M. Boniface
5bf738dafb Merge pull request #11495 from jellyfin/workaround-tuner-head-method-405
Workarounds TV tuners rejecting HEAD method
2024-05-05 21:47:00 -04:00
Tim Eisele
c9cd17220a Playlist fixes (#11487) 2024-05-05 19:22:21 -06:00
Mark Cilia Vincenti
af74aa35d7 Clean up synchronization (#11458) 2024-05-05 19:21:54 -06:00
gnattu
688a734895 Don't close inactive session on default (#11491) 2024-05-05 19:21:44 -06:00
gnattu
e355c7bfb5 Workarounds TV tuners rejecting HEAD method
Fallback to the old behavior of checking path extension when 405 occurs on HEAD request. Required as the TV Tuner's http sever is not always properly implemented.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-06 08:10:16 +08:00
Mark Cilia Vincenti
6bdc7928e8 Translated using Weblate (Maltese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mt/
2024-05-05 15:04:56 -04:00
Mark Cilia Vincenti
b7e41e6f23 Added translation using Weblate (Maltese) 2024-05-05 14:23:29 -04:00
gnattu
cf483203f5 Fix external LRC files being incorrectly overwritten during the initial scan (#11480) 2024-05-05 08:22:48 -06:00
Tim Eisele
4aad655fa8 Fix subtitle saving if file already exists (#11310) 2024-05-05 08:22:34 -06:00
gnattu
3ae0fb90cb Validate Collection Folders on adding and removal (#11444) 2024-05-05 08:21:40 -06:00
gnattu
77a101cc98 Fix missing season Index (#11472) 2024-05-05 08:21:00 -06:00
Nyanmisaka
e2a22cec0e Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2024-05-04 13:06:46 -04:00
queeup
067962ae2a Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2024-05-04 13:06:46 -04:00
Szilágyi Kristóf
8a65d239b7 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2024-05-04 13:06:46 -04:00
HiPotionQ8
518404cd1d Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2024-05-04 13:06:46 -04:00
Andi Chandler
f453746e2c Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2024-05-03 17:52:55 -04:00
HanHwanHo
169698619d Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2024-05-03 10:40:23 -04:00
Blackspirits
34a8cc203a Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2024-05-02 18:35:52 -04:00
Blackspirits
bd3fdcd1d4 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2024-05-02 18:35:52 -04:00
stanol
45d9481f73 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-05-02 12:18:24 -04:00
nextlooper42
4a4540bb0f Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2024-05-02 09:37:48 -04:00
bene toffix
f20a9c9b2b Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2024-05-01 12:10:05 -04:00
Cody Robibero
1accfd79da Always attempt to get User if a user id is provided (#11471) 2024-05-01 06:42:01 -06:00
Bas
1b4f5451a5 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2024-05-01 08:31:23 -04:00
Kityn
41fd7f168b Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2024-05-01 04:16:51 -04:00
Lukáš Kucharczyk
6633c26f46 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2024-05-01 04:16:51 -04:00
myrad2267
16b2483d84 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2024-04-30 23:10:34 -04:00
Rany
a1f5e7265f Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2024-04-30 17:37:03 -04:00
Bond-009
3feb3f81bf More efficient array creation (#11468) 2024-04-30 13:32:59 -06:00
gnattu
5dc6bb4910 Fix incomplete tag query for whitelist tags (#11416) 2024-04-30 13:32:49 -06:00
Cody Robibero
48bb16472f Merge pull request #11457 from Bond-009/audionormalization 2024-04-30 13:15:51 -06:00
Bond-009
74f3e54807 Merge pull request #11436 from nielsvanvelzen/plugin-api-elevation
Require elevation for plugin related endpoints
2024-04-30 20:32:01 +02:00
Bond_009
9ffb07d67f Fix filename 2024-04-30 16:16:42 +02:00
Bond_009
8c9d0df7f2 Address comments 2024-04-30 16:14:01 +02:00
gnattu
6f78ac2ff3 Use more accurate rounding in GetFixedOutputSize (#11435)
* Use more accurate rounding in GetFixedOutputSize

Signed-off-by: gnattu <gnattuoc@me.com>

* Force trickplay thumbnails to have even width

Signed-off-by: gnattu <gnattuoc@me.com>

* Use Convert.ToInt32

Signed-off-by: gnattu <gnattuoc@me.com>

* Force video size as thumbnail size if the trickplay width setting is larger

This will fix an issue when the trickplay setting contains a very huge width, but the video has a lower resolution than that setting. Our scaling filter logic will not do any upscale, and we have to force to use the video width

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-30 13:41:46 +02:00
Niels van Velzen
0b15352771 Merge pull request #11361 from Bond-009/nope
Properly await Task.Delay()
2024-04-30 13:41:13 +02:00
Bond_009
276ae3b8b7 Skip albums that don't have multiple tracks 2024-04-29 14:50:46 +02:00
Bond-009
2cbef3aa38 Merge pull request #11440 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.25.3
2024-04-29 10:17:25 +02:00
Bond_009
2459b7e62e Properly await Task.Delay() 2024-04-29 10:16:28 +02:00
Bond_009
2ad872001d Address comments 2024-04-28 17:16:33 +02:00
Roots Radics
8eff5d1bf7 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2024-04-28 10:03:08 -04:00
Bond_009
88a38a61b5 Improve audio normalization
* Move calculation of LUFS to a scheduled task as it's pretty slow
* Correctly calculate album LUFS
* Don't try to convert replaygain tags to LUFS values
2024-04-28 15:18:53 +02:00
Niels van Velzen
935c2c97fe Require elevation for plugin related endpoints 2024-04-26 19:00:53 +02:00
renovate[bot]
f63148441d chore(deps): update github/codeql-action action to v3.25.3 2024-04-26 02:12:37 +00:00
renovate[bot]
5612cb8178 chore(deps): update ci dependencies (#11427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 07:15:31 -06:00
renovate[bot]
ccd06bc547 chore(deps): update dependency diacritics to v3.3.29 (#11429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 07:02:45 -06:00
Bond-009
d29b85a134 Fix multiple intro providers and remove unneeded ToLists (#11431) 2024-04-25 07:02:01 -06:00
renovate[bot]
9a515149ef chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.5 (#11423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 08:43:29 -06:00
Bond-009
ac108690a8 Use StringSplitOptions.TrimEntries where possible (#11421) 2024-04-24 08:35:15 -06:00
Bond-009
428283f787 Always scan ReplayGain tag (#11418) 2024-04-24 08:09:01 -06:00
alison2033
3c159822b5 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2024-04-23 21:00:27 -04:00
AKHI
f5f0d18934 Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2024-04-23 16:45:49 -04:00
Bond-009
3936fc9f25 Don't run ffprobe a second time for music file (#11419) 2024-04-23 07:08:49 -06:00
John M
c791331952 Fix task CleanupCollectionAndPlaylistPathsTask removing valid paths (#11410) 2024-04-23 07:08:19 -06:00
Bond-009
f26eb15be0 Merge pull request #11405 from jellyfin/renovate/ci-deps
chore(deps): update ci dependencies
2024-04-23 11:35:03 +02:00
renovate[bot]
bafb7f84ad chore(deps): update ci dependencies 2024-04-23 02:18:53 +00:00
gnattu
374b6ca0e2 Only apply custom downmix to 5.1 audios (#11401) 2024-04-22 10:23:36 -06:00
renovate[bot]
09b0229670 chore(deps): update actions/checkout action to v4.1.3 (#11404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 10:23:08 -06:00
renovate[bot]
ab55dcf82d chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.4.3 (#11402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 10:22:50 -06:00
renovate[bot]
049c1d9250 chore(deps): update dependency asynckeyedlock to v6.4.2 (#11396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 21:53:42 -06:00
Niels van Velzen
a80968478a Fix InvalidCastException in ItemUpdateController (#11398) 2024-04-21 21:53:27 -06:00
felix920506
f3b4d72423 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2024-04-21 13:54:07 -04:00
renovate[bot]
1d85462f47 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.4.2 (#11394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 11:27:07 -06:00
gnattu
601c88c704 fix: don't apply whitelist tags to libraries (#11377) 2024-04-21 10:57:35 -06:00
Nick Ganter
89b798f830 Maintaining track order when a new playlist is created from an existing playlist (#11371) 2024-04-21 10:55:13 -06:00
renovate[bot]
e4cb651912 chore(deps): update dependency asynckeyedlock to v6.4.1 (#11392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 10:54:58 -06:00
Cody Robibero
27fae3dd04 Limit sessions per user (#11370) 2024-04-21 10:54:49 -06:00
Niels van Velzen
43569082f9 Fix WebSocket disconnecting when exception is thrown during processing (#11395) 2024-04-21 10:54:42 -06:00
felix920506
e42325883f Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2024-04-21 12:24:48 -04:00
Víctor Vázquez
0b618349e1 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2024-04-21 10:16:34 -04:00
Fawrrax
9a22dd4fbd Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2024-04-19 07:58:15 -04:00
vic991
c99b30ae23 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2024-04-18 22:05:11 -04:00
Bond-009
c217599977 Merge pull request #11384 from jellyfin/renovate/ci-deps
chore(deps): update ci dependencies
2024-04-19 00:02:45 +02:00
renovate[bot]
9c7236d96e chore(deps): update ci dependencies 2024-04-18 17:09:00 +00:00
Joshua M. Boniface
40a20bbf76 ci: Ensure lock directory exists (#11383)
* ci: Ensure lock directory exists

* Use better construct
2024-04-18 09:29:31 -04:00
Joshua M. Boniface
7d67443aca ci: Add flock to openapi spec upload (#11381)
* Add flock to openapi spec upload

Prevents a race condition if two PRs are merged in very quick
succession.

* Remove lock at the end

* Revert "Remove lock at the end"

This reverts commit a7baafd10e.

* Correct incorrect comments

* Exit with an error if flock fails
2024-04-18 09:03:06 -04:00
Bond-009
37d301ebd4 Merge pull request #11352 from jellyfin/fix-library-removal
fix: explicitly allow remove root when performing library removal
2024-04-18 12:16:04 +02:00
JPVenson
81d3758785 #11289 Fixed cleanup task not checking for folders (#11311) 2024-04-17 10:45:31 -06:00
renovate[bot]
1efddc4d87 chore(deps): update github/codeql-action action to v3.25.1 (#11376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 10:45:12 -06:00
Bond-009
bb018c4adc Enable nullable for LibraryManager (#11191) 2024-04-17 10:44:50 -06:00
Bond-009
356e05e3af Changes SessionWebSocketListener to (re)use a timer (#11358) 2024-04-17 10:44:39 -06:00
Niels van Velzen
82e5f99f83 Support age in LocalizationManager.GetRatingLevel (#11367) 2024-04-17 10:44:30 -06:00
gnattu
80fac82c2c fix: bind auto-discovery to multicast ip on macOS (#11368) 2024-04-17 10:44:20 -06:00
gnattu
658a454d81 fix: don't extract external sub (#11373) 2024-04-17 10:44:04 -06:00
gnattu
1b567efeb5 fix: correctly pass parameters in overrides
Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-17 21:32:21 +08:00
gnattu
e4d66f35fd chore: use proper way to override remove root
This is an alternate approach which is more proper, but changes all parts that uses/overrides the original ValidateChildren method

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-17 14:41:19 +08:00
blackcharon
5e34f6cd6c Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2024-04-16 21:11:39 -04:00
Bond-009
c1fc80e85e Merge pull request #11363 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.25.0
2024-04-16 12:04:49 +02:00
Bond-009
ee24704c44 Merge pull request #11360 from Bond-009/transcodelogfile
Write JSON directly to logfile
2024-04-16 12:04:39 +02:00
Bond-009
014c9c3cdc Merge pull request #11357 from crobibero/album-artist
fix: fallback to artist if album artist not provided
2024-04-16 12:04:21 +02:00
renovate[bot]
e2a4dceb1d chore(deps): update github/codeql-action action to v3.25.0 2024-04-15 13:57:37 +00:00
Cody Robibero
133b568a35 fix: use new serializer cache per IXmlSerializer (#11356) 2024-04-14 17:01:59 -06:00
Bond_009
e9ae2d6a1e Write JSON directly to logfile
Can't be worse than serializing to a string, concatenating and converting to utf8, right?
2024-04-14 23:19:38 +02:00
Cody Robibero
d402005d32 fix: fallback to artist if album artist not provided 2024-04-14 14:29:55 -06:00
Cody Robibero
6fb6b5f176 Validate item access (#11171) 2024-04-14 08:18:36 -06:00
renovate[bot]
9a4db80085 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.4.1 (#11306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-04-14 08:18:09 -06:00
renovate[bot]
453a5bdcf3 chore(deps): update eps1lon/actions-label-merge-conflict action to v3 (#11200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-14 07:57:53 -06:00
Bond-009
9818456d9e Merge pull request #11109 from crobibero/animated-webp
Don't decode animated images
2024-04-14 15:54:48 +02:00
Bond-009
b4bd3f6151 Merge pull request #11351 from revam/fix-off-by-one-error-in-get-attribute-value
fix: fix off-by-one error in `GetAttributeValue`
2024-04-14 15:54:39 +02:00
Bond-009
ff824da97d Merge pull request #11353 from jellyfin/renovate/libse-4.x
chore(deps): update dependency libse to v4
2024-04-14 15:54:17 +02:00
Moe Ye Htet
8026202d7e Translated using Weblate (Burmese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/my/
2024-04-14 07:55:05 -04:00
renovate[bot]
22f9ea580c chore(deps): update dependency libse to v4 2024-04-13 10:23:33 +00:00
Jordan Fearnley
730a75a88a Chore: Adds unit tests to support (#11351) 2024-04-13 09:41:17 +02:00
gnattu
7befbda1a6 fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-13 15:02:13 +08:00
gnattu
4fa6b8874f fix: typo
Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-13 14:58:29 +08:00
gnattu
204146a3a5 fix: mark UserRoot as non-root when performing removal
Fixes #11269

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-13 14:48:40 +08:00
renovate[bot]
c566ccb63b chore(deps): update skiasharp monorepo (#11337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 17:45:50 -06:00
renovate[bot]
33367c1e39 chore(deps): update github/codeql-action action to v3.24.10 (#11304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 17:45:42 -06:00
Cody Robibero
31e0756c0c Only update if actively refreshing (#11341) 2024-04-12 17:45:15 -06:00
Bond-009
7d28d08e08 Enable more warnings as errors (#11288) 2024-04-12 17:45:01 -06:00
Tim Eisele
134bf7a6a5 Don't throw if file was already removed (#11286) 2024-04-12 17:44:45 -06:00
Dominik Krivohlavek
ab731d9212 Fix track MBID in audio metadata (#11301) 2024-04-12 17:44:30 -06:00
Cody Robibero
eccc9a0b64 Add index for lastPlayedDate (#11342) 2024-04-12 17:44:16 -06:00
Mikal Stordal
d3b9ebfa2e fix: fix off-by-one error in GetAttributeValue
Co-authored-by: fearnlj01 <fearnlj01@gmail.com>
2024-04-12 22:53:39 +00:00
Bond-009
79087eadd3 Merge pull request #11338 from crobibero/api-key-auth
Allow ApiKey to authorize against the FirstTimeSetupOrElevated policy
2024-04-12 12:33:18 +02:00
Bond-009
688a15ac41 Merge pull request #11347 from jellyfin/renovate/xunit-dotnet-monorepo
chore(deps): update xunit-dotnet monorepo
2024-04-12 12:33:05 +02:00
hoanghuy309
f8266b3e08 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2024-04-12 05:42:21 -04:00
renovate[bot]
cbd8472478 chore(deps): update xunit-dotnet monorepo 2024-04-12 00:43:48 +00:00
VitoFe
6f1cf595b8 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2024-04-11 14:16:34 -04:00
Dan Johansen
0c36f539ec Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2024-04-11 10:06:59 -04:00
Cody Robibero
92eb9e3a94 Always grant access for Administrator role 2024-04-11 06:11:46 -06:00
GeorgeH005
e93fa27e4c Add support for out-of-spec but existent, Dolby Vision Profile 8 CCid 6 media. (#11334) 2024-04-10 13:33:24 -06:00
ViggoC
f7f7ba8853 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2024-04-10 13:59:04 -04:00
renovate[bot]
574ad0c7fa chore(deps): update dotnet monorepo to v8.0.4 (#11328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 11:25:54 -06:00
Joshua M. Boniface
ee1d6332ee Merge pull request #11220 from Shadowghost/add-playlist-acl-api
Add playlist ACL endpoints
2024-04-10 12:52:01 -04:00
Bond-009
dc74bc361d Merge pull request #11321 from nielsvanvelzen/get-remote-subs-perm
Fix policy for GetRemoteSubtitles
2024-04-10 18:29:00 +02:00
Blackspirits
63d7d84d2c Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2024-04-09 11:40:28 -04:00
Blackspirits
e6873de7da Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2024-04-09 11:40:28 -04:00
Bill Thornton
00620a4092 Fix disabled libraries being returned in MediaFolders api (#11236) 2024-04-08 14:52:10 -06:00
renovate[bot]
ee4a782ed4 chore(deps): update dependency svg.skia to v1.0.0.18 (#11319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 14:47:08 -06:00
Niels van Velzen
3d7d0297fe Fix policy for GetRemoteSubtitles
Other operations related to remote subtitles require the SubtitleManagement policy, so it only makes sense that this operation requires it too.
2024-04-08 22:24:24 +02:00
milo !!
acf77169a0 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2024-04-08 13:15:50 -04:00
bene toffix
f62671dc3f Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2024-04-08 13:15:50 -04:00
Bond-009
46071e4628 Merge pull request #11287 from Shadowghost/spelling
Fix some spelling mistakes
2024-04-08 16:22:03 +02:00
Tina
ab1fd326d5 Add jacket to the list of music images (#11314) 2024-04-08 08:00:48 -06:00
gnattu
6b6aab04ce Fix apple audio codecs (#11315) 2024-04-08 07:42:47 -06:00
Евгений Владимирович Инякин
3a8e658932 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2024-04-07 20:33:18 -04:00
Shadowghost
ddda30fe23 Only allow owner and admin to delete playlists 2024-04-05 21:11:09 +02:00
Tim Zschuppe
c87c26d33a Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2024-04-04 22:29:40 -04:00
Kristijonas Kuzmickas
5eadf6f4cf Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2024-04-04 08:57:16 -04:00
Shadowghost
9031aae653 Typo 2024-04-03 21:24:51 +02:00
Shadowghost
e3897fe5dd Apply review suggestions 2024-04-03 21:20:30 +02:00
Shadowghost
51e2faa448 Apply review suggestions 2024-04-03 20:06:57 +02:00
Shadowghost
3c7562313b Apply review suggestions 2024-04-03 16:57:10 +02:00
Shadowghost
5396b616bf Fixup 2024-04-03 16:32:25 +02:00
Shadowghost
247ec19de4 Fixup 2024-04-03 16:23:14 +02:00
Shadowghost
d72f40fe41 Return 204 on OpenAccess 2024-04-03 16:19:13 +02:00
Shadowghost
04c5b9d680 Add endpoint to get user permissions 2024-04-03 16:14:06 +02:00
Shadowghost
3e0b201688 Enforce permissions 2024-04-03 16:06:20 +02:00
queeup
2428672599 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2024-04-03 09:01:23 -04:00
Shadowghost
4a9565ab52 Fix some spelling mistakes 2024-04-03 14:56:56 +02:00
Kityn
286232e21c Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2024-04-02 16:17:36 -04:00
nextlooper42
5179c7d158 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2024-04-02 13:28:54 -04:00
stanol
ab4dd6e582 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-04-02 10:12:59 -04:00
myrad2267
e53650fbb5 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2024-04-02 10:12:59 -04:00
renovate[bot]
b5acee6505 chore(deps): update ci dependencies (#11226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 07:04:40 -06:00
Caidy
4440600379 fix: rtsp live stream ffprobe timeout (#11279) 2024-04-02 07:04:25 -06:00
gnattu
0af101cbf7 fix: av1 codecs string (#11280)
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
2024-04-02 07:03:58 -06:00
Troja
00499fa27b Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2024-04-02 03:47:07 -04:00
Lukáš Kucharczyk
85cf91c4cf Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2024-04-02 03:47:07 -04:00
Shadowghost
8cf77424f6 Apply review suggestions 2024-04-02 08:08:36 +02:00
Bas
ec36aaa73a Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2024-04-01 16:30:30 -04:00
Shadowghost
c1dbb49315 Implement update endpoint 2024-04-01 20:43:05 +02:00
Shadowghost
bff37ed13a Apply review suggestions 2024-04-01 19:59:48 +02:00
David Davó
e12c666f70 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2024-04-01 13:23:33 -04:00
Cody Robibero
3ade3a8e63 Lowercase CollectionTypeOptions to match legacy experience (#11272) 2024-03-31 21:58:06 -06:00
Niels van Velzen
d9fe900952 Fix FindExtras overwriting current extra type (#11260) 2024-03-31 14:48:56 -06:00
Niels van Velzen
84b933d835 Use enum for BaseItemDto.ExtraType (#11261) 2024-03-31 14:48:46 -06:00
renovate[bot]
a45f2936e1 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.3.1 (#11267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-31 14:46:18 -06:00
Niels van Velzen
904c3873fe Remove SessionInfo.FullNowPlayingItem from API responses (#11268) 2024-03-31 14:45:59 -06:00
Cody Robibero
ed82d79647 Catch exceptions in auto discovery (#11252) 2024-03-30 17:28:03 -06:00
renovate[bot]
000395e036 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.3.0 (#11263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-30 17:27:51 -06:00
Sebastian Held
bfc5deb234 fix metadata refresh for artists (#11257) 2024-03-30 10:40:27 -06:00
Claus Vium
4201079b34 fix: use a reentrant lock when accessing active connections (#11256) 2024-03-30 10:30:00 -06:00
gnattu
fe88a484d1 fix: don't do empty hwupload for VT (#11235) 2024-03-30 09:25:22 -06:00
Mikal S
7cfe0009e5 fix: add image count check to splash screen generation (#11245) 2024-03-30 09:24:28 -06:00
Niels van Velzen
915df87716 Support "extra" folder for extras content (#11249) 2024-03-30 09:24:21 -06:00
gnattu
a8f1668540 fix: unset qmin and qmax for vt (#11246)
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-03-30 08:53:46 -06:00
Cody Robibero
46d559a0a1 Add i18n for TaskCleanCollectionsAndPlaylists (#11248)
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-03-29 13:32:37 -06:00
stanol
a49f552d6e Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-03-29 02:06:26 -04:00
gnattu
b496ebc175 fix: disable api endpoint for ffmpeg path for security (#11225)
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-03-28 13:57:55 -06:00
Nyanmisaka
16e72d6883 Fix the broken codecs shifting (#11243) 2024-03-28 13:57:33 -06:00
Bond-009
d6355261e3 Merge pull request #9641 from Daaiid/fix_compiler_warnings
Fix compiler warnings for Emby.Server.Implementations
2024-03-28 17:19:59 +01:00
gnattu
5db0c5a0e4 fix: forward port patch for GHSA-866x-wj5j-2vf4 (#11228) 2024-03-28 09:26:14 -06:00
gnattu
be21d51742 fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
renovate[bot]
aac96addfe chore(deps): update dependency svg.skia to v1.0.0.17 (#11239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 09:19:55 -06:00
stanol
77807a3ddb Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-03-27 17:58:14 -04:00
Niels van Velzen
8d02c45e6c Fix default values missing in ClientCapabilities(Dto) (#11232) 2024-03-27 15:36:30 -06:00
Said Aroua
71fc475bb3 Replace LINQ with more direct access method
Also rework documentation
2024-03-27 16:17:01 +01:00
Said Aroua
c4c245a552 Refactor out static constructor
See CA1810 for more details
2024-03-27 16:02:43 +01:00
Thibaud Melano
81c24cb9a8 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2024-03-27 10:27:51 -04:00
Shadowghost
2aaa9f669a Apply review suggestions 2024-03-27 06:39:14 +01:00
Shadowghost
56c432a843 Apply review suggestions 2024-03-26 23:45:14 +01:00
renovate[bot]
c90f4cd522 chore(deps): update actions/setup-python action to v5.1.0 (#11221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 13:12:17 -06:00
felix920506
f5af38b8a4 Adds rename command to commands.yml (#11178) 2024-03-26 13:12:06 -06:00
gnattu
e2e366f6d0 fix: prefer cli ffmpeg path over config file (#11219) 2024-03-26 13:11:51 -06:00
Joshua M. Boniface
d57508fe4c Merge pull request #11224 from jellyfin/nvv-fix-openapi-ci
Fix OpenAPI workflow publishing pull request artifact as unstable specification
2024-03-26 13:53:11 -04:00
Niels van Velzen
eec7c8d31a Fix OpenAPI workflow publishing pull request artifact as unstable specification 2024-03-26 18:44:14 +01:00
Shadowghost
f1dc1610a2 Extend playlist creation capabilities 2024-03-26 16:13:07 +01:00
Shadowghost
88b3490d17 Add playlist ACL endpoints 2024-03-26 15:49:18 +01:00
gnattu
2e9aa146a5 fix: remove legacy codecs (#11217) 2024-03-26 04:32:06 -06:00
Joshua M. Boniface
1124da5428 Merge pull request #11215 from joshuaboniface/unstable-spec
Handle OpenAPI spec uploads properly
2024-03-25 13:01:09 -04:00
Joshua M. Boniface
0c6935ef1a Handle OpenAPI spec uploads properly
Seems scp-action didn't work how I expected, and will seemingly always
create a directory on the target even if given a filename on both sides.
Work around this to ensure the file ends up in the right format.
2024-03-25 12:32:49 -04:00
Joshua M. Boniface
30c178a9c8 Merge pull request #11214 from joshuaboniface/unstable-spec
Add openapi.json upload to new repo server
2024-03-25 12:26:07 -04:00
Joshua M. Boniface
5cf3e8b606 Add more comments 2024-03-25 11:53:40 -04:00
Joshua M. Boniface
77cc4068b1 Flip conditional
diff returns 0 if no difference which is what we want.
2024-03-25 11:52:02 -04:00
Joshua M. Boniface
015a256f1b Remove incoming spec if not needed 2024-03-25 11:50:38 -04:00
Joshua M. Boniface
1cea9eff6e Add correct directory to TGT_DIR in LAST_SPEC 2024-03-25 11:49:19 -04:00
Joshua M. Boniface
77bd040c1f Only proceed if the spec differs
Avoids overwriting identical specs and burying the old ones.
2024-03-25 11:48:46 -04:00
Joshua M. Boniface
a08f8e22da Fix extra space 2024-03-25 11:46:27 -04:00
Bas
4a1144acae Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2024-03-25 11:38:06 -04:00
Joshua M. Boniface
f64e64544f Make date to the second 2024-03-25 10:58:11 -04:00
Joshua M. Boniface
a39cd584e8 Fix multi-condition syntax 2024-03-25 10:57:02 -04:00
Joshua M. Boniface
38e7696394 Remove interpolation
Make these consistent since that seems to work based on other examples.
2024-03-25 10:35:09 -04:00
Joshua M. Boniface
b77a9e98c2 Add openapi.json upload to new repo server 2024-03-25 10:33:37 -04:00
Cody Robibero
5437936bb9 Check all tags for allow/block (#11206) 2024-03-25 07:15:24 -06:00
Nyanmisaka
775815d09c Fix sar->dar typo in #11185 (#11210) 2024-03-25 05:36:18 -06:00
gnattu
b1870792b1 fix: use Metal tonemap instead of OpenCL (#11198) 2024-03-24 08:20:05 -06:00
gnattu
cf16110a56 fix: map encoder preset to quality setting for VideoToolbox (#11205) 2024-03-24 08:19:48 -06:00
Bond-009
f544219c50 Merge pull request #11203 from nyanmisaka/fix-ActualOutputVideoCodec
Fix codec vs ActualOutputVideoCodec
2024-03-24 01:05:48 +01:00
nyanmisaka
bf2ef63922 Fix codec vs ActualOutputVideoCodec
codec is copy
ActualOutputVideoCodec is hevc

fixes 3bbb57e

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-24 06:45:43 +08:00
vedant
3bbb57eb83 Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
gnattu
564fdfec93 fix: use a more recent UA (#11199) 2024-03-23 07:08:49 -06:00
Cody Robibero
d9e35a969f Add default auth policy to generated openapi spec (#11181) 2024-03-22 21:00:21 -06:00
Gary Wang
c16135800c feat(i18n): transliterate item name before sorting (#11172) 2024-03-22 20:59:59 -06:00
Bond-009
2596305542 Merge pull request #11196 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.9
2024-03-22 13:24:27 +01:00
renovate[bot]
3246e27e9d chore(deps): update github/codeql-action action to v3.24.9 2024-03-22 11:41:38 +00:00
Bas
a3994556cd Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2024-03-20 06:15:34 -04:00
Bond-009
4068a17f2e Merge pull request #11187 from jellyfin/renovate/ci-deps
chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.4
2024-03-20 10:24:25 +01:00
gnattu
bf285a572d fix: make sure the dimension is divisible by two for zscale (#11185) 2024-03-19 15:42:45 -06:00
renovate[bot]
83af12fbec chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.4 2024-03-19 21:15:24 +00:00
Joshua M. Boniface
7a2c3b0710 Merge pull request #11184 from joshuaboniface/bump_version
Convert bump_version to bumper only
2024-03-19 17:14:44 -04:00
Joshua M. Boniface
f58b7159ef Convert bump_version to bumper only
Remove changelog generation as this is no longer present.
2024-03-19 11:42:41 -04:00
Claus Vium
eae031ae5a refactor: use Channels as queueing mechanism for periodic websocket messages (#11092) 2024-03-18 13:55:18 -06:00
Joshua M. Boniface
1271e60532 Merge pull request #11177 from jellyfin/bump_version
Restore bump_version script
2024-03-18 12:32:02 -04:00
Joshua M. Boniface
5f7976e1cb Correct permissions to 755 2024-03-18 12:31:04 -04:00
Cody Robibero
31fb380c07 restore bump_version 2024-03-18 10:22:25 -06:00
Claus Vium
239727e896 fix: skip library folders that are inaccessible or empty (#9291) 2024-03-18 09:09:00 -06:00
renovate[bot]
7c141b9709 Update dotnet monorepo (#11145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:08:38 -06:00
renovate[bot]
e2887457fd Update github/codeql-action action to v3.24.8 (#11175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:02:34 -06:00
Cody Robibero
78b53a60b4 Remove legacy build utilities (#11162) 2024-03-18 10:42:07 -04:00
scampower3
4bcabbde7b Fixes 'replace missing metadata' overwrites existing metadata that does exist (#11136) 2024-03-18 08:39:30 -06:00
renovate[bot]
2d1cf803d3 Pin dependencies (#11174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-18 08:39:06 -06:00
Bas
e1761d3863 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2024-03-18 10:38:03 -04:00
kimboslice99
350f17b59a IIS Hosting (#11120) 2024-03-18 08:37:23 -06:00
Cody Robibero
833bc06eb4 Merge pull request #11161 from nyanmisaka/fix-segment-deletion
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-18 08:37:02 -06:00
felix920506
bd1060b306 Add a github action to automatically precheck new issues for problems (#11154)
* Delete media playback template

* Revert "Delete media playback template"

This reverts commit c1eaf13c73.

* Delete .github/ISSUE_TEMPLATE/media_playback.md

* Add check issue script as GHA action

* change token to use JF bot

Co-authored-by: Cody Robibero <cody@robibe.ro>

* Upstream into Jellyfin org and update repo link

* Changes to accomodate multi script repo

* accept suggestion

Co-authored-by: Cody Robibero <cody@robibe.ro>

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-18 02:01:03 -04:00
Bond-009
f44ec318d6 Merge pull request #11163 from robert-hamilton36/lyrics
Add lyric files to supported extensions
2024-03-17 18:07:34 +01:00
Bond-009
adb08c0aaa Merge pull request #11149 from Bond-009/nullable4
Enable nullable for more files
2024-03-17 18:00:10 +01:00
Bond-009
8070aabe1b Merge pull request #11165 from vessd/transcoding-exception
Catch delete encoded media file exceptions
2024-03-17 17:38:42 +01:00
btopherjohnson
9a40a67c60 Add ability to enable/disable libraries (#11037)
Co-authored-by: Bond-009 <bond.009@outlook.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-17 09:50:48 -06:00
nyanmisaka
9b35b4e8f2 Clean the outdated ffmpeg test data and add 6.1.1
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 22:08:05 +08:00
nyanmisaka
ae7c0c83e9 Bump the required minimum ffmpeg version to 4.4
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 21:30:42 +08:00
nyanmisaka
557b8f0c78 Apply suggestions from code review
Drop the unnecessary initial capacity from the list.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 20:45:00 +08:00
nyanmisaka
a3ba974b7b Fix the trailing whitespace
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 20:44:42 +08:00
Nyanmisaka
98debe4817 Apply suggestions from code review
String interpolation is preferred.

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-17 20:34:18 +08:00
nyanmisaka
47a77974b8 Apply suggestions from code review
Drop excludeFilePaths and lower the log level to debug to avoid
spamming in the log file.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 17:17:47 +08:00
Bond-009
b6d130ae2d Merge pull request #11155 from sel10ut/bugfix/fix-releasedate-tag
Fix parsing of audio PremiereDate property
2024-03-16 16:43:59 +01:00
Bond-009
1424723a75 Merge pull request #11156 from sel10ut/bugfix/fix-audio-title
Change parsing logic of audio track title
2024-03-16 16:43:16 +01:00
Bond-009
50b40437b6 Merge pull request #11160 from 1337joe/add-to-whitelist
Add LSR/CITY to artist whitelist
2024-03-16 16:42:56 +01:00
nyanmisaka
50541aea91 Apply suggestions from code review
Add excludeFilePaths to skip segment files in which IOException occurred.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 22:09:31 +08:00
Sergey Veselkov
78643b4b2a Catch delete file exceptions 2024-03-16 09:56:06 +03:00
BalHaise
e2dac35ef2 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2024-03-15 23:06:05 -04:00
nyanmisaka
39b953e41c Set input readrate for using SegmentDeletion with stream-copy
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
55fd6b5cb9 Add sanity check for ThrottleDelaySeconds
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
eca9bf41bc Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletion
FFmpeg deletes segments based on its own transcoding progress,
but we need to delete segments based on client download progress.
Since disk and GPU speeds vary, using hlsenc's built-in deletion
will result in premature deletion of some segments. As a consequence,
the server has to constantly respin new ffmpeg instances, resulting
in choppy video playback.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
robert-hamilton36
2234b5bec6 add lyric files to supportedExtensions 2024-03-16 12:14:29 +13:00
renovate[bot]
62e75ed888 chore(deps): update dependency svg.skia to v1.0.0.16 (#11158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 14:22:51 -06:00
renovate[bot]
f57212137d chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.3 (#11157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 14:22:40 -06:00
Cody Robibero
db151de1a4 Merge pull request #11159 from standstaff/master 2024-03-15 14:22:28 -06:00
Joe Rogers
4f7a341c14 Add LSR/CITY to artist whitelist 2024-03-15 14:05:38 -04:00
Claus Vium
1e964c9bc2 Merge pull request #11127 from crobibero/skia-blurhash
Don't attempt to calculate blurhash for svg
2024-03-15 13:26:27 +01:00
standstaff
64b7f0f721 chore: remove repetitive words
Signed-off-by: standstaff <zhengxingru@yeah.net>
2024-03-15 17:08:03 +08:00
sel10ut
368a1b385a fix: fallback to TagLib date parsing if ffprobe fails
Bring back hardcoded PremiereDate with correctly parsed year from TagLib, if ffprobe cannot get it
2024-03-15 01:37:11 +03:00
Bond-009
231daa38dd Merge pull request #11150 from jellyfin/renovate/bdinfo-0.x
chore(deps): update dependency bdinfo to v0.8.0
2024-03-14 12:08:48 +01:00
sel10ut
e9caa65eba fix: change parsing of audio title tag 2024-03-14 13:25:04 +03:00
sel10ut
1236bb298c fix: correct parsing of audio release date property
Read full date from ffmpeg probe.
2024-03-14 12:54:53 +03:00
renovate[bot]
b50f90eb50 chore(deps): update dependency bdinfo to v0.8.0 2024-03-13 14:48:28 +00:00
Bond_009
651681c276 Enable nullable for more files 2024-03-13 14:56:51 +01:00
Bond-009
fab3151679 Merge pull request #11142 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.7
2024-03-13 11:15:34 +01:00
Bond-009
19cb6b135a Merge pull request #11148 from jellyfin/renovate/coverlet.collector-6.x
chore(deps): update dependency coverlet.collector to v6.0.2
2024-03-13 11:15:10 +01:00
renovate[bot]
da871cae6e chore(deps): update dependency coverlet.collector to v6.0.2 2024-03-13 00:14:23 +00:00
Cody Robibero
d13a700481 Calculate blurhash for svg 2024-03-12 18:08:09 -06:00
renovate[bot]
4e29aab029 chore(deps): update github/codeql-action action to v3.24.7 2024-03-12 22:21:42 +00:00
Bond-009
9db093b9d9 Merge pull request #11124 from PeachesMLG/directory-path-logging
Added logging for where config logs and cache directories are stored
2024-03-11 18:41:18 +01:00
Bond-009
59c3622562 Merge pull request #11138 from jellyfin/renovate/tmdblib-2.x
chore(deps): update dependency tmdblib to v2.2.0
2024-03-11 17:01:52 +01:00
renovate[bot]
4f76f17e95 chore(deps): update dependency tmdblib to v2.2.0 2024-03-11 03:21:02 +00:00
Peaches_MLG
b9c93938d9 Update Jellyfin.Server/Helpers/StartupHelpers.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-03-09 21:27:41 +00:00
Bond-009
9dbef98a15 Merge pull request #11129 from crobibero/extract-concat
Specify file as concat when extracting attachments
2024-03-09 21:18:06 +01:00
Bond-009
d910c78fe5 Merge pull request #11126 from crobibero/lowercase-protocol
Lowercase MediaStreamProtocol for backwards compatibility
2024-03-09 21:17:10 +01:00
Bond-009
ededaa95b4 Merge pull request #11119 from PeachesMLG/cleanup-emby-photos
Cleanup PhotoProvider.cs using new .NET 8 features
2024-03-09 21:14:28 +01:00
Cody Robibero
a92de9b2e3 Merge pull request #11014 from gnattu/vf-videotoolbox 2024-03-09 09:19:36 -07:00
gnattu
0909ee7208 fix: convert all non-yuv420 inputs to nv12
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 15:16:00 +08:00
gnattu
e6dee627e3 fix: force a pixel format for 10-bit inputs
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 14:22:27 +08:00
Joshua M. Boniface
e439031a87 Merge pull request #11121 from joshuaboniface/disable-azure-ci
Remove Azure pipelines CI
2024-03-08 22:04:25 -05:00
gnattu
d10ad6c383 fix: no need to check filters prematurely
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 11:02:53 +08:00
Cody Robibero
814fc6864d Specify file as concat when extracting attachments 2024-03-08 18:10:31 -07:00
Cody Robibero
e731250342 Lowercase MediaStreamProtocol for backwards compatibility 2024-03-08 15:29:22 -07:00
gnattu
2f66871040 fix: also check if we are doing scaling
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:37:27 +08:00
Peaches_MLG
d77aa6c234 Added logging for where config logs and cache directories are stored 2024-03-08 15:36:48 +00:00
gnattu
f31549cc0d fix: code clean up
Co-authored-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:23:24 +08:00
Joshua M. Boniface
61e43057ab Remove Azure pipelines CI
Obsoleted by jellyfin-packaging and GitHub Actions CI.

Goodnight sweet prince.
2024-03-07 23:17:34 -05:00
Peaches_MLG
de750ac8a2 Cleanup PhotoProvider.cs using new .NET 8 features 2024-03-07 19:19:00 +00:00
Gurmeet Athwal
a597f1e410 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2024-03-07 03:59:14 -05:00
Cody Robibero
86b77de522 Don't decode animated images 2024-03-04 17:06:38 -07:00
Niels van Velzen
407cf5d0bf Add MediaStreamProtocol enum (#10153)
* Add MediaStreamProtocol enum

* Add default handling for enum during deserialization

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-04 16:44:54 -07:00
Joshua M. Boniface
83d2bc3f9f Merge pull request #11100 from crobibero/plugin-repo-10.9
Add migration for new plugin repo
2024-03-03 16:58:44 -05:00
Cody Robibero
6e5ec99ea1 Move userId in API from route to optional query parameter (#11074)
* Move userId in API from route to optional query parameter

* Standardize UserViewsController

* Move userId to query in ImageController

* Move userId to query in ItemsController

* Move userId to query in PlaystateController

* Move userId to query in SuggestionsController

* Move userId from route to query in UserLibraryController

* Clean up routes

* Move userId to query in UserController

* fix bad merge

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-03-03 13:51:31 -07:00
Attila Szakacs
8d40d431e8 Extract and cache all media attachments in bulk (#11029)
Similar to https://github.com/jellyfin/jellyfin/pull/10884

---

Jellyfin clients need fonts for subtitles, and each font is a separate
attachment, which causes a lot of re-reads of the file. Certain contents,
like anime in a lot of cases, contain 50-80 different attachments.

Spawning 80 ffmpeg processes at the same time on the same file might
cause swapping on slower HDDs and can bring disk subsystem to a crawl.

(For more info, see https://github.com/jellyfin/jellyfin/3215)

This change helps a lot in this scenario.

Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-03-03 13:33:54 -07:00
Cody Robibero
f7f3ad9eb7 Precache livetv program images (#11083)
* Precache livetv program images

* return if cache hit

* use EnsureSuccessStatusCode

* Read proper bytes
2024-03-03 13:32:55 -07:00
Cody Robibero
afacd8d025 Add migration for new plugin repo 2024-03-03 13:32:21 -07:00
Bond-009
3bd1a5c557 Merge pull request #11077 from crobibero/svg-to-image
Add support for converting from svg to other image types
2024-03-03 07:59:22 -05:00
Bond-009
35df0486f5 Merge pull request #11081 from crobibero/embedded-lyrics
Save embedded lyrics when probing audio
2024-03-03 07:52:23 -05:00
Bond-009
714a350913 Merge pull request #11093 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-4.x
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.3
2024-03-02 17:12:40 -05:00
renovate[bot]
61b7b4f1c9 chore(deps): update actions/download-artifact action to v4.1.4 (#11086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-02 13:29:47 -07:00
renovate[bot]
fca21134d0 chore(deps): update dependency svg.skia to v1.0.0.14 (#11090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-02 13:29:31 -07:00
renovate[bot]
706649ce4e chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.3 2024-03-02 19:53:32 +00:00
Cody Robibero
c47bfb99bb Use ArgumentException 2024-03-01 17:12:50 -07:00
Bond-009
5a4aff36c1 Merge pull request #11079 from crobibero/bdinfo-codec
Always use ffmpeg codec for bluray
2024-03-01 10:25:11 -05:00
Bond-009
c460681f76 Merge pull request #11046 from dmitrylyzo/fix-streambuilder-test
Collect candidate audio streams if no audio index is specified
2024-03-01 10:17:22 -05:00
Bond-009
56421df621 Merge pull request #11082 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.6
2024-03-01 10:15:43 -05:00
renovate[bot]
487e12ab59 chore(deps): update github/codeql-action action to v3.24.6 2024-02-29 18:09:28 +00:00
gnattu
a30dc81b28 fix: stack overflow
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 09:03:00 +08:00
Cody Robibero
c8d93d9352 Return backdrops with text as thumb for tmdb (#11078) 2024-02-28 17:39:31 -07:00
Cody Robibero
a8a9f66878 standardize docs 2024-02-28 17:39:09 -07:00
Cody Robibero
169e0dcb11 Save embedded lyrics when probing audio 2024-02-28 17:34:33 -07:00
Cody Robibero
ac33d1593a oops 2024-02-28 17:34:06 -07:00
Cody Robibero
806e8795ff Merge pull request #10691 from bhowe34/bhowe34/fix-replace-missing-metadata-for-music
fix replace missing metadata for music
2024-02-28 17:20:20 -07:00
Cody Robibero
5a652360c3 Update AudioFileProber.cs 2024-02-28 17:18:52 -07:00
Cody Robibero
ddf8f7d636 Update AudioFileProber.cs 2024-02-28 17:12:05 -07:00
Cody Robibero
f3c333f4d5 Merge branch 'master' into bhowe34/fix-replace-missing-metadata-for-music 2024-02-28 17:09:23 -07:00
gnattu
ec896a901c fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 05:37:31 +08:00
Cody Robibero
c603cd2e4e Always use ffmpeg codec for bluray 2024-02-28 14:10:44 -07:00
Cody Robibero
c5e723bccd Add support for converting from svg to other image types 2024-02-28 09:56:02 -07:00
gnattu
1cb7264f0d feat: fully support videotoolbox hardware filters
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-28 17:56:59 +08:00
Brian Howe
54eb81395e Merge branch 'master' into bhowe34/fix-replace-missing-metadata-for-music 2024-02-27 21:07:30 -06:00
Bond-009
4f0f364ac9 Merge pull request #11069 from jellyfin/renovate/ci-deps
chore(deps): update actions/download-artifact action to v4.1.3
2024-02-27 10:11:39 +01:00
Bond-009
e0e7a435b5 Merge pull request #11068 from crobibero/route-params
Rename route parameters that are id to be more descriptive
2024-02-27 10:10:20 +01:00
renovate[bot]
4ba1da09e2 chore(deps): update actions/download-artifact action to v4.1.3 2024-02-26 23:08:21 +00:00
Cody Robibero
2e0e1ecc99 Rename route parameters that are id to be more descriptive 2024-02-26 15:57:59 -07:00
Cody Robibero
0bc41c015f Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
felix920506
59f50ae8b2 Remove "Media Playback" option from new issues (#11033) 2024-02-25 19:25:37 -07:00
Bond-009
c72bd8a092 Merge pull request #11054 from barronpm/livetv-mediasourceprovider
LiveTV MediaSourceProvider refactor
2024-02-25 22:01:28 +01:00
Bond-009
43b1e12166 Merge pull request #11053 from jellyfin/renovate/ci-deps
chore(deps): update ci dependencies
2024-02-25 21:56:32 +01:00
Bond-009
c61f6945d0 Merge pull request #11064 from Shadowghost/bdmv-fixes
Do not dispose the ffmpeg process
2024-02-25 20:41:11 +01:00
Shadowghost
36f298e417 Do not dispose the ffmpeg process 2024-02-25 17:24:54 +01:00
Claus Vium
321e9fb0b5 Merge pull request #11055 from crobibero/activitylog-download
Add item id to download activity
2024-02-25 08:55:47 +01:00
renovate[bot]
f0722e2235 chore(deps): update ci dependencies 2024-02-24 22:25:46 +00:00
Cody Robibero
a1bb23e98f Add item id to download activity 2024-02-23 09:02:11 -07:00
Patrick Barron
b5a3c71b3a Move media source code from LiveTvManager to LiveTvMediaSourceProvider 2024-02-23 09:57:55 -05:00
Patrick Barron
3b341c06db Move TimerInfo start time logic out of RecordingHelper 2024-02-23 09:57:55 -05:00
Patrick Barron
cac7ff84ca Rename EmbyTV to DefaultLiveTvService 2024-02-23 09:57:55 -05:00
Patrick Barron
fa6d859a51 Rename LiveTvHost to RecordingsHost and move to recordings folder 2024-02-23 09:57:55 -05:00
Patrick Barron
3beb10747f Move GetNfoConfiguration to LiveTvConfigurationExtensions 2024-02-23 09:57:55 -05:00
Patrick Barron
31f285480a Move RecordingNotifier to recordings folder 2024-02-23 09:57:55 -05:00
Patrick Barron
d96fec2330 Move RecordingHelper to recordings folder 2024-02-23 09:57:55 -05:00
Bond-009
714a83a74c Merge pull request #11048 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.4
2024-02-23 10:15:33 +01:00
Bond-009
2e381bdde2 Merge pull request #11024 from nielsvanvelzen/api-userid-optional
Always make userId query parameter optional
2024-02-22 14:11:32 +01:00
Bond-009
f5c55c832f Merge pull request #11028 from nielsvanvelzen/api-userid-optional2
Make userId optional in GetProgramsDto
2024-02-22 14:10:34 +01:00
renovate[bot]
81f3220ddd chore(deps): update github/codeql-action action to v3.24.4 2024-02-22 12:08:27 +00:00
Dmitry Lyzo
e1ba9c0f42 test: drop default flag from second audio track
To test more general situation.
Add another HEVC test file with old logic.
2024-02-22 09:38:13 +03:00
Dmitry Lyzo
47b583456a test: collect candidate audio streams if no audio index is specified
To be consistent with the logic of StreamBuilder.
2024-02-22 09:37:59 +03:00
Cody Robibero
ca21a80c95 Merge pull request #11045 from barronpm/livetv-recordingsmanager
LiveTV Recordings Refactor
2024-02-21 14:24:50 -07:00
Bond-009
1dfaa171a9 Merge pull request #10934 from dkacperski97/session-shuffle-mode
Add PlaybackOrder to Session state
2024-02-21 19:56:07 +01:00
Patrick Barron
170b8b2550 Use WaitForExitAsync instead of Exited for recording cleanup 2024-02-21 11:23:53 -05:00
Patrick Barron
0370167b8d Add IRecordingsManager service 2024-02-21 09:42:14 -05:00
Patrick Barron
7baf2d6c6b Add RecordingsMetadataManager service 2024-02-21 09:42:14 -05:00
Patrick Barron
ca1a8ced48 Move IO code to separate folder 2024-02-21 09:42:14 -05:00
Patrick Barron
e13ccfe854 Move timer services to separate folder 2024-02-21 09:42:14 -05:00
Patrick Barron
dfe82a7472 Use DI for timer managers 2024-02-21 09:42:14 -05:00
renovate[bot]
ef96b5fa20 chore(deps): update dependency coverlet.collector to v6.0.1 (#11039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 10:01:15 +01:00
renovate[bot]
08b830ae71 chore(deps): update dotnet monorepo to v8.0.2 (#11004)
* chore(deps): update dotnet monorepo to v8.0.2

* update sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-02-20 15:23:09 -07:00
renovate[bot]
9880446b7b chore(deps): update xunit-dotnet monorepo (#11016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 14:42:16 -07:00
renovate[bot]
0325df5732 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.2 (#11038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 21:19:47 +01:00
Cody Robibero
31715c6b8a Merge pull request #10981 from barronpm/livetv-listingsmanager
Add IListingsManager Service
2024-02-20 10:44:46 -08:00
renovate[bot]
84639948c7 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.1 (#11035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 10:49:55 -07:00
Nyanmisaka
aa3aaa94fe Fix the preproc filters for dvbsub burn-in (#11034)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-20 10:49:39 -07:00
Niels van Velzen
fd957ec7f4 Make userId optional in GetProgramsDto 2024-02-18 13:18:16 +01:00
Niels van Velzen
5b93aec2f5 Always make userId query parameter optional 2024-02-17 14:29:34 +01:00
gearoidkeane
4d93f06732 Translated using Weblate (Irish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ga/
2024-02-16 16:37:08 -05:00
Robert Lützner
2bd85df383 Add missing MIME types for comicbook formats (#11010)
* Correct MIME types for comicbook file extensions

cb7, cba, cbr, cbt and cbz all refer to different types of digital
comicbooks. The last letter of the extension indicates the compression
algorithm that was used: 7zip, arc, rar, tar or zip.

All these filetypes used to have the `application/x-cbr` MIME type
assigned to them. However, that has since been deprecated and was
replaced with

- `application/vnd.comicbook-rar` for rar compressed files and
- `application/vnd.comicbook+zip` for rar compressed files.

Only these two are officially listed by IANA

https://www.iana.org/assignments/media-types/application/vnd.comicbook+zip

. cbr and cbz are by far the most common file extensions for comicbooks.

There's no official MIME type for cb7, cba or cbt files. However, with
rar being a proprietary compression algorithm, FOSS applications will
often refuse to handle files that identify themselves as
`application/x-cbr`, so I decided to assign extension specific MIME
types to them. I've seen these being used by other applications,
specifically comic book readers.

I've read through the docs on iana.org, but haven't figured out why they
chose `-rar`, but `+zip`.

* Add conversions from MIME type to file extensions for comicbook formats

cb7, cba, cbr, cbt and cbz all refer to different types of digital
comicbooks. The last letter of the extension indicates the compression
algorithm that was used: 7zip, arc, rar, tar or zip.

All these filetypes used to have the `application/x-cbr` MIME type
assigned to them. However, that has since been deprecated and was
replaced with

- `application/vnd.comicbook-rar` for rar compressed files and
- `application/vnd.comicbook+zip` for rar compressed files.

Only these two are officially listed by IANA

https://www.iana.org/assignments/media-types/application/vnd.comicbook+zip

. cbr and cbz are by far the most common file extensions for comicbooks.

There's no official MIME type for cb7, cba or cbt files. However, with
rar being a proprietary compression algorithm, FOSS applications will
often refuse to handle files that identify themselves as
`application/x-cbr`, so I decided to assign extension specific MIME
types to them. I've seen these being used by other applications,
specifically comic book readers.

* Update CONTRIBUTORS.md
2024-02-15 23:15:14 +01:00
gearoidkeane
6c1025f2cd Added translation using Weblate (Irish) 2024-02-15 15:47:48 -05:00
gnattu
21bf557145 fix: use hardware videotoolbox filter even only scale is available
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:43:40 +08:00
gnattu
0a8560f64a fix: use hardware filter option name explicitly
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:30:12 +08:00
gnattu
2f3e5cfa06 fix: correctly set the supported formats of videotoolbox tone mapping
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:08:17 +08:00
gnattu
0a4457dd68 fix: typo
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:18:19 +08:00
gnattu
5c743f2b4d feat: separate videotoolbox tone mapping option
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:16:59 +08:00
gnattu
cf3e3e2c3d fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:22:32 +08:00
Bond-009
733e50fab1 Merge pull request #11013 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.3
2024-02-15 16:04:58 +01:00
gnattu
c18ef13b3b feat: add tone mapping for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:00:51 +08:00
renovate[bot]
9c78cafe70 chore(deps): update github/codeql-action action to v3.24.3 2024-02-15 13:58:17 +00:00
gnattu
44cb9f5fdd feat: add hw scale filter for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 21:52:41 +08:00
Bond-009
03ef9aebfd Merge pull request #11000 from nicknsy/tiles-playlist-fix
Fix tiles playlist not using relative paths
2024-02-14 11:27:20 +01:00
Bond-009
0bf1c10c44 Merge pull request #10990 from Shadowghost/bdmv-fixes
BDMV fixes
2024-02-14 11:24:35 +01:00
Bond-009
c7d986fb43 Merge pull request #11005 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.1
2024-02-14 11:22:33 +01:00
renovate[bot]
3e24ec68d3 chore(deps): update github/codeql-action action to v3.24.1 2024-02-13 15:39:26 +00:00
mikikuzmanoski
749209ce6c Translated using Weblate (Macedonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mk/
2024-02-13 07:21:18 -05:00
Nick
ac906a04e2 Fix tiles playlist not using relative paths 2024-02-12 09:30:47 -08:00
sleepycatcoding
f359d2e5ec Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2024-02-12 10:30:40 -05:00
Dmitry Lyzo
0dde8c0808 Make the bitrate of the fallback stream the same as the original (#9121) 2024-02-12 07:36:54 -07:00
Nyanmisaka
64ce3c8411 Add icon for Jellyfin Windows build (#10997)
Add icon to make it easier for Windows users to recognize.

This requires dotnet 8 or newer.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-12 07:34:35 -07:00
Dmitry Lyzo
07b9c85f14 test: discard webm from test mkvs if there is an unsupported codec (#10999)
To comply 39088b5ad2, ba877283a1
2024-02-12 07:34:26 -07:00
felix920506
3cf0070287 Escape subtitle extraction input path (#10992) 2024-02-10 22:51:09 -07:00
felix920506
aaa9345a53 Correct m4b mimetype (#10980) 2024-02-10 21:39:30 -07:00
Bond-009
3f9b8bafec Merge pull request #10994 from jellyfin/renovate/idisposableanalyzers-4.x
Update dependency IDisposableAnalyzers to v4.0.7
2024-02-11 01:00:38 +01:00
renovate[bot]
2d1164066a Update dependency IDisposableAnalyzers to v4.0.7 2024-02-10 23:26:45 +00:00
Bond-009
f888ee3dfc Merge pull request #10772 from dmitrylyzo/normalize-mkv-webm
Discard WebM if there is an unsupported codec
2024-02-11 00:26:19 +01:00
Shadowghost
9230472056 Fix file extension based on container 2024-02-10 16:57:10 +01:00
Shadowghost
7baa261b22 DVD and BDMV folders can not be served directly 2024-02-10 16:56:21 +01:00
Shadowghost
52c79c050b Order files before creating concat config 2024-02-10 16:53:38 +01:00
Shadowghost
f34c56282d Use concat config for BDMV/DVD folder attachment extraction 2024-02-10 16:52:21 +01:00
Anthony Lavado
ebf1154930 Merge pull request #10946 from felix920506/fix-issue-template-2
Update issue report.yml
2024-02-10 09:27:02 -05:00
Damian Kacperski
59a9586dbd Add PlaybackOrder to Session state 2024-02-09 20:41:32 +01:00
Patrick Barron
3bdaf640ec Remove unnecessary JSON roundtrip in SaveListingProvider 2024-02-08 15:28:36 -05:00
Patrick Barron
1c11c460b9 Use ValueTuple in GetListingsProviders 2024-02-08 15:27:42 -05:00
Patrick Barron
1a24d26dac Move EpgChannelData to Listings folder 2024-02-08 15:20:48 -05:00
Patrick Barron
42b052a5a6 Add IListingsManager service 2024-02-08 15:20:46 -05:00
Cody Robibero
20f05f8103 Merge pull request #10847 from barronpm/schedulesdirect-fix
SchedulesDirect fix
2024-02-08 08:17:08 -07:00
Cody Robibero
5ad7e4b749 Merge pull request #10976 from barronpm/ihostedservice
Replace IServerEntryPoint with IHostedService
2024-02-08 08:16:57 -07:00
Bond-009
e50170a417 Merge pull request #10973 from nielsvanvelzen/api-dep-fixes
Fix some incompatible API deprecations
2024-02-07 19:32:17 +01:00
Patrick Barron
19a72e8bf2 Remove IServerEntryPoint 2024-02-07 10:52:36 -05:00
Patrick Barron
4c7eca9313 Use IHostApplicationLifetime to start library monitor 2024-02-07 10:52:36 -05:00
Patrick Barron
c9311c9e7e Use IHostedService for Live TV 2024-02-07 10:52:36 -05:00
Patrick Barron
690e603b90 Use IHostedService for NFO user data 2024-02-07 10:52:36 -05:00
Patrick Barron
24b4d02596 Convert RecordingNotifier to IHostedService 2024-02-07 10:52:36 -05:00
Patrick Barron
9e62b6919f Convert UserDataChangeNotifier to IHostedService 2024-02-07 10:52:36 -05:00
Patrick Barron
4e02d8aa21 Convert LibraryChangedNotifier to IHostedService 2024-02-07 10:52:36 -05:00
Patrick Barron
d986a824cd Use IHostedService for device access management 2024-02-07 10:52:36 -05:00
Patrick Barron
99ea6059c7 Use IHostedService for UPnP port forwarding 2024-02-07 10:52:36 -05:00
Bond-009
143ef71528 Merge pull request #10969 from barronpm/progress-cleanup
Progress cleanup
2024-02-07 16:24:36 +01:00
Bond-009
7e5c5eaff8 Merge pull request #10965 from nyanmisaka/videocodectag-equals-any
Add EqualsAny for VideoCodecTag condition
2024-02-07 16:24:22 +01:00
Bond-009
7ceeecd2cb Merge pull request #10972 from jellyfin/renovate/vstest-monorepo
chore(deps): update dependency microsoft.net.test.sdk to v17.9.0
2024-02-07 01:21:32 +01:00
Niels van Velzen
be29b4a0c4 Fix some incompatible API deprecations 2024-02-06 22:23:31 +01:00
Bond-009
470a32c8f8 Merge pull request #10968 from nyanmisaka/correct-hlg
Correct VIDEO-RANGE field for HLG content
2024-02-06 20:13:55 +01:00
Bond-009
3036bb69eb Merge pull request #10967 from jellyfin/renovate/ci-deps
chore(deps): update ci dependencies
2024-02-06 20:13:26 +01:00
renovate[bot]
056712efe5 chore(deps): update dependency microsoft.net.test.sdk to v17.9.0 2024-02-06 18:20:29 +00:00
Patrick Barron
505c09c85b Fix tests 2024-02-06 12:21:52 -05:00
Patrick Barron
6d8062116c Remove some unused model code 2024-02-06 10:15:29 -05:00
Patrick Barron
4dd2ed8fb7 Remove some unused drawing code 2024-02-06 10:11:47 -05:00
Patrick Barron
a54c08209e Remove some unused media encoding code 2024-02-06 10:06:39 -05:00
Patrick Barron
0960438065 Remove ActionableProgress 2024-02-06 09:58:25 -05:00
Patrick Barron
8698b90594 Remove SimpleProgress 2024-02-06 09:50:46 -05:00
Patrick Barron
584636bdd8 Don't dispose HttpClients 2024-02-06 09:37:02 -05:00
nyanmisaka
5cc451992b Correct VIDEO-RANGE field for HLG content
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-06 20:36:15 +08:00
Soumendra kumar sahoo
34a89fdefd Translated using Weblate (Odia)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/or/
2024-02-06 06:10:18 -05:00
renovate[bot]
ff467e3309 chore(deps): update ci dependencies 2024-02-05 22:58:13 +00:00
nyanmisaka
be265cd87f Add EqualsAny for VideoCodecTag condition
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-05 23:41:43 +08:00
Bond-009
83a478c448 Merge pull request #10956 from beakerandjake/GetLogFile-return-404
Fix InvalidOperationException if log file not found
2024-02-05 16:11:18 +01:00
Bond-009
c372c7440f Merge pull request #10955 from jellyfin/renovate/ci-deps
chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.1
2024-02-05 16:10:54 +01:00
felix920506
a166723074 Update issue report.yml 2024-02-05 01:13:06 -05:00
beakerandjake
d82d025b24 Add unit test for log file not found 2024-02-03 19:10:08 -07:00
renovate[bot]
b4d11c8d89 chore(deps): update danielpalme/reportgenerator-github-action action to v5.2.1 2024-02-03 22:26:42 +00:00
beakerandjake
918b627472 Return 404 if log file does not exist 2024-02-03 14:25:44 -07:00
Jake
a32fe89dad Update README to include default web client urls (#10949)
* Update README to include default web client url

* Update README to include default web client and swagger doc urls
2024-02-03 08:25:38 -07:00
Cody Robibero
ccfc85af11 Merge pull request #10951 from barronpm/livetv-di
Live TV DI
2024-02-03 08:25:25 -07:00
Claus Vium
1e955c4347 Merge pull request #10801 from MarkCiliaVincenti/AsyncKeyedLock-migration
AsyncKeyedLock migration
2024-02-03 09:44:28 +01:00
Mark Cilia Vincenti
dba043ef48 Fixed merge problem 2024-02-03 08:52:26 +01:00
Mark Cilia Vincenti
46b5e9a5f9 Merge branch 'AsyncKeyedLock-migration' of https://github.com/MarkCiliaVincenti/jellyfin into AsyncKeyedLock-migration 2024-02-03 08:45:33 +01:00
Mark Cilia Vincenti
f26fc7dfb2 Merge changes 2024-02-03 08:45:14 +01:00
Jarvis
e4f715bbee Added translation using Weblate (Kyrgyz) 2024-02-03 00:26:53 -05:00
Patrick Barron
34269dee58 Use DI for ILiveTvService 2024-02-02 20:13:24 -05:00
Patrick Barron
775b7eadef Kill circular dependency between LiveTvManager and EmbyTV 2024-02-02 20:13:24 -05:00
Patrick Barron
efd024bafe Use DI for IListingsProvider 2024-02-02 20:13:24 -05:00
Cody Robibero
81cf4b6c50 Merge pull request #10884 from alltilla/extract-all-subtitles
Extract all subtitle streams simultaneously
2024-02-02 17:00:01 -07:00
Cody Robibero
64b0c82d68 Merge pull request #10870 from MaVdbussche/fix-trailers_urls
Fix NFO parser to be able to read corrct STRM URL format
2024-02-02 16:58:08 -07:00
Cody Robibero
bf4c3bb1e4 Merge pull request #10878 from barronpm/livetv-guidemanager
Add IGuideManager service
2024-02-02 16:57:54 -07:00
Bond-009
9ae7fbd554 Merge pull request #10948 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.24.0
2024-02-02 22:48:12 +01:00
renovate[bot]
5a66741963 chore(deps): update github/codeql-action action to v3.24.0 2024-02-02 20:19:22 +00:00
felix920506
7f14c14bf6 Update issue report.yml 2024-02-01 20:29:06 -05:00
Cody Robibero
b425b2350f Merge pull request #10888 from JPVenson/feature/ghcs_ffmpegversion
Feature/ghcs ffmpegversion
2024-02-01 16:23:18 -07:00
Bond-009
a2fdec4363 Merge pull request #10881 from TelepathicWalrus/fix-livetv-delay
Fix long live tv load times, Fixes #10761
2024-02-01 21:08:21 +01:00
Cody Robibero
f4d553877c Merge pull request #10748 from nyanmisaka/rockchip-rkmpp-hwa
Add full HWA transcoding pipeline for Rockchip RKMPP
2024-02-01 06:47:12 -07:00
nyanmisaka
e62dab627e Add full HWA transcoding pipeline for RKMPP
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
nyanmisaka
52da00c3c7 Register RKMPP HW codecs and filters
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
nyanmisaka
d423efd2ea Add a new HWA type RKMPP
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
Bond-009
2ea75ea62f Merge pull request #10931 from jellyfin/renovate/blurhashsharp.skiasharp-1.x 2024-02-01 11:29:46 +01:00
TelepathicWalrus
7d6a03bad6 Change nested try catch to using statement 2024-02-01 07:14:25 +00:00
renovate[bot]
e45a2f7e10 chore(deps): update dependency blurhashsharp.skiasharp to v1.3.2 2024-01-31 23:14:55 +00:00
Bond-009
792d67f307 Merge pull request #10930 from jellyfin/renovate/blurhashsharp-1.x
chore(deps): update dependency blurhashsharp to v1.3.2
2024-01-31 21:03:06 +01:00
Attila Szakacs
ce81e2aeab Add alltilla to CONTRIBUTORS.md
Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-01-31 19:18:38 +01:00
LesDomen
fd116e7616 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2024-01-30 05:30:35 -05:00
renovate[bot]
a3fb24233c chore(deps): update dependency blurhashsharp to v1.3.2 2024-01-30 00:17:06 +00:00
Cody Robibero
59048f2ed2 Merge pull request #10924 from nyanmisaka/fix-subs-dar-and-framerate
Fixed some issues in PGSSUB and ASS subtitle burn-in
2024-01-29 06:40:21 -07:00
antti202
73a9bd1ae5 Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2024-01-29 01:30:35 -05:00
hoanghuy309
2b03927e0e Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2024-01-29 01:30:35 -05:00
azam
d9b911ce7f Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2024-01-29 01:30:35 -05:00
Bond-009
2dc671dc58 Merge pull request #10918 from jellyfin/renovate/svg.skia-1.x
chore(deps): update dependency svg.skia to v1.0.0.13
2024-01-28 17:15:48 +01:00
renovate[bot]
b943d629a1 chore(deps): update dependency svg.skia to v1.0.0.13 2024-01-28 13:55:01 +00:00
nyanmisaka
92c0ec0c1b Use video framerate for ASS subtitle HW burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
nyanmisaka
9323390add Fix the display aspect ratio of PGSSUB subtitle burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
Mark Cilia Vincenti
3fa86a4559 Merge branch 'jellyfin:master' into AsyncKeyedLock-migration 2024-01-27 21:31:12 +01:00
Bond-009
054f42332d Merge pull request #10915 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.23.2
2024-01-26 19:35:40 +01:00
Bond-009
7a91245bef Merge pull request #10912 from jellyfin/renovate/peter-evans-find-comment-3.x
chore(deps): update peter-evans/find-comment action to v3
2024-01-26 16:03:47 +01:00
Bond-009
a6cc7a3c11 Merge pull request #10911 from jellyfin/renovate/peter-evans-create-or-update-comment-4.x
chore(deps): update peter-evans/create-or-update-comment action to v4
2024-01-26 16:03:30 +01:00
renovate[bot]
2d68e0b7e7 chore(deps): update github/codeql-action action to v3.23.2 2024-01-26 14:56:37 +00:00
Patrick Barron
604f4b2742 Log SchedulesDirect response on request error 2024-01-25 09:33:06 -05:00
renovate[bot]
d1a2981383 chore(deps): update peter-evans/find-comment action to v3 2024-01-25 12:09:55 +00:00
renovate[bot]
47ba39062f chore(deps): update peter-evans/create-or-update-comment action to v4 2024-01-25 12:09:48 +00:00
Bond-009
4786901bb7 Merge pull request #10906 from jellyfin/renovate/ci-deps
chore(deps): update actions/upload-artifact action to v4.3.0
2024-01-24 14:37:45 +01:00
Bond-009
b2b6f9cff1 Merge pull request #10908 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-4.x
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.0
2024-01-24 14:37:27 +01:00
renovate[bot]
989a80e052 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.2.0 2024-01-24 10:21:05 +00:00
renovate[bot]
e2b2399ea6 chore(deps): update actions/upload-artifact action to v4.3.0 2024-01-23 20:05:50 +00:00
Mark Cilia Vincenti
179965e774 Bump AsyncKeyedLock to 6.3.4; performance improvement 2024-01-23 12:11:13 +01:00
Mustafa
0cf477b4fe Translated using Weblate (Urdu)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur/
2024-01-22 16:30:31 -05:00
TelepathicWalrus
1d235205ae Log IOException 2024-01-22 17:43:35 +00:00
Mustafa
7027bc00fc Added translation using Weblate (Urdu) 2024-01-21 15:49:18 -05:00
Gauvino
30ab5d5e81 Fix action building (#10899)
* Fix action building

* Added required package
2024-01-21 10:55:01 -07:00
Zoe
5e375888fc Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2024-01-20 16:30:32 -05:00
hulkhaugen
1ff2369228 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2024-01-20 16:30:32 -05:00
Bond-009
f6ed1845b0 Merge pull request #10882 from crobibero/devops-nuget
Use NuGetAuthenticate@1
2024-01-20 19:03:16 +01:00
Bond-009
ee81b1866c Merge pull request #10886 from jellyfin/renovate/ci-deps
chore(deps): update actions/upload-artifact action to v4.2.0
2024-01-20 19:02:29 +01:00
Bond-009
349d00eea1 Merge pull request #10891 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-4.x
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.1.2
2024-01-20 19:02:20 +01:00
Bond-009
c64615c355 Merge pull request #10895 from jellyfin/renovate/metabrainz.musicbrainz-6.x
chore(deps): update dependency metabrainz.musicbrainz to v6.1.0
2024-01-20 19:01:17 +01:00
renovate[bot]
94e3fed3c9 chore(deps): update dependency metabrainz.musicbrainz to v6.1.0 2024-01-20 16:23:51 +00:00
TelepathicWalrus
538f141b4c Update error handling 2024-01-19 17:25:57 +00:00
jonathan1jansson
9f94526009 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2024-01-19 09:30:32 -05:00
JPVenson
38bf59d6e8 Update .vscode/launch.json
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2024-01-19 12:25:39 +01:00
renovate[bot]
04a063aa8d chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.1.2 2024-01-19 10:50:28 +00:00
Bond-009
c722d7d1fb Merge pull request #10889 from jellyfin/renovate/serilog.aspnetcore-8.x
chore(deps): update dependency serilog.aspnetcore to v8.0.1
2024-01-19 11:49:53 +01:00
JPVenson
202305143d Update README.md 2024-01-19 07:39:04 +01:00
JPVenson
6ef110b008 Updated to using jf repro 2024-01-19 06:02:39 +00:00
JPVenson
8de70e3814 Added documentation 2024-01-19 06:02:24 +00:00
renovate[bot]
67b6c4f136 chore(deps): update dependency serilog.aspnetcore to v8.0.1 2024-01-19 04:33:45 +00:00
JPVenson
23c7770683 Fixed ffmpeg version
updated lauch with ffmpeg
2024-01-19 00:48:03 +00:00
JPVenson
21ae7a1317 Added ffmpeg version to build 2024-01-18 23:11:22 +00:00
renovate[bot]
879ac12d43 chore(deps): update actions/upload-artifact action to v4.2.0 2024-01-18 21:00:58 +00:00
Martin Vandenbussche
e0cafe418c Merge branch 'master' into fix-trailers_urls 2024-01-18 18:38:41 +01:00
Attila Szakacs
8fea819b51 Extract all subtitle streams simultaneously
Extracting a subtitle stream is a disk I/O bottlenecked operation as
ffmpeg has to read through the whole file, but usually there is nothing
CPU intensive to do.

If a file has multiple subtitle streams, and we want to extract more
of them, extracting them one-by-one results in reading the whole file
again and again.

However ffmpeg can extract multiple streams at once.

We can optimize this by extracting the subtitle streams all at once
when only one of them gets queried, then we will have all of them
cached for later use.

It is useful for people switching subtitles during playback.

It is even more useful for people who extract all the subtitle streams
in advance, for example with the "Subtitle Extract" plugin.
In this case we reduce the extraction time significantly based on the
number of subtitle streams in the files, which can be 5-10 in many
cases.

Signed-off-by: Attila Szakacs <szakacs.attila96@gmail.com>
2024-01-18 17:29:45 +01:00
Dmitry Lyzo
ba877283a1 fix: add av1 to webm
At least AV1 in WebM is supported by Chrome and Firefox.
2024-01-18 08:01:06 +03:00
Cody Robibero
2fa50cceef Use NuGetAuthenticate@1 2024-01-17 18:21:20 -07:00
Gauvino
a884b1f786 Refactor Dockerfile and build (#10603)
* Fix fedora

* Fix RID Linux

* Fix package and image versions

* Fix buildling and optimize docker images
```

* Removed find obj

* Changed curl command and added gpg

* Added to Contributors

* Removed apt-transport-https package

* Removed RASPI

* Update Intel drivers version

* Update Dockerfile for CentOS, Fedora, and portable deployments

 - Changed Jammy docker image to Built-in Jammy Microsoft .NET SDK image
 - Switched from using "Yum" to "Dnf" for CentOS and Fedora
 - Added "dnf clean all" and "rm -rf /var/cache/dnf" to the end of CentOS and Fedora Dockerfiles
 - Added "apt-get clean", "apt-get autoremove", "rm -rf /var/lib/apt/lists/*" to the end of the Debian/Ubuntu Dockerfiles
 - Added ${DOTNET_VERSION} in every Dockerfile except CentOS/Fedora
 - Removed previous warning comment for dotnet publish build in parallel
 - Arranged package installation

* Re-arranged Dockerfile package installation

* Re-align

* Remove curl

* Remove curl
2024-01-17 18:11:03 -07:00
renovate[bot]
4962eb5b43 chore(deps): update github/codeql-action action to v3.23.1 (#10880)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 17:48:56 -07:00
TelepathicWalrus
08592fb3fe Add ex to catch if cached mediainfo doesnt exist 2024-01-17 19:36:14 +00:00
Patrick Barron
f0a9639c17 Remove pointless code 2024-01-17 12:14:28 -05:00
Patrick Barron
75c2de110e Remove useless comment 2024-01-17 12:12:24 -05:00
Patrick Barron
5d3acd43e9 Use collection expression 2024-01-17 12:10:42 -05:00
Patrick Barron
502cbe77b2 Use Math.Clamp in GetGuideDays 2024-01-17 12:10:14 -05:00
Patrick Barron
4399b51dca Merge branch 'master' into livetv-guidemanager
# Conflicts:
#	src/Jellyfin.LiveTv/LiveTvManager.cs
2024-01-17 12:08:01 -05:00
Cody Robibero
e7b8d45bbb Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Martin Vandenbussche
27ab3ef029 Removing unnecessary array initialization 2024-01-17 16:46:04 +01:00
Patrick Barron
3e32f94fb3 Move RefreshGuideScheduledTask to Guide folder 2024-01-17 09:57:38 -05:00
Patrick Barron
59c2ae944d Add IGuideManager service 2024-01-17 09:52:11 -05:00
Bond-009
484ccf7f28 Merge pull request #10858 from barronpm/livetv-tunerhostmanager
Add ITunerHostManager service and minor LiveTv cleanup
2024-01-17 15:42:37 +01:00
Bond-009
0f26d870de Merge pull request #10876 from Bond-009/cleanup
Fix incorrect path check in CleanupCollectionAndPlaylistPathsTask
2024-01-16 22:34:59 +01:00
Bond_009
244a739675 Fix incorrect path check in CleanupCollectionAndPlaylistPathsTask 2024-01-16 20:24:28 +01:00
Nick
bf57faff65 Translated using Weblate (Georgian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ka/
2024-01-16 11:25:24 -05:00
SuperDumbTM
d4ca845a26 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2024-01-16 11:25:24 -05:00
Martin Vandenbussche
9ff9c8f0c7 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-01-16 08:50:39 +01:00
renovate[bot]
021bfd1ecd chore(deps): update dependency svg.skia to v1.0.0.10 (#10480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 13:34:18 -07:00
renovate[bot]
fa9b1d5f65 chore(deps): update dependency diacritics to v3.3.27 (#10862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 13:33:28 -07:00
renovate[bot]
70feba6540 chore(deps): update dependency xunit to v2.6.6 (#10867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 13:33:08 -07:00
Patrick Barron
c101d287f2 Remove unused Live TV code 2024-01-15 13:29:55 -05:00
Martin Vandenbussche
c03f5ca6c3 Updating CONTRIBUTORS.md 2024-01-15 16:23:15 +01:00
Martin Vandenbussche
7cd60aefb5 Adding support for proper trailer STRM URL format, along with the deprecated format 2024-01-15 16:19:47 +01:00
Patrick Barron
c23a038ba8 Remove unnecessary allocations in TunerHostManager 2024-01-15 09:37:03 -05:00
Mark Cilia Vincenti
ebedb06e40 Bump AsyncKeyedLock to 6.3.3 2024-01-14 21:53:15 +01:00
JPVenson
3ce16713dd Fixed disposable not being called (#10613)
* Fixed disposable not being called

* PulledUp usage of IAsyncDisposable for sessioninfo

Co-authored-by: Patrick Barron <barronpm@gmail.com>
2024-01-14 16:50:09 +01:00
Mark Cilia Vincenti
cc42f4430f Update MediaEncoder.cs 2024-01-14 14:16:20 +01:00
Mark Cilia Vincenti
7998e15839 Update MediaEncoder.cs 2024-01-14 14:13:17 +01:00
Mark Cilia Vincenti
420ce6a4fa Fixed issue 2024-01-14 13:45:02 +01:00
Mark Cilia Vincenti
e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Mark Cilia Vincenti
6a257e1b40 Merge branch 'master' into AsyncKeyedLock-migration 2024-01-14 11:45:19 +01:00
SuperDumbTM
d40224128c Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2024-01-13 05:30:30 -05:00
Patrick Barron
9c2c066e6f Add ITunerHostManager service 2024-01-12 21:17:09 -05:00
Patrick Barron
449365182c Move LiveTV service registration to extension method 2024-01-12 19:18:18 -05:00
Patrick Barron
063168fc1c Move LiveTvConfigurationFactory to Configuration folder 2024-01-12 18:38:23 -05:00
Patrick Barron
ad51f4f95d Add LiveTv configuration extension 2024-01-12 18:37:14 -05:00
Bond-009
93e5135391 Merge pull request #10854 from jellyfin/renovate/ci-deps
chore(deps): update actions/upload-artifact action to v4.1.0
2024-01-12 22:37:10 +01:00
renovate[bot]
a9e0fb0322 chore(deps): update actions/upload-artifact action to v4.1.0 2024-01-12 20:17:54 +00:00
Patrick Barron
f87a5490ad Fix disposable analyzer warnings in SchedulesDirect 2024-01-12 11:35:34 -05:00
Patrick Barron
bbce1beb1d Don't re-use HttpRequestMessage on re-try in SchedulesDirect 2024-01-12 11:35:34 -05:00
Cody Robibero
82df226246 Merge pull request #10838 from barronpm/livetv-project
Move Live TV code to Jellyfin.LiveTv
2024-01-12 09:27:47 -07:00
Patrick Barron
68fd9c469f Remove DLNA-specific DeviceProfile code (#10850)
* Remove DLNA-specific methods from DeviceProfile

* Remove DLNA-specific fields from DeviceProfile

* Remove unused DLNA models
2024-01-12 09:24:32 -07:00
renovate[bot]
ad2f38ba0b chore(deps): update skiasharp monorepo (#10849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 09:22:17 -07:00
Bond-009
b96ca4a775 Merge pull request #10845 from jellyfin/renovate/ci-deps
chore(deps): update actions/download-artifact action to v4.1.1
2024-01-12 15:40:12 +01:00
renovate[bot]
61f99dfffb chore(deps): update actions/download-artifact action to v4.1.1 2024-01-10 19:50:14 +00:00
Achim Walz
56eea08176 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2024-01-10 13:30:28 -05:00
Bond-009
faccf26ab9 Merge pull request #10836 from jellyfin/renovate/dotnet-monorepo
chore(deps): update dotnet monorepo to v8.0.1
2024-01-09 23:02:11 +01:00
Patrick Barron
41de6d1741 Move StreamHelper to LiveTv project 2024-01-09 11:57:55 -05:00
renovate[bot]
c8e979cdd6 chore(deps): update dotnet monorepo to v8.0.1 2024-01-09 16:46:30 +00:00
Patrick Barron
c964ea23bf Move RecordingNotifier to LiveTv project 2024-01-09 10:16:58 -05:00
Patrick Barron
126aa9c893 Move channels to LiveTv project 2024-01-09 10:16:58 -05:00
Patrick Barron
c1a3084312 Move LiveTv to separate project 2024-01-09 10:16:56 -05:00
Patrick Barron
7eba162879 Move LiveTv tests to separate project 2024-01-09 09:47:07 -05:00
Patrick Barron
051fa04a80 Move GetRecordingStreamMediaSources to IMediaSourceManager 2024-01-09 09:47:07 -05:00
Dmitry Lyzo
366a22da71 test: add webm test 2024-01-09 10:40:21 +03:00
Dmitry Lyzo
39088b5ad2 fix: discard webm if there is an unsupported codec 2024-01-09 10:39:31 +03:00
Vasyl Belynets
2f1b7d0988 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-01-08 16:30:28 -05:00
Andrejs
a152b71b25 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2024-01-08 16:30:28 -05:00
Kent
08d773d119 Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2024-01-08 16:30:28 -05:00
renovate[bot]
fa03ed4f56 chore(deps): update github/codeql-action action to v3.23.0 (#10832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 10:11:08 -07:00
Bond-009
89a0739d98 Merge pull request #10823 from crobibero/date-time-utc
Specify DateTimeKind when pulling a DateTime out of the database
2024-01-07 13:44:04 +01:00
Bond-009
71ae715b3b Merge pull request #10822 from crobibero/service-unavailable
Respond with Service Unavailable if not in correct network
2024-01-07 13:39:26 +01:00
Cody Robibero
fa0413d6e4 Use StatusCodes which is already an int 2024-01-06 15:24:17 -07:00
Cody Robibero
f2b01f66e8 Specify DateTimeKind when pulling a DateTime out of the database 2024-01-06 15:01:54 -07:00
Cody Robibero
adb0837dc2 Respond with Service Unavailable if not in correct network 2024-01-06 14:43:19 -07:00
Mohamed Akram
f49de51225 Detect audio spatial format (#9996)
* Detect audio spatial format

* Update MediaBrowser.Model/Entities/MediaStream.cs

* Update MediaStream.cs

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-01-06 14:11:08 -07:00
TelepathicWalrus
7b5c41c2a5 Add option to use replaygain tags for audio (#10566)
* Add option to use replaygain tags for audio

* Change regex to be specific

* Use ffprobe for faster metadata grabs

* Change regex to .Match
2024-01-06 13:59:56 -07:00
Dave Senn
615089228a Add nuget.config file to fix NU1507 by only allowing nuget.org as package source. see: https://learn.microsoft.com/en-us/nuget/consume-packages/package-source-mapping and https://github.com/dotnet/sdk/issues/25379 (#10396) 2024-01-06 13:44:10 -07:00
Patrick Barron
04dddd3a7b Remove UserManager Cache (#10781)
* Remove redundant user cache

* Use DI for IPasswordResetProvider and IAuthenticationProvider
2024-01-06 13:43:48 -07:00
JPVenson
5ff7c17daf Feature/enable gh codespaces (#10324)
* Added BindAll network Manager

* Updated docs

* Update ApplicationHost.cs

resolved merge conflicts

* Fixed merge issues

* Updated Dev container to dotnet

* Update Emby.Server.Implementations/ApplicationHost.cs

Co-authored-by: Cody Robibero <cody@robibe.ro>

* Updates container to include dependencies

* Resolved merge conflicts

* Updated container config to automate setup more

* Updated readme

* Enabled auto loading of extensions

* fixed recommended list not parsable

* Removed obsolete code

* Reverted change to virtualize GetAllBindInterfaces

* Updated Readme

* Update devcontainer.json

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-01-06 13:35:15 -07:00
Patrick Barron
43b32b0d94 Auto Discovery Cleanup (#10793)
* Call GetSmartApiUrl directly in UdpServer.RespondToV2Message

GetSmartApiUrl already returns PublishedServerUrl if set.

* Rewrite auto discovery using UdpClient and BackgroundService

* Respect network address settings in AutoDiscoveryHost

* Always listen on broadcast address in Linux for auto-discovery

* Await udp server tasks in AutoDiscoveryHost

* Only bind to broadcast addresses for IPv4

* Only bind to broadcast if IPv4 is enabled
2024-01-06 13:34:09 -07:00
Patrick Barron
82f93afa22 Fix More Live TV Warnings (#10818)
* Fix CA1819 in LiveTvManager

* Call ConfigureAwait in ChannelManager
2024-01-06 13:33:58 -07:00
Niels van Velzen
55916a09eb Remove some unused client capabilities and sync code (#10812) 2024-01-06 13:33:48 -07:00
Bond-009
084df5a943 Merge pull request #10814 from jellyfin/renovate/xunit-dotnet-monorepo 2024-01-06 10:35:03 +01:00
Bond-009
1a09dbedf4 Merge pull request #10816 from jellyfin/renovate/playlistsnet-1.x 2024-01-06 10:33:07 +01:00
George Salukvadze
f6b865f03a Translated using Weblate (Georgian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ka/
2024-01-05 09:51:18 -05:00
newton181
ef955818bf Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2024-01-05 09:51:18 -05:00
Vasyl Belynets
a45a8e34a7 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2024-01-05 09:51:18 -05:00
renovate[bot]
6046512a4f chore(deps): update dependency playlistsnet to v1.4.1 2024-01-05 12:45:10 +00:00
renovate[bot]
a23ead735a chore(deps): update dependency xunit to v2.6.5 2024-01-05 07:39:13 +00:00
renovate[bot]
b39dc1eb01 chore(deps): update prometheus-net monorepo to v8.2.1 (#10804)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 16:46:57 -07:00
Nyanmisaka
aa71129cff Use -noauto{scale,rotate} for disabling auto filters (#10810)
`-auto{scale,rotate} 0` has been dropped in upstream FFmpeg.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-04 16:31:45 -07:00
Lukáš Kucharczyk
29b559089c Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2024-01-04 12:30:27 -05:00
Bond-009
8c83a359a2 Merge pull request #10805 from jellyfin/renovate/ci-deps
chore(deps): update alex-page/github-project-automation-plus action to v0.9.0
2024-01-04 13:57:53 +01:00
renovate[bot]
47cdfd7966 chore(deps): update alex-page/github-project-automation-plus action to v0.9.0 2024-01-03 23:01:22 +00:00
Mark Cilia Vincenti
d1677dc680 AsyncKeyedLock migration 2024-01-03 16:47:25 +01:00
Dr Ajay Divvela
9fb6742400 Translated using Weblate (Telugu)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/te/
2024-01-02 22:30:26 -05:00
Bond-009
3c286209c2 Merge pull request #10792 from jellyfin/renovate/metabrainz.musicbrainz-6.x
chore(deps): update dependency metabrainz.musicbrainz to v6
2024-01-02 14:02:52 +01:00
bene toffix
e9361d47c0 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2024-01-01 13:30:25 -05:00
renovate[bot]
71e028155c chore(deps): update dependency metabrainz.musicbrainz to v6 2024-01-01 16:30:15 +00:00
Bond-009
85137be027 Merge pull request #10788 from Bond-009/codecov
Fix broken code coverage
2024-01-01 15:54:01 +01:00
Bond_009
19fa91bfa3 SkipAutoProps is true by default but set it explicitly 2023-12-31 15:24:23 +01:00
Bond_009
909d31c837 Fix broken code coverage 2023-12-31 15:05:19 +01:00
Bond-009
98177b8649 Merge pull request #10758 from barronpm/transcode-manager
Add ITranscodeManager
2023-12-29 15:39:59 +01:00
Sergey
260fe6890c Translated using Weblate (Armenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hy/
2023-12-28 10:30:25 -05:00
queeup
131db9b380 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-12-28 10:30:24 -05:00
Bond-009
919c5c26ef Merge pull request #10737 from 1337joe/tmdb-plugin-fix
Make TMDb api key configurable, fix missing/wrong image urls
2023-12-28 15:48:02 +01:00
Bond-009
830978b6bc Merge pull request #10765 from st3v3nmw/fix-somalia-display-name
Fix Somalia's display name
2023-12-28 15:46:08 +01:00
Sergey
0c9b1f1ebf Translated using Weblate (Armenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hy/
2023-12-24 16:30:22 -05:00
Sergey
a3a0711545 Added translation using Weblate (Armenian) 2023-12-23 16:06:12 -05:00
Bond-009
1cff5aef63 Merge pull request #10764 from jellyfin/renovate/xunit-dotnet-monorepo
chore(deps): update xunit-dotnet monorepo
2023-12-23 13:21:57 +01:00
Stephen Mwangi
c41ecba2cd Fix Somalia's display name 2023-12-23 07:49:22 +03:00
renovate[bot]
836c2032fc chore(deps): update xunit-dotnet monorepo 2023-12-23 01:52:09 +00:00
Bond-009
f8ca7876f3 Merge pull request #10759 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v3.22.12
2023-12-22 23:39:23 +01:00
Bond-009
28464d5ef9 Merge pull request #10757 from dmitrylyzo/test-streambuilder
Fix StreamBuilder tests
2023-12-22 20:15:27 +01:00
renovate[bot]
9fdbb71a50 chore(deps): update github/codeql-action action to v3.22.12 2023-12-22 01:50:13 +00:00
Peyman M
0ca263a142 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2023-12-21 20:30:23 -05:00
Patrick Barron
c49539cbe0 Move ProgressiveFileStream to Controller 2023-12-21 12:53:50 -05:00
Patrick Barron
9215a4d40a Add ITranscodeManager service 2023-12-21 12:53:50 -05:00
Patrick Barron
c2081955c8 Rename and clean up TranscodingJob 2023-12-21 12:53:50 -05:00
Patrick Barron
abd74fd5a4 Move TranscodingJobDto and TranscodingThrottler to Controller 2023-12-21 12:53:49 -05:00
Bond-009
d10cca6917 Merge pull request #10752 from jellyfin/renovate/stylecop.analyzers-1.x
chore(deps): update dependency stylecop.analyzers to v1.2.0-beta.556
2023-12-21 10:53:01 +01:00
Dmitry Lyzo
ca280279da test: add more audio tests 2023-12-21 12:45:02 +03:00
Dmitry Lyzo
8c29fa422a test: fix tizen profile 2023-12-21 12:43:07 +03:00
Dmitry Lyzo
d92f2ac31c test: fix remux tests
This partially reverts commit 2d8f7b46f1
2023-12-21 12:38:58 +03:00
renovate[bot]
a42951c0a8 chore(deps): update dependency stylecop.analyzers to v1.2.0-beta.556 2023-12-21 00:29:35 +00:00
Bond-009
f8010550f2 Merge pull request #10745 from jellyfin/renovate/ci-deps 2023-12-19 09:57:05 +01:00
Bond-009
a1463c37fa Merge pull request #10604 from jellyfin/renovate/xunit-dotnet-monorepo 2023-12-19 09:56:24 +01:00
renovate[bot]
05bc894ae8 chore(deps): update actions/download-artifact action to v4.1.0 2023-12-19 00:26:16 +00:00
Bond-009
053c3392f4 Merge pull request #10682 from barronpm/livetv-warnings
Fix some warnings in LiveTV
2023-12-18 23:21:45 +01:00
Bond-009
f039de033a Merge pull request #10672 from Erotemic/fix_bash_install_paths
Quote bash paths to prevent word splitting
2023-12-18 23:21:35 +01:00
Bond_009
7bf831da62 Fix tests 2023-12-18 22:02:31 +01:00
renovate[bot]
12df192a31 chore(deps): update xunit-dotnet monorepo 2023-12-18 20:14:50 +00:00
Bond-009
135cd68778 Merge pull request #10705 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-4.x
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.1.1
2023-12-18 21:13:42 +01:00
Bond-009
21374775e5 Merge pull request #10422 from scampower3/api-update
Update /Device endpoint to return CustomName
2023-12-18 21:06:30 +01:00
Bond-009
ce45b73c8b Merge pull request #10702 from crobibero/collection-type-lowercase
Convert CollectionType to use lowercase enum names
2023-12-18 19:38:44 +01:00
Lars Eichler
660165cd2f Added translation using Weblate (Abkhazian) 2023-12-18 10:46:12 -05:00
Joe Rogers
e91de654d7 Stop saving Jellyfin API key in settings xml 2023-12-17 22:14:11 -05:00
Bond-009
430bfcee47 Merge pull request #10738 from 1337joe/action-full-version 2023-12-17 09:36:28 +01:00
Joe Rogers
49cc4d1dab Add full version tags for consistency with other files 2023-12-17 00:12:11 -05:00
Joe Rogers
f7479bc730 Fix missing posters in collection identify 2023-12-16 23:28:50 -05:00
Joe Rogers
c8da8eefe0 Add api key to configuration 2023-12-16 23:24:23 -05:00
queeup
f7122d2180 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-12-16 15:30:20 -05:00
Joshua M. Boniface
3bf0e6c819 Merge pull request #10736 from jellyfin/nvv-ci-openapi
Remove OpenAPI artifact upload from test workflow
2023-12-16 13:11:44 -05:00
Niels van Velzen
73d42980fc Remove OpenAPI artifact upload from test workflow 2023-12-16 13:04:41 +01:00
Niels van Velzen
5569ab8b2d Only upload OpenAPI artifacts for ubuntu-latest tests 2023-12-16 13:01:13 +01:00
Claus Vium
6ea4c44906 Merge pull request #10727 from jellyfin/renovate/actions-upload-artifact-4.x
chore(deps): update actions/upload-artifact action to v4
2023-12-16 12:34:34 +01:00
Bond-009
24cbd64450 Merge pull request #10573 from arabcoders/master
Add new API endpoint to view/update Item UserData
2023-12-15 18:00:50 +01:00
Bond-009
804b89d922 Merge pull request #10726 from jellyfin/renovate/actions-download-artifact-4.x
chore(deps): update actions/download-artifact action to v4
2023-12-15 09:52:58 +01:00
renovate[bot]
41e24681af chore(deps): update actions/upload-artifact action to v4 2023-12-14 21:08:30 +00:00
renovate[bot]
a917f034e4 chore(deps): update actions/download-artifact action to v4 2023-12-14 21:08:25 +00:00
Radical
b52d2fbee5 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2023-12-14 06:30:20 -05:00
Bond-009
e3fb856445 Merge pull request #10721 from jellyfin/renovate/github-codeql-action-3.x
chore(deps): update github/codeql-action action to v3
2023-12-13 18:17:59 +01:00
renovate[bot]
026941dea3 chore(deps): update github/codeql-action action to v3 2023-12-13 16:37:58 +00:00
Claus Vium
676464a135 Merge pull request #10710 from jkhsjdhjs/fix/subtitle_overlay_eof_action
Use `eof_action=pass` when overlaying subtitles
2023-12-13 13:50:32 +01:00
jkhsjdhjs
547d97d602 Use eof_action=pass when overlaying subtitles
The previous behavior using `eof_action=endall` and `shortest=1` would
end the video stream if one of the input stream (video, subtitle) ends.
In some cases the duration of the overlayed subtitles is shorter than the
video stream, causing the output to end when the subtitles end and dropping
the remaining video stream.

This commit changes this behavior so `eof_action=pass` is used instead,
which continues passing the video stream through even if the subtitles end
earlier [1]. `shortest=1` is also removed, as this option implies
`eof_action=endall`.

If the subtitle stream has a higher duration than the video stream, the output
will also end with the video stream without `shortest=1`, as the video stream
is the primary input to the `overlay` filter.

Fix #10698

[1] https://ffmpeg.org/ffmpeg-filters.html#Options-for-filters-with-several-inputs-_0028framesync_0029
2023-12-13 13:11:42 +01:00
Bond-009
ff209d3c99 Merge pull request #10715 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v2.22.10
2023-12-13 10:09:58 +01:00
Jackson Lee
ea7ac143c4 Translated using Weblate (Filipino)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fil/
2023-12-12 14:20:08 -05:00
renovate[bot]
ed8d080604 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.1.1 2023-12-12 17:14:26 +00:00
renovate[bot]
4ae817f8c6 chore(deps): update github/codeql-action action to v2.22.10 2023-12-12 17:14:17 +00:00
Bond-009
e427c665d9 Merge pull request #10695 from jellyfin/renovate/actions-stale-9.x
chore(deps): update actions/stale action to v9
2023-12-11 10:14:09 +01:00
Bond-009
d930ce2676 Merge pull request #10694 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v2.22.9
2023-12-09 15:05:12 +01:00
Cody Robibero
033cfa59c4 Convert CollectionType to use lowercase enum names 2023-12-08 15:45:36 -07:00
renovate[bot]
8abc653c29 chore(deps): update actions/stale action to v9 2023-12-07 13:27:09 +00:00
renovate[bot]
3e5e600dc7 chore(deps): update github/codeql-action action to v2.22.9 2023-12-07 13:27:03 +00:00
Brian Howe
7f1fec688c check ReplaceAllMetadata option and name field lock 2023-12-06 23:55:36 -06:00
GinoGinocchio
ddcd29f17e Update MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-12-06 22:57:11 -06:00
GinoGinocchio
de91a213a1 Update MediaBrowser.Providers/MediaInfo/AudioFileProber.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-12-06 22:57:11 -06:00
GinoGinocchio
81d642abe3 Removing unnecesary empty and null validations 2023-12-06 22:57:11 -06:00
GinoGinocchio
eb41cd51ea Using TryGetProviderId and adding an empty validation 2023-12-06 22:57:11 -06:00
GinoGinocchio
01bbc7d117 Correcting according to the comments provided 2023-12-06 22:57:11 -06:00
GinoGinocchio
d1cc56f78c Fix: "Feature 'replace missing metadata' overwrites existing metadata that does exist" for music 2023-12-06 22:57:11 -06:00
Patrick Barron
0d5bbfda32 Remove unused DLNA models (#10685)
* Remove unused DLNA models

* Remove IDlnaManager
2023-12-06 16:06:42 -07:00
Bond-009
fca345db4a Merge pull request #10681 from jellyfin/renovate/prometheus-net-monorepo
chore(deps): update prometheus-net monorepo to v8.2.0
2023-12-06 10:37:01 +01:00
renovate[bot]
d82fdfc7a2 chore(deps): update prometheus-net monorepo to v8.2.0 2023-12-05 22:51:40 +00:00
Patrick Barron
192559db32 Make ILiveStream an IDisposable 2023-12-05 14:26:35 -05:00
Patrick Barron
669baf98a5 Make IRecorder an IDisposable 2023-12-05 13:35:18 -05:00
Patrick Barron
5c593b120a Don't use List directly in ITunerHost method signatures 2023-12-05 13:35:18 -05:00
Patrick Barron
3ecd68d832 Use ConfigureAwait in SharedHttpStream 2023-12-05 13:35:18 -05:00
Patrick Barron
4ec32b71f5 Use ConfigureAwait in M3uParser 2023-12-05 13:35:18 -05:00
Patrick Barron
42c95da6b0 Use ConfigureAwait in BaseTunerHost 2023-12-05 13:35:18 -05:00
Patrick Barron
7bcfc5e925 Use ConfigureAwait in XmlTvListingsProvider 2023-12-05 13:35:18 -05:00
Patrick Barron
ce6c0ad02b Use ConfigureAwait in DirectRecorder 2023-12-05 13:35:18 -05:00
Patrick Barron
01480c7f20 Fix disposable warnings in EmbyTV 2023-12-05 13:35:18 -05:00
Patrick Barron
f1a5bc955b Use string.Contains in LiveTv 2023-12-05 13:35:18 -05:00
Patrick Barron
67b4cef77a Use implementation types in LiveTv 2023-12-05 13:35:14 -05:00
Bond-009
000ccaa6db Merge pull request #10660 from barronpm/move-networking
Move Jellyfin.Networking
2023-12-05 16:16:19 +01:00
Bond-009
f7d61912a2 Merge pull request #10659 from barronpm/inetworkmanager-nullability
Fix Nullability for INetworkManager.GetBindAddress
2023-12-05 16:10:51 +01:00
Bond-009
ec075a342b Merge pull request #10666 from jellyfin/renovate/tmdblib-2.x
chore(deps): update dependency tmdblib to v2.1.0
2023-12-05 16:10:09 +01:00
Bond-009
d85c6a3401 Merge pull request #10676 from jellyfin/renovate/actions-setup-dotnet-4.x
chore(deps): update actions/setup-dotnet action to v4
2023-12-05 16:09:56 +01:00
renovate[bot]
40534483f5 chore(deps): update actions/setup-dotnet action to v4 2023-12-04 15:55:08 +00:00
Kristopher Roller
e14cc4d919 Translated using Weblate (Basque)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eu/
2023-12-04 10:30:17 -05:00
Kristopher Roller
1cff04ef87 Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2023-12-04 10:30:17 -05:00
Kristopher Roller
9cc631e915 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2023-12-04 10:30:17 -05:00
queeup
ebafff6e5a Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-12-04 10:30:17 -05:00
Kristopher Roller
0b3ec12e94 Translated using Weblate (Alemannic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gsw/
2023-12-04 10:30:16 -05:00
Malthe Heering Surrow
c51519f78d Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2023-12-04 10:30:16 -05:00
Kristopher Roller
cab8138dd9 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2023-12-04 10:30:16 -05:00
Kristopher Roller
ce79adf1cd Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2023-12-04 10:30:16 -05:00
joncrall
59ed6ab8ea Quote bash paths to prevent word splitting 2023-12-03 15:58:26 -05:00
renovate[bot]
085e09014d chore(deps): update dependency tmdblib to v2.1.0 2023-12-03 08:05:54 +00:00
queeup
1d5fbd772a Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-12-01 18:07:07 -05:00
renovate[bot]
7cca71428e chore(deps): update dependency autofixture.automoq to v4.18.1 (#10634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 15:59:20 -07:00
Cody Robibero
7ebb4d3b24 Merge pull request #10649 from felix920506/issue-10610
Make "activeWithinSeconds" independent from "controllableByUserId" parameter
2023-11-30 15:58:56 -07:00
queeup
818b860c21 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-11-30 13:30:16 -05:00
emmanuel billeaud
9ab1af1923 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2023-11-30 13:30:16 -05:00
Patrick Barron
eea676429b Use file-scoped namespaces in Jellyfin.Networking 2023-11-30 12:26:37 -05:00
Patrick Barron
1b821efcf2 Move ExternalPortForwarding to Jellyfin.Networking 2023-11-30 12:23:34 -05:00
Patrick Barron
612edaed7a Fix disposable analyzer issues in ExternalPortForwarding 2023-11-30 12:21:49 -05:00
Patrick Barron
a37bd4e659 Use ObjectDisposedException throw helper in ExternalPortForwarding 2023-11-30 12:07:49 -05:00
Patrick Barron
fc1e27b754 Move SocketFactory to Jellyfin.Networking 2023-11-30 12:03:58 -05:00
Patrick Barron
f1ca1dd7cc Move UdpServerEntryPoint to Jellyfin.Networking 2023-11-30 11:57:09 -05:00
Patrick Barron
57a2267304 Use ObjectDisposedException throw helper in UdpServerEntryPoint 2023-11-30 11:57:09 -05:00
Patrick Barron
9597648ce3 Move Jellyfin.Networking to src 2023-11-30 11:57:07 -05:00
Patrick Barron
ca71ec6a09 Fix nullability for INetworkManager.GetBindAddress 2023-11-30 11:52:48 -05:00
Bond-009
cc276838b4 Merge pull request #10558 from barronpm/dlna-plugin2
Move DLNA to Plugin (Part 2)
2023-11-30 17:40:06 +01:00
Bond-009
cf80ea2541 Merge pull request #10651 from jellyfin/renovate/serilog.sinks.graylog-3.x
chore(deps): update dependency serilog.sinks.graylog to v3.1.1
2023-11-29 16:03:35 +01:00
renovate[bot]
0ae8b9ce0a chore(deps): update dependency serilog.sinks.graylog to v3.1.1 2023-11-29 13:23:58 +00:00
Bond-009
8166a63ea7 Merge pull request #10641 from jellyfin/renovate/serilog.sinks.console-5.x
chore(deps): update dependency serilog.sinks.console to v5.0.1
2023-11-29 12:03:04 +01:00
felix920506
a2bc5a5900 Make "activeWithinSeconds" independent from "controllableByUserId" in GetSessions
Fixes issue #10610
2023-11-29 03:41:30 -05:00
renovate[bot]
e6c018ca33 chore(deps): update dependency serilog.sinks.console to v5.0.1 2023-11-28 23:24:27 +00:00
Bond-009
aaabc58c65 Merge pull request #10636 from jellyfin/renovate/prometheus-net-monorepo
chore(deps): update prometheus-net monorepo to v8.1.1
2023-11-28 16:03:50 +01:00
Bond-009
c726035e49 Merge pull request #10635 from jellyfin/renovate/autofixture.xunit2-4.x
chore(deps): update dependency autofixture.xunit2 to v4.18.1
2023-11-28 16:03:18 +01:00
renovate[bot]
2a67920804 chore(deps): update prometheus-net monorepo to v8.1.1 2023-11-28 14:30:57 +00:00
renovate[bot]
143bfdf203 chore(deps): update dependency autofixture.xunit2 to v4.18.1 2023-11-28 14:30:48 +00:00
Bond-009
f582189ccf Merge pull request #10633 from jellyfin/renovate/autofixture-4.x
chore(deps): update dependency autofixture to v4.18.1
2023-11-28 15:30:14 +01:00
renovate[bot]
e24fb6ff8e chore(deps): update dependency autofixture to v4.18.1 2023-11-28 09:29:40 +00:00
Joshua M. Boniface
2f6536e34b Merge pull request #10625 from ilovepilav/fix-alerts-missing-from-admin-dashboard
Fix: Plugin Installed Alerts missing from Admin Dashboard #10620
2023-11-27 00:18:29 -05:00
Çağrı Sakaoğlu
435c143140 Fix:Plugin Installed Alerts missing from Admin Dashboard #10620 2023-11-26 13:20:31 +00:00
Tushar Joshi
099632f37e Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-11-26 07:32:13 -05:00
leap123
ff682953ab Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2023-11-26 07:32:13 -05:00
queeup
25251efa19 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-11-26 07:32:13 -05:00
Claus Vium
0be2817ccb Merge pull request #10371 from Pithaya/feat/book-persons
Allow persons on books
2023-11-23 23:09:06 +01:00
Claus Vium
f19492c1de Merge pull request #10617 from barronpm/query-improvements
Query Improvements
2023-11-23 22:31:01 +01:00
Abdulmohsen
9d5dc4d71b Merge branch 'jellyfin:master' into master 2023-11-24 00:00:53 +03:00
Bond-009
3d4d33bcba Merge pull request #10619 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v2.22.8
2023-11-23 21:42:38 +01:00
renovate[bot]
87adf7b600 chore(deps): update github/codeql-action action to v2.22.8 2023-11-23 12:40:07 +00:00
ArabCoders
324c86e14d Made key & itemId nullable 2023-11-23 14:37:37 +03:00
Ahmad Mujahid
fd1dc860c9 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2023-11-23 05:30:14 -05:00
ArabCoders
22c90141e7 Made UpdateUserItemDataDto standalone object. 2023-11-23 12:14:31 +03:00
Patrick Barron
ad58d1f77c Use ExecuteDelete for removing API keys 2023-11-22 09:40:49 -05:00
Patrick Barron
c9c133bc43 Use ExecuteDelete for cleaning activity logs 2023-11-22 09:35:35 -05:00
Patrick Barron
6b940e141e Remove unnecessary AsQueryable() 2023-11-22 09:34:14 -05:00
Bond-009
547d8c07b3 Merge pull request #10592 from barronpm/librarychangednotifier-cleanup
LibraryChangedNotifier Cleanup
2023-11-22 12:57:41 +01:00
Atharva Vaidya
2f87158e68 Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mr/
2023-11-21 12:30:12 -05:00
Lucas Fogolin
380c367e49 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2023-11-18 05:13:03 -05:00
Claus Vium
2d2d553bbc Merge pull request #10591 from Bond-009/dotnet82
Use new .NET 8 features
2023-11-17 08:40:34 +01:00
Claus Vium
e7eeb08d34 Merge pull request #10590 from Gauvino/master
Fix action building
2023-11-17 08:40:13 +01:00
Bond-009
9f02771748 Merge pull request #10581 from jellyfin/renovate/major-dotnet-monorepo
chore(deps): update dependency dotnet-ef to v8
2023-11-16 18:20:13 +01:00
Bond-009
ea08de37fe Merge pull request #10595 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v2.22.7
2023-11-16 18:16:09 +01:00
renovate[bot]
9fdac2b01f chore(deps): update github/codeql-action action to v2.22.7 2023-11-16 14:06:29 +00:00
Patrick Barron
e46e3be667 Remove DLNA socket code 2023-11-15 20:54:03 -05:00
Patrick Barron
a8c55ae8fe Remove RSSDP 2023-11-15 20:53:50 -05:00
Patrick Barron
f1aba6b952 Remove Emby.Dlna 2023-11-15 20:53:44 -05:00
Patrick Barron
01fd42cf95 Remove DLNA API code 2023-11-15 20:53:35 -05:00
Patrick Barron
0a03539dc4 Remove DLNA tests 2023-11-15 20:52:44 -05:00
Patrick Barron
4e61c2b4ec Enable nullable in LibraryChangedNotifier 2023-11-15 20:31:07 -05:00
Patrick Barron
0ea9f713f4 Document LibraryChangedNotifier 2023-11-15 20:07:07 -05:00
Patrick Barron
c38bfd281c Use file-scoped namespace 2023-11-15 19:49:15 -05:00
Patrick Barron
7e645dcfc0 Make ILibraryChangedNotifier sealed 2023-11-15 19:48:50 -05:00
Patrick Barron
8f5f0a0310 Combine library item event handlers 2023-11-15 19:39:45 -05:00
Patrick Barron
eb4d8e13df Break up long lines 2023-11-15 19:39:44 -05:00
Patrick Barron
98f8cb2ad0 Use target-typed new for fields 2023-11-15 19:39:44 -05:00
Patrick Barron
8eb2fa53b5 Use pattern matching for EnableRefreshMessage 2023-11-15 19:39:44 -05:00
Uruk
72ba002837 Fix README.md, debian/control, jellyfin.spec
```
2023-11-16 01:12:25 +01:00
renovate[bot]
598beeb5d4 chore(deps): update dependency dotnet-ef to v8 2023-11-15 23:56:14 +00:00
Bond_009
faa22cdb84 Update deps
* Removes SourceLink as it should work automagically with .NET 8
2023-11-16 00:50:48 +01:00
Bond_009
3c3f0a765e Use new IPNetwork.TryParse function 2023-11-16 00:50:17 +01:00
Bond_009
464de13acf Use new static ZipFile functions 2023-11-16 00:49:23 +01:00
Uruk
f3b882d0e2 Fix build and changed debian to bookworm 2023-11-16 00:43:37 +01:00
Cody Robibero
6d1abf67c3 Merge pull request #10463 from jellyfin/dotnet8
Update to .NET 8
2023-11-15 16:35:14 -07:00
Bond_009
5fa1b8ac3a Update more Dockerfiles 2023-11-15 22:21:20 +01:00
Bond_009
5dad89cee3 Update Dockerfiles 2023-11-15 22:06:09 +01:00
Bond_009
05b35dc41f Update Azure pipelines 2023-11-15 16:49:44 +01:00
Bond-009
350df4a617 Merge pull request #10580 from jellyfin/renovate/ci-deps
chore(deps): update github/codeql-action action to v2.22.6
2023-11-15 16:20:38 +01:00
Bond-009
32843b1fd6 Merge pull request #10582 from jellyfin/renovate/danielpalme-reportgenerator-github-action-digest
chore(deps): update danielpalme/reportgenerator-github-action digest to 4d510cb
2023-11-15 16:20:23 +01:00
Bond_009
a1410ea899 Update GitHub workflows 2023-11-15 16:16:51 +01:00
Bond_009
efec6e7a23 Address review comment 2023-11-15 15:22:51 +01:00
ArabCoders
c4013d2e10 Updated the summary and the Dto name. 2023-11-15 13:55:14 +03:00
Bond_009
8ee1525894 Fix runtime errors 2023-11-14 22:01:10 +01:00
Bond_009
635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009
0fd36a5bf1 Fix warnings in test projects 2023-11-14 21:14:23 +01:00
Bond_009
b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Bond_009
99e0d46ad9 Use System.Net.IPNetwork 2023-11-14 21:13:51 +01:00
Bond_009
eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
renovate[bot]
89b1eba249 chore(deps): update danielpalme/reportgenerator-github-action digest to 4d510cb 2023-11-14 20:11:11 +00:00
Bond-009
3ec2d5592e Merge pull request #10574 from barronpm/dlna-plugin3
Move DLNA to Plugin (Part 1 (Part 2))
2023-11-14 21:10:41 +01:00
renovate[bot]
203fe5c103 chore(deps): update github/codeql-action action to v2.22.6 2023-11-14 17:11:01 +00:00
Pithaya
eb2bcc91c5 Merge branch 'master' into feat/book-persons 2023-11-13 18:07:23 +01:00
Radu Terec
ea54623058 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2023-11-13 11:25:52 -05:00
Christo
532f1e844b Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2023-11-13 11:25:52 -05:00
Simas Šimas
a76a9056a2 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2023-11-13 11:25:52 -05:00
ArabCoders
07db2025a1 Refactored the code to not use reflection. 2023-11-13 17:32:24 +03:00
ArabCoders
faa036aa7b Added access validation to view item user data. 2023-11-13 15:55:12 +03:00
ArabCoders
2a25c5a2e3 Refactored api call logic handling. 2023-11-13 15:51:06 +03:00
Patrick Barron
de0241e975 Move API policies to MediaBrowser.Common 2023-11-12 10:24:35 -05:00
Patrick Barron
e463dbda47 Move network configuration to MediaBrowser.Common 2023-11-12 10:24:35 -05:00
Patrick Barron
9595636d61 Move network utilities to MediaBrowser.Common 2023-11-12 10:24:34 -05:00
Patrick Barron
223b156270 Move network constants to MediaBrowser.Common 2023-11-12 10:24:34 -05:00
Bond-009
fc694289a9 Merge pull request #10557 from barronpm/dlna-plugin
Move DLNA to Plugin (Part 1)
2023-11-12 16:23:11 +01:00
ArabCoders
250e795c3b Typo fixes. 2023-11-12 18:12:34 +03:00
ArabCoders
bce22fcc2a Added new API endpoint to update User item data 2023-11-12 17:52:24 +03:00
Bond-009
4288106acd Merge pull request #9762 from crobibero/media-type
Convert string MediaType to enum MediaType
2023-11-12 12:17:46 +01:00
renovate[bot]
88873b6e9e chore(deps): pin dependencies (#10563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 08:34:15 -07:00
DavidFair
9b5930d7d8 Add GH Workflow for CI Tests (#10392)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-11-10 08:12:21 -07:00
Cody Robibero
453c65d619 Fix build after merge 2023-11-10 08:01:39 -07:00
Chris H
3fd505a454 Validate AuthenticationProviderId and PasswordResetProviderId (#10553) 2023-11-10 07:51:44 -07:00
Patrick Barron
b0120d5d4c Fix integration tests 2023-11-10 08:51:26 -05:00
Ruben Teixeira
b1acde54fb Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2023-11-10 07:59:54 -05:00
Simon-Pierre Corriveau
7a98c990ab Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2023-11-10 07:59:54 -05:00
Patrick Barron
1e1e1560a4 Add IServerApplicationHost parameter to IPluginServiceRegistrator 2023-11-10 07:43:46 -05:00
Cody Robibero
892973a9e3 Merge branch 'master' into media-type 2023-11-09 22:03:55 -07:00
Patrick Barron
2b742be38e Use IHostedService for DLNA 2023-11-09 16:16:28 -05:00
renovate[bot]
44b771bfb4 chore(deps): update dependency microsoft.net.test.sdk to v17.8.0 (#10551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 14:00:45 -07:00
Cody Robibero
906f701fa8 Convert CollectionType, SpecialFolderType to enum (#9764)
* Convert CollectionType, SpecialFolderType to enum

* Hide internal enum CollectionType values

* Apply suggestions from code review

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>

* Fix recent change

* Update Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs

Co-authored-by: Patrick Barron <barronpm@gmail.com>

---------

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
Co-authored-by: Patrick Barron <barronpm@gmail.com>
2023-11-09 14:00:29 -07:00
Cody Robibero
c7a94d48ae Convert ItemSortBy to enum (#9765)
* Convert ItemSortBy to enum

* Rename Unknown to Default
2023-11-09 14:00:13 -07:00
Bond-009
21878577be Merge pull request #10556 from jellyfin/renovate/serilog.sinks.console-5.x
chore(deps): update dependency serilog.sinks.console to v5
2023-11-09 18:19:38 +01:00
renovate[bot]
25d46724f2 chore(deps): update dependency serilog.sinks.console to v5 2023-11-09 07:12:38 +00:00
Troja
c2bfa17fcb Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2023-11-08 10:49:49 -05:00
Oskari Lavinto
9a23515719 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2023-11-08 10:49:49 -05:00
Luis Fonseca
c57c5f2022 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2023-11-08 10:49:49 -05:00
salvatore rizzu
de16d18289 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2023-11-08 10:49:49 -05:00
Luka Ilić
d542a3ab62 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2023-11-08 10:49:49 -05:00
Retrial
501d7eed47 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2023-11-08 10:49:49 -05:00
Vesel Karastoyanov
b314b0b267 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2023-11-08 10:49:49 -05:00
Bond-009
6fdbc4bb9c Merge pull request #10544 from justin-sleep/fix-library-scan-segfault
Revert SkiaSharp upgrade, fix library scan crashes
2023-11-08 13:02:13 +01:00
Bond-009
fee172da7e Merge pull request #10501 from methbkts/patch-1
Update link to Jellyfin website
2023-11-08 11:18:21 +01:00
Bond-009
5e48278e2a Merge pull request #10078 from scampower3/master
Combine Title and Overview for multi-episodes files for the TMDB provider
2023-11-08 11:18:12 +01:00
Bond-009
2853a5c047 Merge pull request #10531 from Bond-009/disposable
Add IDisposableAnalyzers to more projects
2023-11-08 11:17:46 +01:00
Justin Sleep
dd6bda30e5 Revert "Update BlurHashSharp"
This reverts commit 5e19459f94.
2023-11-07 22:43:45 -06:00
Justin Sleep
7a3c89087f Revert "Update SkiaSharp to v2.88.5"
This reverts commit 0be06f843b.
2023-11-07 22:43:40 -06:00
Shadowghost
9d4352789d Backport pull request #10454 from jellyfin/release-10.8.z
Add MALLOC_TRIM_THRESHOLD_ to default ENV

Original-merge: 9d565bbb83

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-11-06 15:17:47 -05:00
Bond_009
a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Zan
6392a8037f Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2023-11-04 06:14:06 -04:00
Bond-009
4876db82e6 Merge pull request #10513 from Bond-009/skia2
Update SkiaSharp to v2.88.6
2023-11-03 11:30:23 +01:00
Bond-009
a9016b75a4 Merge pull request #10523 from jellyfin/renovate/xunit-dotnet-monorepo
chore(deps): update dependency xunit to v2.6.1
2023-11-03 11:30:03 +01:00
renovate[bot]
e383cd4cd5 chore(deps): update dependency xunit to v2.6.1 2023-11-02 22:55:42 +00:00
Bond-009
81b912b845 Merge pull request #10519 from s-t-e-v-e-n-k/correct-upcoming-docstring
Correct docstring for /Upcoming
2023-11-02 18:21:37 +01:00
Patrick Mondarte
c0283a40e2 Translated using Weblate (Filipino)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fil/
2023-11-02 08:25:50 -04:00
Tomás Lopes
b40ed87cdc Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2023-11-02 08:25:50 -04:00
INOUE Daisuke
e0adabe318 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2023-11-02 08:25:50 -04:00
felix920506
d964befc48 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2023-11-02 08:25:50 -04:00
Yaron Shahrabani
2549b544a7 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2023-11-02 08:25:50 -04:00
Pit Plumer
58e24fa25b Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2023-11-02 08:25:50 -04:00
Jesse
d168b977c0 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2023-11-02 08:25:50 -04:00
Steve Kowalik
9785b58b85 Correct docstring for /Upcoming
The docstring for /Upcoming looks very similar to /NextUp, also
including the same return value, when it should be slightly different,
correct it.
2023-11-02 22:00:13 +11:00
Bond_009
5e19459f94 Update BlurHashSharp 2023-11-01 23:12:38 +01:00
Bond-009
ac1494c136 Merge pull request #10511 from jellyfin/renovate/metabrainz.musicbrainz-5.x
chore(deps): update dependency metabrainz.musicbrainz to v5.0.1
2023-11-01 22:29:37 +01:00
Bond_009
0be06f843b Update SkiaSharp to v2.88.5 2023-11-01 22:22:41 +01:00
Bond-009
df8c1fe4b4 Merge pull request #10507 from jellyfin/renovate/xunit-dotnet-monorepo
chore(deps): update dependency xunit to v2.6.0
2023-11-01 21:32:14 +01:00
renovate[bot]
66a18bf464 chore(deps): update dependency metabrainz.musicbrainz to v5.0.1 2023-11-01 12:45:46 +00:00
Bond-009
97de72dae8 Merge pull request #10502 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-4.x
chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4
2023-11-01 11:48:44 +01:00
renovate[bot]
e016ef285e chore(deps): update dependency xunit to v2.6.0 2023-10-31 22:14:58 +00:00
Bond-009
4962640b3a Merge pull request #10448 from vincent/bugfix/10175-forward-user-agent-ffprobe
Forward user_agent config to ffprobe
2023-10-31 15:27:51 +01:00
renovate[bot]
4dfbb8f74a chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4 2023-10-31 14:23:29 +00:00
Bond-009
fd99b4fe8a Merge pull request #10492 from jellyfin/renovate/prometheus-net-monorepo
chore(deps): update prometheus-net monorepo to v8.1.0
2023-10-31 15:22:54 +01:00
Metin Bektas
75c47da539 Update jellyfin.xml
Fix the link to the Jellyfin Project
2023-10-31 09:37:37 +01:00
Cody Robibero
8c5fc80282 Don't remove all tokens if invalid header (#10490) 2023-10-30 15:31:13 -06:00
Nurzhan Kozhanov
b26eb7dd6b Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-10-30 06:55:26 -04:00
Nurzhan Kozhanov
536b94ccdb Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2023-10-30 06:55:25 -04:00
renovate[bot]
0264f9f947 chore(deps): update prometheus-net monorepo to v8.1.0 2023-10-29 12:36:43 +00:00
stanol
e8a82d2914 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2023-10-28 03:25:49 -04:00
Alexander Weimer
809b27f7c8 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2023-10-28 03:25:49 -04:00
Daniel Finol Sola
b55810fce4 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2023-10-28 03:25:49 -04:00
xsiviso
bc99c567ce Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2023-10-28 03:25:49 -04:00
Bond-009
1d3eb02f29 Merge pull request #10481 from jellyfin/renovate/ci-deps 2023-10-27 14:23:25 +02:00
renovate[bot]
622e0414bd chore(deps): update github/codeql-action action to v2.22.5 2023-10-27 10:36:15 +00:00
Bond-009
7767ef9728 Merge pull request #10473 from jacobslusser/jacob/stale-issues 2023-10-27 12:36:07 +02:00
Bond-009
ed00d7448b Merge pull request #10472 from cvium/dispose_imagefilter 2023-10-27 12:35:51 +02:00
Bond-009
837016801e Merge pull request #10471 from cvium/svg_skia 2023-10-27 12:35:39 +02:00
Claus Vium
0973f1e0ba Merge pull request #10357 from herby2212/kill-inactive-streams-v2
Add auto close of an inactive session after X minutes
2023-10-27 09:47:43 +02:00
Claus Vium
db4605609c Merge pull request #10410 from Ch1nkara/add-users-permission-to-edit-subtitles
add EnableSubtitleManagement permission
2023-10-27 09:44:52 +02:00
Vincent Lark
123c6e7d1b Extract the MediaEncoder probing command arguments builder 2023-10-26 20:06:45 +02:00
Jacob Slusser
8d0a03e9e1 Fixes required spacing for linebreak in markdown 2023-10-25 15:13:25 -07:00
Jacob Slusser
9bc29ceabd #10333 Applies the same fix for stale PRs: increase operations, process ascending 2023-10-25 15:10:56 -07:00
cvium
0a284dc0ab refactor: cache the resize image filter 2023-10-25 23:29:05 +02:00
cvium
4be0f4267d chore(deps): use Svg.Skia instead of the deprecated SkiaSharp.Svg 2023-10-25 23:05:47 +02:00
Bond-009
42a7e4cf1a Merge pull request #10467 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-10-25 13:25:39 +02:00
renovate[bot]
a439910597 chore(deps): update dotnet monorepo to v7.0.13 (#10466)
* Update dotnet monorepo to v7.0.12

* update sdk

* chore(deps): update dotnet monorepo to v7.0.13

* update sdk

* update sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-10-24 17:24:26 -06:00
renovate[bot]
ca40fd1386 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.9.5 2023-10-24 21:24:50 +00:00
Vijay
208b585a3f Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2023-10-24 02:34:27 -04:00
Xzonn
2ebe540602 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2023-10-24 02:34:27 -04:00
nextlooper42
0ff1c69910 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2023-10-24 02:34:27 -04:00
Kityn
dc3d3051e1 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2023-10-24 02:34:27 -04:00
Bas
716dd2f5ea Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-10-24 02:34:27 -04:00
Johannes Hartel
8dfb77451e Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2023-10-24 02:34:27 -04:00
Lukáš Kucharczyk
348ab7a58e Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2023-10-24 02:34:27 -04:00
Bond-009
d01abffc49 Merge pull request #10451 from jellyfin/fix-intel-va-drv-mismatch 2023-10-24 00:11:31 +02:00
Bond-009
923a5b16d8 Merge pull request #10447 from jacobslusser/jacob/stale-issues 2023-10-24 00:11:13 +02:00
Bond-009
b7083bca6d Merge pull request #10457 from cvium/downgrade_idisposableanalyzer 2023-10-23 23:07:22 +02:00
Bond-009
d977f48b5b Merge pull request #10455 from cvium/dispose_dbcontext 2023-10-23 23:07:02 +02:00
cvium
977ce9f8d5 chore(deps): downgrade IDisposableAnalyzers to 4.0.4
Many distros seem to be behind on SDK updates, which causes issues. Temporarily downgrade the package.
2023-10-23 07:05:34 +02:00
cvium
1009836a79 add IAsyncDisposable to DisplayPreferencesManager
Properly dispose dbcontext
Add IDisposableAnalyzer to Jellyfin.Server.Implementations
2023-10-22 22:28:45 +02:00
renovate[bot]
4aa1f127ec Update github/codeql-action action to v2.22.4 (#10440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-22 09:02:29 -06:00
Bond-009
b16033df03 Fix fuzz projects (#10416) 2023-10-22 09:01:51 -06:00
nyanmisaka
9c270b149c Fix mismatch between intel VAAPI UMD/KMD in rare cases
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-10-22 19:06:35 +08:00
Andrejs
028b2122ce Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-10-22 06:25:42 -04:00
INOUE Daisuke
da5184d169 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2023-10-22 06:25:42 -04:00
Vincent Lark
8ee9a0adf9 Forward user_agent config to ffprobe 2023-10-21 23:57:05 +02:00
Jacob Slusser
181601a1e5 #10333 Increases operations per run to work around no cache state between runs 2023-10-21 12:03:21 -07:00
herby2212
6c5a4a93cc fix indentation after merge 2023-10-21 11:49:01 +02:00
herby2212
27ceee8b6c update to current master to resolve merge conflict 2023-10-21 01:20:59 +02:00
Bond-009
df7032b09e Merge pull request #10437 from jellyfin/renovate/ci-deps 2023-10-19 23:43:14 +02:00
renovate[bot]
556228b219 Update peter-evans/create-or-update-comment action to v3.1.0 2023-10-19 20:54:31 +00:00
Joshua M. Boniface
8859a3ac8e Merge pull request #9554 from nicknsy/trickplay 2023-10-19 01:45:42 -04:00
Nick
6b94d55e1e Fix for new WaitForExitAsync method 2023-10-18 20:01:40 -07:00
Nick
cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
Andrejs
de08d38a6f Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-10-18 18:25:38 -04:00
chinkara
8ada8dbbac add policy to the subtitle controller 2023-10-18 18:31:32 +02:00
chinkara
9f259aa404 add EnableSubtitleManagement permission 2023-10-18 18:31:31 +02:00
Bond-009
1c1df684ac Merge pull request #10430 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-10-18 09:35:14 +02:00
renovate[bot]
1c4b0be85d Update actions/checkout action to v4.1.1 (#10427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 18:15:17 -06:00
renovate[bot]
cff30c0e6b Update dependency EFCoreSecondLevelCacheInterceptor to v3.9.4 2023-10-17 22:56:53 +00:00
kasundigital
089876170a Added translation using Weblate (Sinhala) 2023-10-17 17:19:17 -04:00
LJQ
98bc2fea8b Removed dupe ToDeviceInfo 2023-10-18 01:40:36 +08:00
LJQ
2f9b44fcd0 Switch to LINQ and updated /Device/Info endpoint to return in accordance to the updated API doc 2023-10-18 00:41:33 +08:00
Bond-009
eb9478c019 Merge pull request #10424 from jellyfin/renovate/dotnet-monorepo 2023-10-17 17:19:59 +02:00
Andrejs
add89a4821 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-10-17 09:24:16 -04:00
Bond-009
56a94b3db1 Merge pull request #10423 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-10-17 14:36:30 +02:00
Bond-009
84bbf757fa Merge pull request #10366 from goremykin/fix-resharper-warnings 2023-10-17 14:31:35 +02:00
renovate[bot]
f60aefcbe8 Update dependency dotnet-ef to v7.0.12 2023-10-17 12:29:50 +00:00
Bond-009
59ac548128 Merge pull request #10270 from crobibero/chromecast-config 2023-10-17 14:29:19 +02:00
renovate[bot]
12a4f5d8b1 Update dependency EFCoreSecondLevelCacheInterceptor to v3.9.3 2023-10-17 10:59:22 +00:00
LJQ
259fe4522c Update /Device endpoint to return CustomName 2023-10-17 17:25:41 +08:00
Bond-009
6fce863146 Merge pull request #10419 from jellyfin/renovate/xunit-dotnet-monorepo 2023-10-17 08:02:32 +02:00
renovate[bot]
6512d7186d Update dependency xunit to v2.5.3 2023-10-17 00:48:55 +00:00
forkh
c727d2cebc Translated using Weblate (Faroese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2023-10-16 16:16:58 -04:00
Andrejs
3704382545 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-10-16 16:16:58 -04:00
Össur Ingi Jónsson
8928e0d2af Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2023-10-16 16:16:58 -04:00
LJQ
1d19fe50b4 Deep copy instead of Shallow copy 2023-10-16 21:18:25 +08:00
LJQ
298a7488a3 Applied 2nd Round of Suggested Changes 2023-10-16 19:48:01 +08:00
forkh
ed42fcf522 Added translation using Weblate (Faroese) 2023-10-15 16:58:00 -04:00
Cody Robibero
35bd0c00c9 Fix inverted condition 2023-10-14 11:01:03 -06:00
Cody Robibero
13f46e3fff Shorten lines from review 2023-10-14 10:55:12 -06:00
Nick
c7feea27fd Avoid unnecessary string -> byte[] conversion (Bond-009) 2023-10-13 16:13:42 -07:00
Bond-009
72ee8103da Merge pull request #10400 from jellyfin/renovate/ci-deps 2023-10-14 01:10:20 +02:00
Stepan Goremykin
38d962242a Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Updates/InstallationManager.cs
#	tests/Jellyfin.Server.Integration.Tests/OpenApiSpecTests.cs
2023-10-14 00:45:52 +02:00
renovate[bot]
2928d42fe0 Update github/codeql-action action to v2.22.3 2023-10-13 13:54:36 +00:00
Bond-009
4fc27fa63e Merge pull request #10390 from Bond-009/streams 2023-10-13 10:45:15 +02:00
Bond-009
5277339982 Merge pull request #10391 from barronpm/dlna-cleanup 2023-10-13 10:44:54 +02:00
Bond-009
2871bbbf50 Merge pull request #10397 from jellyfin/renovate/xunit-dotnet-monorepo 2023-10-13 10:06:49 +02:00
renovate[bot]
bbd7d8678c Update xunit-dotnet monorepo 2023-10-13 03:19:46 +00:00
Stepan Goremykin
a773b43a81 Merge reading from file and parsing 2023-10-12 21:28:04 +02:00
Stepan Goremykin
8d7e4229ca Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Net/SocketFactory.cs
#	RSSDP/SsdpCommunicationsServer.cs
#	RSSDP/SsdpDeviceLocator.cs
#	RSSDP/SsdpDevicePublisher.cs
2023-10-12 20:11:16 +02:00
Bond-009
075b828cbf Merge pull request #10393 from jellyfin/renovate/ci-deps 2023-10-12 15:31:26 +02:00
renovate[bot]
9bf624b9ad Update github/codeql-action action to v2.22.2 2023-10-12 10:52:53 +00:00
nextlooper42
d170be88b0 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2023-10-11 18:32:04 -04:00
Bond-009
59f45739e7 Merge pull request #10389 from Bond-009/warn5 2023-10-11 23:05:35 +02:00
Bond-009
456d9dc0a6 StreamingHelpers.GetOutputFileExtension should never return null (#10387) 2023-10-11 23:05:28 +02:00
Bond-009
c02f2d4791 Merge pull request #10379 from Bond-009/emptyguid 2023-10-11 23:05:18 +02:00
Patrick Barron
b8f4c1de69 Fix documentation for AddDlnaServices 2023-10-11 14:57:29 -04:00
Patrick Barron
44380933a0 Use DI for SsdpCommunicationsServer 2023-10-11 13:35:51 -04:00
Patrick Barron
f0618ce335 Minor cleanup in DlnaEntryPoint 2023-10-11 13:26:42 -04:00
Bond_009
d7748cfa04 Multiple Stream changes
* Remove useless MemoryStream in DlnaHttpClient
* Use HttpContent.ReadFromJsonAsync extension
* Call ConfigureAwait for IAsyncDisposable
* Use HttpContent.CopyToAsync where possible
2023-10-11 18:32:57 +02:00
Patrick Barron
5b51645381 Don't manually dispose DeviceDiscovery
The lifetime of DeviceDiscovery is managed by DI
2023-10-11 11:49:48 -04:00
Patrick Barron
2e1b8ea62d Remove DlnaEntryPoint.Enabled 2023-10-11 11:37:28 -04:00
Patrick Barron
010cf2340a Use DI for MediaReceiverRegistrarService 2023-10-11 11:12:33 -04:00
Patrick Barron
e0b089a375 Use DI for ConnectionManagerService 2023-10-11 11:08:19 -04:00
Patrick Barron
effc3d488c Use DI for ContentDirectoryService 2023-10-11 11:05:14 -04:00
Bond_009
584dc05c3c Enable CodeAnalysisTreatWarningsAsErrors for MediaBrowser.Common 2023-10-11 16:38:45 +02:00
Patrick Barron
2b1454530b Add DLNA service collection extensions 2023-10-11 10:33:00 -04:00
Bond_009
35d63ec540 Fix regression 2023-10-11 13:43:43 +02:00
Bond-009
26571a8c51 Deprecate CanLaunchWebBrowser (#10381)
It's been a while since I removed this feature from server not sure why it's
in the api anyway. The macOS and Windows app have this functionality
2023-10-10 17:51:15 -06:00
Tim Eisele
dc27d8f9cd Refactor URI overrides (#10051) 2023-10-11 00:02:37 +02:00
Cody Robibero
6bd6fb6e0a Merge branch 'master' into chromecast-config
# Conflicts:
#	Emby.Server.Implementations/ApplicationHost.cs
2023-10-10 15:59:34 -06:00
renovate[bot]
a88e13a677 Update dotnet monorepo to v7.0.12 (#10382)
* Update dotnet monorepo to v7.0.12

* update sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-10-10 15:58:06 -06:00
Cody Robibero
2920611ffc Convert string MediaType to enum MediaType 2023-10-10 15:57:15 -06:00
lonebyte
74f61fbd79 Fix HLS playback of m4a files with mjpeg stream (#10069) 2023-10-10 22:48:52 +02:00
Bond-009
c45157158e Merge pull request #10352 from barronpm/xml-parsing-cleanup 2023-10-10 22:47:01 +02:00
Claus Vium
733ee12ee4 Merge pull request #10378 from Bond-009/waitforexitasync
Use Process.WaitForExitAsync added in .NET 5
2023-10-10 20:12:07 +02:00
Patrick Barron
1ce49b4a04 Merge branch 'master' into xml-parsing-cleanup 2023-10-10 12:00:45 -04:00
Bond-009
ba23c880f3 Merge pull request #10380 from jellyfin/renovate/dotnet-monorepo 2023-10-10 15:50:28 +02:00
renovate[bot]
502c257506 Update dependency Microsoft.AspNetCore.Authorization to v7.0.12 2023-10-10 13:07:13 +00:00
Bond_009
d15f6908b0 Empty Guids shouldn't make it into the refresh queue
```
System.ArgumentException: Guid can't be empty (Parameter 'id')
   at Emby.Server.Implementations.Library.LibraryManager.GetItemById(Guid id) in /home/loma/dev/jellyfin/Emby.Server.Implementations/Library/LibraryManager.cs:line 1224
   at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue() in /home/loma/dev/jellyfin/MediaBrowser.Providers/Manager/ProviderManager.cs:line 983
```
2023-10-10 13:29:16 +02:00
Bond-009
1279df2032 Merge pull request #10339 from leovan/master 2023-10-10 13:13:14 +02:00
Bond-009
6b06a43c3f Merge pull request #10347 from Bond-009/drawing 2023-10-10 13:12:53 +02:00
Bond-009
fc1f0a31a1 Merge pull request #10337 from barronpm/system-manager 2023-10-10 13:12:43 +02:00
scampower3
305405c9a1 Combine Title and Overview for multi-episodes files for NFO file (#10080) 2023-10-10 13:12:09 +02:00
Bond_009
4757ce105b Use Process.WaitForExitAsync added in .NET 5 2023-10-10 00:18:50 +02:00
herby2212
e8a05ad996 optimize checkForInactiveStreams logic 2023-10-09 19:15:25 +02:00
Bond-009
d5695efad9 Merge pull request #10067 from lonebyte/flac-hls-fixes 2023-10-09 18:28:49 +02:00
Nyanmisaka
aa073748c0 Drop experimental status of flac-in-MP4 for FFmpeg 6+
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-10-09 23:12:41 +08:00
renovate[bot]
75ee990e1d Update github/codeql-action action to v2.22.1 (#10376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 08:10:21 -06:00
tellmeY18
8466e53b8f Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2023-10-08 21:25:33 -04:00
Bond_009
c707baed83 Jellyfin.Drawing minor improvements
Reduce duplicate/dead code
2023-10-08 17:10:04 +02:00
Bond-009
d5e86188a1 Merge pull request #10346 from Bond-009/frombase64 2023-10-08 14:07:44 +02:00
Bond-009
406c5df8a3 Merge pull request #10345 from Bond-009/getperson 2023-10-08 14:07:38 +02:00
Bond-009
0b31997b2f Merge pull request #10348 from Bond-009/strings 2023-10-08 14:07:30 +02:00
Bond-009
cf806ddcaa Merge pull request #10336 from Bond-009/authorization 2023-10-08 14:07:22 +02:00
Joe Rogers
7fc804e4b8 Add full version tag for renovate (#10370) 2023-10-08 14:05:55 +02:00
herby2212
994619afb2 fix formatting for build process 2023-10-08 13:49:35 +02:00
Stepan Goremykin
96c3bde346 Remove redundant nullable directive 2023-10-08 01:26:57 +02:00
Stepan Goremykin
fdef9356b9 Use null propagation 2023-10-08 01:25:37 +02:00
Stepan Goremykin
212976277d Remove redundant ToString call for value types 2023-10-08 01:17:32 +02:00
Stepan Goremykin
2d7835c848 Join declaration and assignment 2023-10-08 01:16:43 +02:00
Stepan Goremykin
3259d484ff Use generated regex 2023-10-08 01:16:00 +02:00
Pithaya
948a67cfeb Update CONTRIBUTORS.md 2023-10-08 01:11:08 +02:00
Pithaya
e6bb86e649 Add a Book ExternalIdMediaType 2023-10-08 01:08:57 +02:00
Pithaya
cc590f82b9 Allow people on books 2023-10-08 01:08:03 +02:00
Stepan Goremykin
6512f85ccb Pass cancellation token 2023-10-08 00:55:14 +02:00
Stepan Goremykin
160855ffe9 Use switch expression 2023-10-08 00:52:47 +02:00
Stepan Goremykin
f84469d500 Remove redundant using directives 2023-10-08 00:50:02 +02:00
Stepan Goremykin
963d8e66a2 Remove redundant type specification 2023-10-08 00:49:18 +02:00
Stepan Goremykin
47254d6a22 Remove conditional access when it is known to be not null 2023-10-08 00:46:15 +02:00
Stepan Goremykin
526f9a825c Make files readonly 2023-10-08 00:40:58 +02:00
Stepan Goremykin
2360d28cbb Fix possible double dispose 2023-10-08 00:31:46 +02:00
Stepan Goremykin
8ea812b65d Reduce string literal length by using verbatim string 2023-10-08 00:26:12 +02:00
Stepan Goremykin
3f9ee316d5 Use non nullable property type when possible 2023-10-08 00:22:36 +02:00
Stepan Goremykin
a37dc3da96 Use async overload 2023-10-08 00:17:48 +02:00
Stepan Goremykin
0870af330d Remove redundant verbatim string prefixes 2023-10-08 00:15:38 +02:00
Stepan Goremykin
508c48a8ba Inline out variables 2023-10-07 23:58:48 +02:00
Stepan Goremykin
d6b557d9ee Move declaration closer to usage 2023-10-07 23:56:07 +02:00
Stepan Goremykin
72faeed1db Remove redundant semicolon 2023-10-07 23:52:13 +02:00
Stepan Goremykin
73309f2649 Pass cancellation token 2023-10-07 23:50:45 +02:00
Stepan Goremykin
8925390ad4 Remove redundant cast 2023-10-07 23:42:15 +02:00
Stepan Goremykin
a3d3ec7e0b Remove redundant SuppressFinalize call 2023-10-07 23:41:45 +02:00
herby2212
db5c2f738e integrate development from v1 2023-10-07 21:18:21 +02:00
herby2212
56aa37a314 Switch to named placeholders 2023-10-07 20:52:16 +02:00
Bond-009
1141883f77 Merge pull request #10321 from feilongfl/master 2023-10-07 00:15:01 +02:00
Patrick Barron
c38fbece03 Remove unnecessary Trim() from GetPersonFromXmlNode 2023-10-06 16:57:36 -04:00
Patrick Barron
40e1c5f4c6 Remove logger parameter from XmlReaderExtensions.TryReadDateTime 2023-10-06 16:56:50 -04:00
Patrick Barron
1dd6442e89 Use extension methods in GetPersonFromXmlNode 2023-10-06 16:43:50 -04:00
Patrick Barron
1d0ecd3188 More miscellaneous cleanup 2023-10-06 16:18:33 -04:00
Patrick Barron
0e51ffa169 Add TryReadInt to XmlReaderExtensions 2023-10-06 15:35:26 -04:00
Patrick Barron
8a7a1cc723 Add ReadNormalizedString to XmlReaderExtensions 2023-10-06 15:12:49 -04:00
Patrick Barron
99832642ce Add TryParseDateTime and TryParseDateTimeExact to XmlReaderExtensions 2023-10-06 14:18:56 -04:00
Patrick Barron
1a6ec2c740 Add GetStringArray and GetPersonArray to XmlReaderExtensions 2023-10-06 13:40:08 -04:00
Patrick Barron
bdca4ed322 Add XmlReader.GetPersonFromXmlNode 2023-10-06 12:46:35 -04:00
renovate[bot]
ffb3df9e77 Update github/codeql-action action to v2.22.0 (#10351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-06 08:50:50 -06:00
Claus Vium
0d2202de4f Merge pull request #10255 from thomasjohansen/fix/probesize
Fix/probesize
2023-10-06 11:38:45 +02:00
Claus Vium
6593aa1255 Merge pull request #10135 from 0x25CBFC4F/fix/ffmpeg-probesize
Fixed probesize argument passing to FFmpeg
2023-10-06 11:38:31 +02:00
Claus Vium
a18b3fbe70 simplify the if 2023-10-06 10:49:20 +02:00
[ ]
e9e1fd214b Translated using Weblate (Pirate (pr))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pr/
2023-10-06 03:31:35 -04:00
Bond_009
b176beb88e Reduce string allocations
Some simple changes to reduce the number of allocated strings
2023-10-06 01:04:25 +02:00
fei long
33b3331c72 change Substring to AsSpan
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-10-06 06:26:52 +08:00
Bond_009
efc4c305a9 Use CryptoStream to convert stream from base64
Should be way more efficient
2023-10-05 23:36:37 +02:00
Bond_009
852f1dc0c1 Don't create non existent persons in LibraryManager.GetPerson
return null instead.

GetStudio, GetGenre, GetMusicGenre, GetYear, GetArtist still create a new one
when the requested one doesn't exist

Fixes #3901
2023-10-05 23:16:17 +02:00
Bond-009
b87765bace Update Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
Co-authored-by: Patrick Barron <barronpm@gmail.com>
2023-10-05 18:21:43 +02:00
Bond-009
40f7eb4e8c Merge pull request #10340 from jellyfin/renovate/pin-dependencies 2023-10-05 14:57:20 +02:00
renovate[bot]
7dd4c12231 Pin actions/stale action to 1160a22 2023-10-05 12:02:38 +00:00
Jacob Slusser
130c035d4f #10333 Updates issue stale action to fix issues with not running (#10334) 2023-10-05 08:02:10 -04:00
Leo
cb8a8c3ef4 fix: use movie.nfo first when <filename>.nfo also exists (jellyfin/jellyfin#1558) 2023-10-05 11:19:52 +08:00
Bond-009
86c96c8e26 Merge pull request #10330 from nyanmisaka/fix-ffmpeg-opt-fedora 2023-10-05 00:13:24 +02:00
Patrick Barron
6f7413812f Add SystemManager service 2023-10-04 14:40:00 -04:00
Artnal
c9ce246c17 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2023-10-04 11:31:33 -04:00
Piranha
35e09cf203 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2023-10-04 11:31:33 -04:00
Bond_009
76c64516a7 Simplify some stuff in AuthorizationContext 2023-10-04 16:18:14 +02:00
Bond_009
6f2c165cc3 Use Authorization header in integration tests
instead of X-Emby-Authorization

And ensure the response has a successful status code
2023-10-04 16:06:26 +02:00
Bond-009
c124d02501 Merge pull request #10331 from barronpm/minor-cleanup 2023-10-04 15:02:21 +02:00
Pithaya
487d79f8ac Add book related values to PersonKind (#10325) 2023-10-03 21:16:16 -06:00
Claus Vium
467aa40d21 Merge pull request #10222 from Bond-009/photos 2023-10-03 19:23:35 +02:00
Patrick Barron
12b51cf2ba Reduce nesting in SessionManager.OnPlaybackStopped 2023-10-03 10:31:55 -04:00
Patrick Barron
78e00578c2 Use DI for IFileSystem 2023-10-03 10:25:14 -04:00
Patrick Barron
fa26bcde3a Remove unnecessary ToString in RobotsRedirectionMiddleware 2023-10-03 09:29:06 -04:00
Patrick Barron
1ca9f8b04b Remove unused fields and parameters 2023-10-03 09:26:20 -04:00
Bond-009
8b4f4215e0 Merge pull request #10318 from MartinWilkerson/add-shebang-to-initscript 2023-10-03 11:05:35 +02:00
Bond-009
caaf8f026e Merge pull request #10323 from hagaygo/master 2023-10-03 11:05:20 +02:00
Bond-009
14b06ecbe2 Merge pull request #10261 from barronpm/ihostlifetime 2023-10-03 11:05:10 +02:00
Bond-009
1514b5d052 Merge pull request #10219 from Bond-009/zfs 2023-10-03 11:04:38 +02:00
Bond-009
35be173b94 Merge pull request #10329 from 1337joe/update-whitelist 2023-10-03 11:03:47 +02:00
Nyanmisaka
2c31ed8031 Fix JELLYFIN_FFMPEG_OPT is not enabled in fedora ExecStart 2023-10-03 15:33:59 +08:00
Joe Rogers
b95040bc5e Add We;Na to split whitelist 2023-10-02 23:00:51 -04:00
Patrick Barron
ab0790271a Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2023-10-02 16:54:19 -04:00
Patrick Barron
f746db9a54 Re-add shutdown/restart methods 2023-10-02 15:55:26 -04:00
officialdanielamani
5153e9259b Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2023-10-02 10:09:33 -04:00
Oliver Bastholm
6f464a3ac6 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2023-10-02 10:09:32 -04:00
Hagay Goshen
34c4c9f034 allow repeated same tv guide m3u channels , issue 6527 2023-10-02 13:48:32 +03:00
YuLong Yao
808e59fdda add pcm format when codec is pcm_* 2023-10-02 13:14:53 +08:00
YuLong Yao
b83217d1d7 use pcm as ext name when codec is pcm 2023-10-02 13:13:29 +08:00
MartinWilkerson
916a40d4ec Add shebang to jellyfin.init 2023-10-01 09:51:19 +01:00
DavidFair
35d6c14653 Fix sed failing on Docker builds for CentOS/Fedora (#10285) 2023-09-30 23:11:20 -04:00
Claus Vium
7f8d9ae7c5 fix: use TryGetString to avoid crashing, fixes #10306 (#10308) 2023-09-30 23:10:42 -04:00
Bill Thornton
1b4394199a Merge pull request #10305 from thornbill/fix-node-versions
Update node versions
2023-09-29 17:26:29 -04:00
Patrick Barron
59ec06c35c Clear active sessions on application stopping 2023-09-29 12:43:49 -04:00
Bill Thornton
3e10ace985 Update node versions 2023-09-29 10:11:01 -04:00
Thomas Johansen
d0dc080c93 I think this is better 2023-09-29 14:41:35 +02:00
Bond-009
54ef80ef58 Merge pull request #10300 from jellyfin/renovate/serilog.sinks.graylog-3.x 2023-09-29 12:16:40 +02:00
Anand CU
ea56b3edb7 Translated using Weblate (Kannada)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kn/
2023-09-28 14:41:12 -04:00
renovate[bot]
3cc10d065b Update dependency Serilog.Sinks.Graylog to v3.1.0 2023-09-28 12:30:06 +00:00
renovate[bot]
626f474faa Update github/codeql-action action to v2.21.9 (#10290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 13:35:14 -06:00
Bond_009
cc15ea7f65 Ignore .zfs folder
Maybe helps with #10215 ?
2023-09-27 20:35:00 +02:00
Bond_009
57891e7639 PhotoResolver: change how generated images are detected
Backdrops/fanart are generated as (backdrop)|(fanart)[0-9]*.extension

Fixes #7830
2023-09-27 17:20:55 +02:00
Bond-009
2bb534d5e3 Merge pull request #10275 from jellyfin/disable-a53cc-sei-on-h26x-vaapi 2023-09-27 17:10:35 +02:00
Claus Vium
2ae2145192 Merge pull request #10276 from Bond-009/concurrentdict
CollectionFolder: replace Dictionary + locks with ConcurrentDictionary
2023-09-26 22:37:42 +02:00
Bond_009
526c918524 CollectionFolder: replace Dictionary + locks with ConcurrentDictionary
This should be faster (and still safe I hope)
2023-09-25 18:12:12 +02:00
Joshua M. Boniface
ee69314753 Merge pull request #10212 from brianjmurrell/patch-5
Make startup script more portable
2023-09-25 11:52:40 -04:00
trailfullideal
b17ee80652 Translated using Weblate (Cherokee)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/chr/
2023-09-25 11:40:58 -04:00
Nyanmisaka
99cc1ed13a Fix A53 CC SEI breaking H26x_VAAPI hardware encode
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-09-25 22:56:59 +08:00
trailfullideal
3229d3ba02 Translated using Weblate (Assamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/as/
2023-09-24 11:18:33 -04:00
trailfullideal
79976b6b48 Translated using Weblate (Zulu)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zu/
2023-09-24 11:18:33 -04:00
trailfullideal
0eddc3e6ad Added translation using Weblate (Cherokee) 2023-09-24 11:18:33 -04:00
Cody Robibero
bc88c96cbe Validate cast receiver id on get/set 2023-09-23 16:14:03 -06:00
Cody Robibero
effa303cb9 Add missing LocalAccessOrRequiresElevationHandler (#10268) 2023-09-23 15:58:03 -06:00
Cody Robibero
ba7e3bfd82 Migrate to customizable cast receiver config 2023-09-23 11:04:53 -06:00
Patrick Barron
493de3297a Use IHostLifetime to handle restarting and shutting down 2023-09-23 11:57:38 -04:00
Bond-009
f778073132 Downgrade SkiaSharp to prevent segfault (#10264) 2023-09-23 17:57:08 +02:00
Claus Vium
25faf8b1d9 Merge pull request #10266 from Bond-009/IDisposableAnalyzers.Drawing 2023-09-23 17:04:46 +02:00
Bond_009
afc195286f Start adding IDisposableAnalyzers to projects 2023-09-23 15:15:58 +02:00
Joe Rogers
744591329e Fully specify version tags for renovate (#10263) 2023-09-23 13:46:43 +02:00
renovate[bot]
61686d2dcc chore(deps): update actions/checkout action to v4.1.0 (#10260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-23 13:45:35 +02:00
Claus Vium
eb5f76a447 Merge pull request #10257 from jellyfin/Bond-009-patch-1
Downgrade SkiaSharp.NativeAssets.Linux to prevent segfault
2023-09-22 20:08:28 +02:00
Bond-009
9e65e4daf6 Downgrade SkiaSharp.NativeAssets.Linux to prevent segfault
```
Thread 16 ".NET ThreadPool" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbeae7fc6c0 (LWP 15740)]
0x00007fbead7b33e0 in ?? ()
   from /.../dev/jellyfin/Jellyfin.Server/bin/Release/net7.0/runtimes/linux-x64/native/libSkiaSharp.so
```
2023-09-22 19:17:32 +02:00
Cody Robibero
7958a2fd15 Merge pull request #10218 from Bond-009/librarymonitor 2023-09-22 09:06:34 -06:00
Patrick Barron
1d8c3e088b Don't log unhandled exceptions twice 2023-09-22 10:16:52 -04:00
Cody Robibero
3a2799e61b Merge pull request #10234 from Shadowghost/cleanup-playlists-task 2023-09-22 06:55:11 -06:00
Nyanmisaka
5ba855098d Backport pull request #10151 from jellyfin/release-10.8.z
Fix performance loss of QSV HDR tone-mapping on Windows

Original-merge: 757f88b1a2

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

Backported-by: Bond_009 <bond.009@outlook.com>
2023-09-21 15:35:39 -04:00
renovate[bot]
a9274a356c chore(deps): update dependency harfbuzzsharp.nativeassets.linux to v7 (#10252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-21 21:09:56 +02:00
renovate[bot]
d82f59ec97 chore(deps): update skiasharp monorepo to v2.88.6 (#10251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-21 20:47:05 +02:00
Bond-009
1492af7542 Merge pull request #10246 from jellyfin/renovate/ci-deps 2023-09-20 16:00:52 +02:00
renovate[bot]
672e0d6434 chore(deps): update github/codeql-action action to v2.21.8 2023-09-19 11:53:03 +00:00
Bond-009
72928f74c0 Merge pull request #10241 from jellyfin/renovate/xunit-dotnet-monorepo 2023-09-19 00:27:40 +02:00
Bond_009
b8f42573c4 Address review comments 2023-09-18 20:50:05 +02:00
Tim Eisele
151d678b0e Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-09-18 19:13:33 +02:00
Bond_009
03b6adf068 Fix xUnit1030: Do not call ConfigureAwait in test method 2023-09-18 17:55:52 +02:00
atomicmind
043fc387e0 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2023-09-18 07:40:54 -04:00
renovate[bot]
5669955aca chore(deps): update xunit-dotnet monorepo to v2.5.1 2023-09-18 02:22:16 +00:00
Tim Eisele
bce45992d9 Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-09-17 16:35:41 +02:00
Tim Eisele
61a49e94c4 Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-09-17 14:13:25 +02:00
Tim Eisele
fccea4625d Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-09-17 14:13:19 +02:00
Tycho Brouwer
db83bed9da Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-09-16 19:40:55 -04:00
Shadowghost
783bb8a8cb Apply review suggestions 2023-09-16 17:05:54 +02:00
Shadowghost
f7720e7c99 Extend collections cleanup task to include playlists too 2023-09-16 15:09:19 +02:00
Jan Müller
1635d82345 Remove workaround for codec capitalization
This is not required anymore as Shaka Player now supports the correct
codec strings.
2023-09-16 12:57:20 +02:00
Jan Müller
fd022ee685 Merge branch 'master' into flac-hls-fixes
# Conflicts:
#	Jellyfin.Api/Controllers/DynamicHlsController.cs
2023-09-16 12:40:05 +02:00
Bond-009
61155adecd Merge pull request #10231 from jellyfin/renovate/pin-dependencies 2023-09-16 12:31:35 +02:00
Claus Vium
0179cea622 Merge pull request #10230 from cvium/fix_migrations 2023-09-16 12:05:54 +02:00
renovate[bot]
6e82fe3a83 chore(deps): pin jitterbit/await-check-suites action to 292a541 2023-09-16 09:32:36 +00:00
Bond-009
3d0b1c3138 Merge pull request #10232 from jellyfin/renovate/actions-checkout-4.x 2023-09-16 11:32:13 +02:00
renovate[bot]
e985133b37 chore(deps): update actions/checkout action to v4 2023-09-16 05:41:01 +00:00
Claus Vium
fb3b7fde9e Merge pull request #6209 from h1dden-da3m0n/ci/auto-bump
add auto-bump_version workflow
2023-09-16 07:40:32 +02:00
cvium
4fe641b55d missed a spot 2023-09-16 07:27:22 +02:00
cvium
ba928d872e fix: open the connection when using SqliteConnection directly 2023-09-16 07:25:29 +02:00
Bond-009
5a71b8beed Merge pull request #10220 from jellyfin/renovate/ci-deps 2023-09-14 22:37:52 +02:00
renovate[bot]
b8b7f5dd33 chore(deps): update github/codeql-action action to v2.21.7 2023-09-14 19:20:33 +00:00
renovate[bot]
985b115754 chore(deps): update dotnet monorepo to v7.0.11 (#10213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-09-13 17:33:53 -06:00
Bond_009
767a42fbdb Minor LibraryMonitor improvements
* Enable nullable
* Add a fast return to ReportFileSystemChanged when path should be ignored
* Use Span overloads of Path.* functions where possible
* IFileSystem: remove NormalizePath as Path.TrimEndingDirectorySeparator already checks if it's a root path
2023-09-13 17:30:50 +02:00
Bill Thornton
345e0c8c0d Merge pull request #10217 from thornbill/run-collect-on-fails
Run collect script on failures
2023-09-13 09:31:17 -04:00
Bill Thornton
745a7eb4ae Run collect script on failures 2023-09-13 08:39:02 -04:00
Brian J. Murrell
3f19befc59 Avoid shell expansion issues (#10211) 2023-09-12 13:09:40 -06:00
Bond-009
47b21bd781 Update Swashbuckle.AspNetCore.ReDoc to 6.5.0 (#10210) 2023-09-12 06:23:12 -06:00
Brian J. Murrell
9d5e6108fb Make startup script more portable
Make the creation of the startup script more portable and future-proof.
2023-09-12 07:57:09 -04:00
Bond-009
95fef74085 Merge pull request #10039 from hugueslarrive/devuan 2023-09-12 11:10:08 +02:00
Bond-009
8ca16107bb Merge pull request #10169 from gandihar/gandihar.selinux-launcher-fix 2023-09-12 11:09:34 +02:00
Bond-009
3087881d93 Merge pull request #10056 from Bond-009/nullable2 2023-09-12 11:09:20 +02:00
Claus Vium
759097440d Merge pull request #10207 from crobibero/global.json
Add global.json to specify dotnet version
2023-09-11 20:04:43 +02:00
Claus Vium
ec1149eac5 Merge pull request #10200 from thornbill/next-up-continue
Add option to include resumable items in next up requests
2023-09-11 20:03:58 +02:00
Claus Vium
a35a74ce38 Merge pull request #10197 from thornbill/multiple-sessions
Remove one session per device id limitation
2023-09-11 17:39:39 +02:00
Bill Thornton
9ea46b9e17 Remove existing sessions for a user on the same device on login 2023-09-11 10:49:01 -04:00
Cody Robibero
f40dd22dd5 Add global.json to specify dotnet version 2023-09-11 08:16:43 -06:00
LJQ
da1bd4a4a5 Merge branch 'master' of https://github.com/scampower3/jellyfin 2023-09-11 20:30:11 +08:00
LJQ
136a4abbd3 Applied Suggested Changes 2023-09-11 20:29:49 +08:00
Lehonti Ramos
bc959270b7 Removed nesting levels through block-scoped using statement (#10025)
Co-authored-by: John Doe <john@doe>
Co-authored-by: Lehonti Ramos <lehonti@ramos>
2023-09-11 12:12:40 +02:00
Bond-009
c79c59a32b Merge pull request #10194 from jellyfin/renovate/actions-checkout-4.x 2023-09-11 10:54:31 +02:00
Bond-009
575fbed57a Merge pull request #9972 from jellyfin/renovate/xunit-dotnet-monorepo 2023-09-11 10:38:02 +02:00
Nyanmisaka
3c2b1b5e97 Fix AV1 NVENC encoder profile option (#10199) 2023-09-08 18:20:11 -06:00
renovate[bot]
dca72cc275 chore(deps): update actions/upload-artifact action to v3.1.3 (#10201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-08 18:19:53 -06:00
Bond-009
2b9050fb8c Merge pull request #10190 from eltociear/patch-1 2023-09-06 10:02:59 +02:00
Bill Thornton
9c64f94458 Add option to include resumable items in next up requests 2023-09-06 00:35:32 -04:00
Bill Thornton
aea57c1a4a Remove unused variable 2023-09-06 00:06:08 -04:00
Bill Thornton
8d6e7d893b Remove one session per device id limitation 2023-09-05 16:49:28 -04:00
Lukáš Kucharczyk
5c5daac98c Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2023-09-05 02:40:48 -04:00
Nick
f97e844c4f Minor code review changes (cvium) 2023-09-04 13:14:45 -07:00
Nick
5a860710a8 Make TrickplayManifest dictionary key a string rather than Guid 2023-09-04 12:30:20 -07:00
renovate[bot]
a892c72d77 chore(deps): update actions/checkout action to v4 2023-09-04 13:52:33 +00:00
Ikko Eltociear Ashimine
7d649d2f31 Fix typo in NetworkConfiguration.cs
conjuntion -> conjunction
2023-09-04 02:59:13 +09:00
Slug-Cat
25bc4b875c Translated using Weblate (Pirate (pr))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pr/
2023-09-03 01:40:49 -04:00
Cody Robibero
fe63b7d35a Merge pull request #10183 from nyanmisaka/fix-av1-livetv 2023-09-02 07:38:24 -06:00
nyanmisaka
31d2f653fa Fix H264 QSV encoding when the bitrate is too low
h264_qsv expects a bitrate equal or higher than 1000k, or it fails.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-09-02 00:25:40 +08:00
nyanmisaka
b2dcc7c90e Fix AV1 playback in LiveTV
AV1 in fMP4 requires global_header data for parsing.
Only disable global_header in TS since it has no global_header.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-09-02 00:25:40 +08:00
Cody Robibero
fb8b11276d fix build 2023-09-01 09:35:57 -06:00
Cody Robibero
35a9feaf70 Disable xUnit1028 2023-09-01 09:35:48 -06:00
renovate[bot]
86380da8c6 chore(deps): update dependency xunit to v2.5.0 2023-09-01 15:26:47 +00:00
renovate[bot]
5491840c2a chore(deps): update dependency microsoft.net.test.sdk to v17.7.2 (#10166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-01 09:24:52 -06:00
queeup
da6a3c2bd3 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-09-01 10:40:48 -04:00
Nyanmisaka
debbfaa502 Fix MJPEG video is recognized as embedded image (#10173)
fixes 1d729b2

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-30 17:19:52 -06:00
Nyanmisaka
c74d3e62d0 Fix the issue that audio bsf only takes effect for remuxing (#10172)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-30 17:18:18 -06:00
Gandihar
0e6f955912 Add a small Bash script to launch Jellyfin, instead of a symlink.
- The symlink causes a problem with SELinux because it understands symlinks.
  - This shell script automatically gets the correct SELinux context.
2023-08-29 17:10:41 -06:00
Claus Vium
fbd18e2503 Merge pull request #10165 from danimart1991/es-content-ratings 2023-08-29 12:27:06 +02:00
Daniel Martin Gonzalez
1aa0ce961b Add new Spain content rating ERI
Add the content rating ERI to Spain list used in some providers and channels as Specially Recommended for Toddlers.
2023-08-29 11:22:55 +02:00
renovate[bot]
c8ba70fbbc chore(deps): update github/codeql-action action to v2.21.5 (#10163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-28 21:33:35 -06:00
Bond-009
c7ca416206 Merge pull request #10138 from cvium/sqlite_client_poc 2023-08-28 11:54:35 +02:00
Claus Vium
42a07260fe Merge pull request #10158 from Bond-009/transcodepath
Use the correct trancode path
2023-08-27 21:13:03 +02:00
Bond_009
97d92e7087 Use the correct trancode path
EncodingOptions.TranscodingTempPath can be empty (and is by default),
the correct way to get the trancode path is
EncodingConfigurationExtensions.GetTranscodePath which falls back to $CACHEPATH/transcodes
when EncodingOptions.TranscodingTempPath is null or empty.
2023-08-27 17:27:03 +02:00
Bond-009
3b07d73d40 Merge pull request #10154 from goremykin/multiple-enumerations 2023-08-27 10:17:30 +02:00
NickSkier
1f083c0de2 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-08-26 11:44:18 -04:00
Stepan Goremykin
ee83e4cca5 Remove redundant method 2023-08-26 17:29:00 +02:00
Bond-009
9ae429b6f6 Merge pull request #10141 from Bond-009/nullable3 2023-08-26 17:28:34 +02:00
Stepan Goremykin
0ed2aa6f06 Fix a few multiple enumerations 2023-08-26 16:57:27 +02:00
cvium
4fa7672d75 fix todos and add graylog back 2023-08-25 19:49:14 +02:00
Claus Vium
3ee1141a06 Merge pull request #10139 from FantasyGmm/master
Fix debian/ubuntu arm64 build error,runtime argument missing
2023-08-25 10:44:51 +02:00
Claus Vium
b48a7c0f85 Merge pull request #10137 from Bond-009/logspam
Reduce log spam on failed logins
2023-08-25 10:24:04 +02:00
Claus Vium
12fc663a03 Merge branch 'master' into sqlite_client_poc 2023-08-25 09:56:31 +02:00
renovate[bot]
b40f5d0b7d chore(deps): update actions/checkout action to v3.6.0 (#10149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 18:35:57 +02:00
renovate[bot]
a1f527be00 chore(deps): update dependency sqlitepclraw.bundle_e_sqlite3 to v2.1.6 (#10147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 14:15:05 +02:00
renovate[bot]
75a151fea7 chore(deps): update skiasharp monorepo (#10146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-23 21:24:02 +02:00
cvium
c76026600e simplify if 2023-08-23 13:36:08 +02:00
cvium
7689990ad1 reduce calls to GetValidSeasonNameForSeries 2023-08-23 12:22:35 +02:00
cvium
9a246166b0 move a computation out of transaction and skip season updates if name matches 2023-08-23 12:15:21 +02:00
renovate[bot]
91109b7a4a chore(deps): update dependency serilog.settings.configuration to v7.0.1 (#10143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-23 11:25:17 +02:00
renovate[bot]
56ea7c651e chore(deps): update skiasharp monorepo (#10142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-23 11:23:44 +02:00
cvium
7e4e715a90 remove unused using 2023-08-23 09:10:48 +02:00
cvium
a1a1551680 remove batteries init 2023-08-23 09:08:22 +02:00
Bond_009
18a311d32f == null -> is null 2023-08-22 21:14:54 +02:00
cvium
cb48fe02c2 remove nullable enable 2023-08-22 20:12:16 +02:00
Bond_009
d92e9ae85e Enable nullable for more files and add tests
Adds basic tests for FFProbeVideoInfo.CreateDummyChapters
Fixed error message CreateDummyChapters instead of reporting the total minutes it only reported the minute component
2023-08-22 18:11:34 +02:00
cvium
05e40ecb93 review comments 2023-08-22 08:31:34 +02:00
cvium
0d3d9490e5 remove unused deps 2023-08-22 07:27:21 +02:00
FantasyGmm
7e46d6bcc7 fix debian/ubuntu arm64 build error,runtime argument missing 2023-08-22 11:44:43 +08:00
cvium
d1190c5215 fix userdata table not being committed 2023-08-21 22:12:08 +02:00
cvium
a061e8f8e4 fix bad merge 2023-08-21 21:54:56 +02:00
cvium
c24571b5b8 Merge branch 'master' into sqlite_client_poc
# Conflicts:
#	Emby.Server.Implementations/Data/SqliteItemRepository.cs
2023-08-21 21:53:26 +02:00
cvium
e7016e38b8 remove readonly 2023-08-21 21:49:39 +02:00
cvium
791413a50f open before changing pragmas 2023-08-21 21:38:16 +02:00
cvium
cf04b43fa4 simplify extension methods 2023-08-21 21:37:18 +02:00
cvium
fb511dbae2 rename variable and fix crash 2023-08-21 20:34:50 +02:00
Bond_009
a963bce9be Reduce log spam on failed logins
Failed logins already get logged higher up the call chain
2023-08-21 19:09:32 +02:00
Bond-009
84643e328d Reduce the amount of allocations in GetWhereClauses (#10114) 2023-08-21 18:38:32 +02:00
cvium
d223f5b518 completely remove sqlitepcl 2023-08-21 15:31:02 +02:00
cvium
061d79c113 remove runintransaction 2023-08-21 14:12:49 +02:00
cvium
0867812c1f more using 2023-08-21 12:46:30 +02:00
cvium
f2d7842563 add missing using 2023-08-21 12:29:20 +02:00
cvium
493229cc15 fix guid blobs 2023-08-21 12:27:07 +02:00
cvium
613f4296e3 loading works 2023-08-21 12:13:32 +02:00
renovate[bot]
d3f8874a3e chore(deps): update dotnet monorepo to v7.0.10 (#10099)
* chore(deps): update dotnet monorepo to v7.0.10

* update dotnet sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bond_009 <bond.009@outlook.com>
2023-08-20 21:36:58 -04:00
Muhammad Wafi Bin Arzu
388420faa2 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2023-08-20 15:40:43 -04:00
0TTA
24201ef2e9 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2023-08-20 15:40:43 -04:00
Claus Vium
956e3dab43 fix: accessing Standard* of a Process requires manually disposing them afterwards (#10125) 2023-08-20 20:06:57 +02:00
Bond-009
260680d727 Merge pull request #10122 from cvium/remove_unnecessary_memorycache 2023-08-20 20:06:21 +02:00
null
8dc58e8f04 Added handling of FFmpeg:probesize variable 2023-08-20 21:31:14 +04:00
cvium
2e32e335ac refactor: use ConcurrentDictionary when IMemoryCache isn't needed 2023-08-18 14:00:56 +02:00
TelepathicWalrus
4c7fb8f452 Album gain (#10085)
* Add LUFSAlbum DTO

* Get loudest track for smallest gain

* Move gain search to musicalbum
use baseitem LUFS for album

* Use .Max for enumerable

* Update DTO to be consistent with other DTOs

* Remove albumlufs,
Move dto for all types
2023-08-18 10:25:56 +02:00
Bond-009
da030ed589 Merge pull request #10117 from Elu43/master
Fix French parental rating system
2023-08-18 10:25:06 +02:00
Bond-009
2b66013797 Merge pull request #10120 from sambartik/add-sk-parental-rating
Add Slovak parental ratings
2023-08-18 10:24:48 +02:00
Nick
65b269c151 Minor code formatting (cvium) 2023-08-16 21:31:34 -07:00
Samuel Bartík
71e4ea1314 Add Slovak parental ratings 2023-08-17 01:07:14 +02:00
Bond-009
27076755af Merge pull request #10119 from jellyfin/renovate/vstest-monorepo 2023-08-16 20:13:55 +02:00
renovate[bot]
a1b06bdcc8 chore(deps): update dependency microsoft.net.test.sdk to v17.7.1 2023-08-16 17:19:44 +00:00
Elu43
769953ad55 Update fr.csv 2023-08-16 15:33:58 +02:00
Bond-009
79e8749b5e Merge pull request #10111 from jellyfin/renovate/ci-deps 2023-08-14 20:23:14 +02:00
renovate[bot]
956f719724 chore(deps): update github/codeql-action action to v2.21.4 2023-08-14 15:49:02 +00:00
Claus Vium
3e9bead697 Merge pull request #10090 from scampower3/Metadata-refresh-fix
Fixes metadata refresh problems with NFO files
2023-08-11 10:25:28 +02:00
Claus Vium
b9dee524da Merge pull request #10083 from jellyfin/renovate/vstest-monorepo
Update dependency Microsoft.NET.Test.Sdk to v17.7.0
2023-08-10 12:10:44 +02:00
Claus Vium
12c6c1d0a7 Merge pull request #10100 from jellyfin/renovate/ci-deps
Update github/codeql-action action to v2.21.3
2023-08-10 12:10:17 +02:00
scampower3
36a2ea69af Merge branch 'master' into master 2023-08-10 17:49:26 +08:00
Claus Vium
710f5916f0 Merge pull request #9669 from sleepycatcoding/master
Fix subtitle encoder if webvtt is requested
2023-08-10 11:35:20 +02:00
Claus Vium
1e2f199ea4 Merge pull request #10053 from christianlegge/date-formats
Add parsing for dates with spaces
2023-08-10 10:16:20 +02:00
Claus Vium
9d6f05d73f Merge pull request #10097 from Bond-009/fixtest2
Fix error in test preventing Moq update (#10096)
2023-08-10 09:54:22 +02:00
renovate[bot]
7f97b18d16 chore(deps): update github/codeql-action action to v2.21.3 2023-08-08 16:38:12 +00:00
Bond_009
084e0bf450 Fix error in test preventing Moq update (#10096) 2023-08-08 14:17:46 +02:00
scatter-dev
a09daa11ea cleaner regex formatting 2023-08-07 14:03:36 -04:00
Bond-009
f42abf970a Merge pull request #10074 from nyanmisaka/farewell-rocm 2023-08-07 14:13:19 +02:00
LJQ
a0011886b0 Fixes metadata refresh problems with NFO files 2023-08-06 16:14:33 +08:00
LJQ
4271f7b5ad Added me to CONTRIBUTORS.md 2023-08-05 13:29:31 +08:00
renovate[bot]
57c528192a chore(deps): update dependency microsoft.net.test.sdk to v17.7.0 2023-08-04 18:03:59 +00:00
LJQ
0676b878f3 Removed unused imports 2023-08-04 21:25:43 +08:00
LJQ
28a6694f6e Combined Title and Overview for multi-episodes files for the TMDB provider 2023-08-04 21:19:08 +08:00
nyanmisaka
44946ded4e Disable AMD EFC feature since it's still unstable in upstream
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-03 19:16:46 +08:00
nyanmisaka
5b71cd8af9 Expand AMD VA-API Vulkan filtering support to Polaris/gfx8
ROCm OpenCL runtime is not needed anymore when using HDR tone-mapping on Polaris/gfx8.

This change requires jellyfin-ffmpeg5 5.1.3-4 or jellyfin-ffmpeg6 6.0-5
or newer versions.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-08-03 06:24:02 +08:00
sleepycatcoding
f669d4a72e Add contributor 2023-08-02 15:15:41 +03:00
sleepycatcoding
62be2a2ea9 Fix subtitle encoder if webvtt is requested 2023-08-02 15:15:41 +03:00
Bond-009
e5dcaa6ed5 Merge pull request #10062 from lonebyte/m4a-metadata-probing-fix 2023-08-01 20:29:58 +02:00
Bond-009
c2bb6adc56 Merge pull request #10035 from MBR-0001/subtitle-improvements-1 2023-08-01 20:27:54 +02:00
Bond-009
623027315b Merge pull request #10029 from tallbl0nde/fix-multi-disc-album-art-extraction 2023-08-01 20:27:18 +02:00
Bond-009
07727e1d63 Merge pull request #9875 from Shadowghost/fixes 2023-08-01 20:26:21 +02:00
Bond-009
57b9e500c2 Merge pull request #10060 from lonebyte/password-reset-warning-fix 2023-08-01 19:43:22 +02:00
Jan Müller
79cff704ff Allow flac inside mp4 for all HLS audio streams
The -strict -2 setting was only added if the encoder was set to 'copy'.
If 'flac' is explicitly requested, we also need to set it, so that
ffmpeg doesn't abort the conversion.

Fixes: #10066
2023-08-01 19:12:52 +02:00
Jan Müller
19fb061381 Correct the HLS Opus codec string
Apple doesn't support Opus via HLS yet, but if they ever do, they will
definitely expect "Opus" instead of "opus".

See https://mp4ra.org/#/codecs

Fixes: #10066
2023-08-01 19:06:30 +02:00
Jan Müller
e9f23c61c9 Fix the fLaC/flac HLS issue also for audio-only
I moved the first application of the workaround out of the if block
so that it also applies to audio-only streams. The workaround was
extended likewise.

We should first and foremost adhere to the specifications and apply
workarounds afterwards for software that doesn't follow them. So I
turned around the workaround to first output the fLaC variant and then
the alternative flac variant.

Fixes: #10066
2023-08-01 17:11:32 +02:00
Jan Müller
66ff724acf Fix the probing of m4a metadata
The composer is not set in some of my m4a files. For some reason
TagLibSharp returns the composer as an empty string in this case. This
causes an exception in PeopleHelper.AddPerson, and thus probing fails.

IMHO we can simply ignore empty values.

Fixes: #10061
2023-07-31 22:19:06 +02:00
Jan Müller
dd75f35a1a Fix the is-local check when resetting the password
This fixes the check whether a warning should be logged when resetting
the password from outside the local network.

Fixes: #10059
2023-07-31 21:49:51 +02:00
Bond-009
d3c7af0d5c Fix Jellyfin.Networking.Tests (#10055) 2023-07-29 15:52:26 -06:00
Bond_009
5677566a41 Enable nullable for more files 2023-07-29 21:35:38 +02:00
Nyanmisaka
148c86ee0d Only disable the global_header for AMD HEVC encoder (#10045) 2023-07-29 06:52:58 -06:00
MBR-0001
9564248b10 Add ability to upload (and save) SDH subtitles (#10036) 2023-07-29 06:52:35 -06:00
Bond-009
2d14b065a8 Merge pull request #10049 from Shadowghost/fix-format-normalizer
Fix format normalizer for multiple input formats
2023-07-29 14:16:04 +02:00
Shadowghost
4bb17039d7 Apply review suggestions 2023-07-29 13:50:55 +02:00
Bond-009
71b1009258 Merge pull request #10016 from jellyfin/renovate/prometheus-net.aspnetcore-8.x
chore(deps): update dependency prometheus-net.aspnetcore to v8.0.1
2023-07-29 13:49:57 +02:00
Shadowghost
048cb208b2 Fix Australian parental rating system (#10006) 2023-07-28 22:55:54 -06:00
renovate[bot]
b355ee4327 chore(deps): update dependency prometheus-net.aspnetcore to v8.0.1 2023-07-29 04:48:13 +00:00
renovate[bot]
11b3ae2a03 chore(deps): update github/codeql-action action to v2.21.2 (#10043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-28 22:47:20 -06:00
renovate[bot]
c5783b4261 chore(deps): update dotnet monorepo to v7.0.9 (#9989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-07-28 22:47:10 -06:00
Shadowghost
f20856411e Fix format normalizer for multiple input formats 2023-07-28 22:52:54 +02:00
scatter-dev
14a762b2f1 added test case, fixed regexes 2023-07-28 16:06:55 -04:00
scatter-dev
2b5774ccf3 add parsing for date with spaces, fix for underscores 2023-07-28 09:54:28 -04:00
Hugues Larrive
0bf92186a5 Add program directories to JELLYFIN_ARGS for sysvinit compatibility 2023-07-25 17:37:47 +02:00
MBR#0001
82d79d2dff Add support for more remote subtitle info 2023-07-23 21:11:15 +02:00
tallbl0nde
b8e5afbc10 Enable recursive query in BaseFolderImageProvider
Fixes album art not being extracted for multi-disc albums
2023-07-21 19:16:01 +09:30
Bond-009
db347eb7d8 Merge pull request #9992 from Blackskyliner/patch-1 2023-07-20 23:55:03 +02:00
Bond-009
bdaf0b4afe Merge pull request #10022 from cvium/fix_dlna_sendrequest 2023-07-20 18:10:05 +02:00
Bond-009
62f055d97f Merge pull request #10024 from jellyfin/renovate/ci-deps 2023-07-20 18:09:53 +02:00
Bond-009
70dd6dc450 Merge pull request #10023 from jellyfin/renovate/serilog.sinks.graylog-3.x 2023-07-20 18:08:50 +02:00
Christoph Landsdorf
48eb6f655b Change: Update parental code count for DE in test 2023-07-20 10:10:02 +00:00
renovate[bot]
8243a79115 chore(deps): update github/codeql-action action to v2.21.0 2023-07-19 15:42:07 +00:00
renovate[bot]
356803edf4 chore(deps): update dependency serilog.sinks.graylog to v3.0.2 2023-07-19 15:42:01 +00:00
cvium
4b25d65c02 fix: set memorystream position after copying 2023-07-19 12:12:58 +02:00
Bond-009
5ae164c79a Merge pull request #10015 from jellyfin/renovate/prometheus-net-8.x 2023-07-18 13:15:21 +02:00
renovate[bot]
b0cd1a4bf4 chore(deps): update dependency prometheus-net to v8.0.1 2023-07-18 08:10:08 +00:00
Jothi Prasath
fbe8388f82 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2023-07-17 09:41:52 -04:00
Yaron Shahrabani
a17f8c56b6 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2023-07-17 09:41:52 -04:00
Bond-009
9de667f8ce Merge pull request #9987 from Sky-High/fix-migration 2023-07-15 22:52:23 +02:00
Shadowghost
368f9202ce Apply review suggestions 2023-07-15 20:15:11 +02:00
renovate[bot]
ce2520e0cf chore(deps): update github/codeql-action action to v2.20.4 (#9997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-14 18:47:32 -06:00
Osa
4d2e612693 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2023-07-13 17:54:56 -04:00
Christoph Landsdorf
bfc0056426 Add TinyMediaManager compatibility for german parental rating
This commit adds the format which gets written by
 the tool TinyMediaManager which can be used to
 manage large media databases comfortably.

TMM writes wither multiple Codes and/or space
 divided german FSK codes, but can't be configured
 to only use the number or the slash delimited variant.

After this change the parental control for Libraries
 managed with TMM and presented/loaded into Jellyfin
 should work again.
2023-07-12 20:32:43 +02:00
Sky-High
06b80a8ced fix for MigrateNetworkConfiguration.cs 2023-07-11 20:28:52 +02:00
Sky-High
78c17ba895 fix #9983 MigrateNetworkConfiguration error 2023-07-11 02:13:55 +02:00
Aran Chananar
1ea8150b0c Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2023-07-10 01:41:49 -04:00
Bond-009
2a02170944 Merge pull request #9971 from jellyfin/renovate/blurhashsharp.skiasharp-1.x 2023-07-07 17:21:31 +02:00
renovate[bot]
4f9dc53e6e chore(deps): update dependency blurhashsharp.skiasharp to v1.3.0 2023-07-07 13:12:02 +00:00
Bond-009
23aaf027e5 Merge pull request #9970 from jellyfin/renovate/blurhashsharp-1.x 2023-07-07 15:11:30 +02:00
Bond-009
afc7d6f04b Merge pull request #9973 from jellyfin/renovate/xunit.runner.visualstudio-2.x 2023-07-07 15:10:50 +02:00
Shadowghost
266d55b7aa Fix bad string interpolation in MaskToCidr 2023-07-07 08:52:14 +02:00
Shadowghost
a0d13a2418 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-07-07 08:50:37 +02:00
Shadowghost
05d98fe24c Enforce permissions on websocket connections 2023-07-07 08:50:37 +02:00
Shadowghost
46a6755e65 Add item id to playback start/stop events 2023-07-07 08:50:37 +02:00
Shadowghost
958f8f71e8 Add wrapper object for authentication event information 2023-07-07 08:50:37 +02:00
renovate[bot]
60685e9c63 chore(deps): update dependency xunit.runner.visualstudio to v2.5.0 2023-07-06 23:28:51 +00:00
renovate[bot]
5f2568d9ed chore(deps): update dependency blurhashsharp to v1.3.0 2023-07-06 19:07:57 +00:00
Bond-009
5b711f38d1 Merge pull request #9958 from Shadowghost/networking-fixex 2023-07-06 19:56:17 +02:00
Bond-009
b95fa294c9 Merge pull request #9799 from Bond-009/genregex 2023-07-06 19:56:00 +02:00
Bond-009
fb9412b65a Merge pull request #9969 from jellyfin/renovate/ci-deps 2023-07-06 19:47:07 +02:00
renovate[bot]
99d3f9c4b2 chore(deps): update github/codeql-action action to v2.20.3 2023-07-06 14:03:31 +00:00
Balázs Meskó
fd56296270 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2023-07-06 09:41:47 -04:00
Shadowghost
2bc2848b8e Apply review suggestions 2023-07-04 14:35:51 +02:00
Oskari Lavinto
3ab8235358 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2023-07-04 00:41:47 -04:00
Shadowghost
e56275fb46 Extract networking constants 2023-07-03 22:04:59 +02:00
Joshua M. Boniface
93b400343e Merge pull request #8147 from Shadowghost/network-rewrite 2023-07-03 13:16:21 -04:00
Bond-009
44cc3ee442 Merge pull request #9957 from jellyfin/renovate/ci-deps 2023-07-03 17:33:49 +02:00
Shadowghost
e233a3b074 Apply review suggestions 2023-07-03 15:59:39 +02:00
Shadowghost
32ac3b580c Rename additional values in NetworkConfiguration and add migration for all changed values 2023-07-03 14:03:33 +02:00
renovate[bot]
c9dd58928b chore(deps): update github/codeql-action action to v2.20.2 2023-07-03 11:20:32 +00:00
Shadowghost
3f65851520 Apply review suggestions 2023-07-03 10:03:39 +02:00
Claus Vium
10fde0a2c1 Merge pull request #8914 from bradbeattie/augmented-tag-searching
Augment tag searching to consider individual ItemValues instead of the delimited tags field
2023-07-03 08:51:46 +02:00
Cody Robibero
52252fcd55 Fix sending websocket messages (#9948) 2023-07-02 16:14:44 -06:00
Bond-009
ba8f4757fd Merge pull request #9950 from jellyfin/renovate/sharpfuzz-2.x
chore(deps): update dependency sharpfuzz to v2.1.1
2023-07-02 22:48:08 +02:00
Bond-009
0d92320f96 Merge pull request #9949 from jellyfin/renovate/fscheck.xunit-2.x
chore(deps): update dependency fscheck.xunit to v2.16.6
2023-07-02 22:47:57 +02:00
renovate[bot]
29308bbba7 chore(deps): update dependency sharpfuzz to v2.1.1 2023-07-02 17:17:57 +00:00
renovate[bot]
649d884d20 chore(deps): update dependency fscheck.xunit to v2.16.6 2023-07-02 17:17:48 +00:00
Shadowghost
9b0e44019a Apply review suggestions 2023-07-02 12:40:49 +02:00
nyanmisaka
76538aacb9 Backport pull request #9928 from jellyfin/release-10.8.z
Disable global_header on AMD VA-API encoder

Original-merge: a732a28229

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-07-02 01:41:17 -04:00
Nick
0e1ae2def2 Add CreateTiles to ITrickplayManager 2023-07-01 16:16:41 -07:00
Claus Vium
80f1f5e00d Merge pull request #9219 from ProfessionalismIsMyMiddleName/master
Add a way to handle more invalid characters when sanitizing a filename
2023-07-01 19:39:38 +02:00
Claus Vium
bfb7c60f72 Merge pull request #9447 from Bond-009/disablerealtimemonitor
Disable real time monitoring by default
2023-07-01 19:33:53 +02:00
Claus Vium
eae92c5acc Merge pull request #9920 from nielsvanvelzen/lyric-parser 2023-07-01 18:28:35 +02:00
Niels van Velzen
0af5373f6d Use string.IsNullOrEmpty 2023-07-01 14:07:59 +02:00
Niels van Velzen
0ae4d175a1 Check for empty string in DefaultLyricProvider 2023-07-01 11:16:21 +02:00
Ronan Charles-Lorel
4dc87a6f93 Align indentation on bottom brace of new list
Should stop error SA1137 in debug build
2023-07-01 03:37:18 +02:00
Ronan Charles-Lorel
c21140eeb5 Formatting
Fixes debug build?

Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-07-01 03:24:19 +02:00
Niels van Velzen
6be45f73bc Simplify file extension checks in lyrics parsers and provider 2023-06-29 21:16:29 +02:00
Ronan Charles-Lorel
07c142d5bd Moving invalid chars list at class level with a better name 2023-06-29 16:04:45 +02:00
Ronan Charles-Lorel
46763b7661 Remove call to Path.GetInvalidFileNameChars
Superseded by a static char list to avoid platform-dependent issues
2023-06-29 15:21:39 +02:00
Ronan Charles-Lorel
e108183b13 Merge branch 'jellyfin:master' into master 2023-06-29 15:08:52 +02:00
Cody Robibero
b5bbb98175 Fix Websocket OpenApi (#9935)
* Further split inbound and outbound messages

* Fix datatype for inbound start messages

* fixes from review
2023-06-29 05:44:36 -06:00
Nick
6d9e43cfe0 Merge branch 'master' into trickplay 2023-06-28 21:43:23 -07:00
Joshua M. Boniface
76939bbd9b Merge pull request #9231 from JPVenson/bugfix/1907_CleanupCollections 2023-06-28 17:44:11 -04:00
Bond-009
83d6f21fd0 Fix clean regex 2023-06-28 17:40:00 +02:00
Bond-009
e53e53eb29 Merge pull request #9907 from nyanmisaka/av1e 2023-06-28 17:34:20 +02:00
Bond-009
4ac07f6c76 Merge pull request #9890 from Shadowghost/videorange-rework 2023-06-28 17:30:26 +02:00
Bond_009
b5f0760db8 Use RegexGenerator where possible 2023-06-28 17:07:57 +02:00
Shadowghost
20a4509991 Migrate VideoRange and VideoRangeType to Enum 2023-06-28 12:02:20 +02:00
Bond-009
f954dc5c96 Do HEAD request to get content type instead of checking for extension (#8823) 2023-06-27 21:36:39 -06:00
JPVenson
3d635269eb Fixed RTL text not beeing rendered properly on Lib images (#9612)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-06-27 21:32:31 -06:00
Craig Andrews
e935d787ef chore(ci): add labels to docker images (#9210) 2023-06-27 21:20:41 -06:00
Cody Robibero
cc82ca189f suggestions from review 2023-06-27 21:19:15 -06:00
Bond-009
1e38bc80de Merge pull request #9909 from Bond-009/playlist 2023-06-27 16:22:08 +02:00
Bond-009
301e7ee840 Merge pull request #9936 from jellyfin/renovate/vstest-monorepo 2023-06-27 16:19:39 +02:00
Bond-009
7c83b6c1a7 Merge pull request #9933 from nielsvanvelzen/user-policy-enable-collection-management-default 2023-06-27 16:19:31 +02:00
Shadowghost
a6e9824e8a Merge branch 'master' into network-rewrite 2023-06-27 16:15:57 +02:00
JPVenson
0f60ec3013 Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionPathsTask.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-06-27 16:05:07 +02:00
renovate[bot]
215def56e8 chore(deps): update dependency microsoft.net.test.sdk to v17.6.3 2023-06-27 13:58:53 +00:00
Niels van Velzen
a8486a7b3b Add default value to OpenAPI specification for UserPolicy.EnableCollectionManagement
This fixes a breaking API change during authentication
2023-06-27 14:00:02 +02:00
Bond-009
399cb8d816 Merge pull request #9932 from jellyfin/renovate/sharpfuzz-2.x 2023-06-27 13:31:24 +02:00
Nick
fc61933748 Minor code changes 2023-06-26 22:04:39 -07:00
Nick
ab20ceaad6 Migrate to trickplay table to EF. Rename vars/methods/members to have consistent use of tile and thumbnail 2023-06-26 17:40:10 -07:00
renovate[bot]
d2e88c92cf chore(deps): update dependency sharpfuzz to v2.1.0 2023-06-26 19:55:55 +00:00
nyanmisaka
df880ff785 Apply suggestions from code review
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-25 21:39:25 +08:00
Sushil Shrestha
45ed1d9f88 Translated using Weblate (Nepali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ne/
2023-06-24 11:41:43 -04:00
Niels van Velzen
1ed5f0a624 Move line break characters to static readonly string array in TxtLyricParser 2023-06-24 09:25:25 +02:00
Nick
a2a144869d Minor code fixes (cvium) 2023-06-23 14:30:55 -07:00
Nick
619d1d47f2 Move GetHlsPlaylist to ITrickplayManager 2023-06-23 14:22:00 -07:00
renovate[bot]
b27153fd31 chore(deps): update dotnet monorepo to v7.0.8 (#9919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-06-23 14:25:37 -06:00
Niels van Velzen
6de56f0518 Add support for lyric provider plugins 2023-06-23 21:13:20 +02:00
Nick
0e2c362078 Move SkiaSharp related code to Jellyfin.Drawing and IImageEncoder 2023-06-22 16:23:52 -07:00
Nick
049361b66c TrickplayController return 404 if playlist doesn't exist. Minor code style/format changes (crobibero) 2023-06-22 16:23:52 -07:00
Nick
a9594cd8b4 Minor code change 2023-06-22 16:23:52 -07:00
Nick
f82af04781 Trickplay task pagination 2023-06-22 16:23:52 -07:00
Nick
d338253242 Fix styling for string builder 2023-06-22 16:23:52 -07:00
Nick
98e41d5a14 Styling, format, minor code changes (crobibero) 2023-06-22 16:23:52 -07:00
Nick
07e6804f7a Change default threads to 1 2023-06-22 16:23:52 -07:00
Nick
3377032228 crobibero styling, format, code suggestions 2023-06-22 16:23:52 -07:00
Nick
dd8ef08592 Move fps filter to GetVideoProcessingFilterParam 2023-06-22 16:23:52 -07:00
Nick
b89bf5d735 Change defaults 2023-06-22 16:23:52 -07:00
Nick
e8ca278266 Add names to contributors 2023-06-22 16:23:52 -07:00
Nick
d7fd54197c Task localization 2023-06-22 16:23:52 -07:00
Nick
fe1c9d43ce Fix using order 2023-06-22 16:23:52 -07:00
nicknsy
0f053f0fe0 Change generation task to search recursively 2023-06-22 16:23:51 -07:00
nicknsy
79a0e36b90 Remove max runtime 2023-06-22 16:23:51 -07:00
nicknsy
2e2085a212 HashSet datatype was causing default values to always be added on server start 2023-06-22 16:23:51 -07:00
nicknsy
d84370a6f7 Make trickplay response ids have no dashes 2023-06-22 16:23:51 -07:00
nicknsy
6744e712d3 Use config values 2023-06-22 16:23:51 -07:00
nicknsy
d448cc18ea update 2023-06-22 16:19:59 -07:00
nicknsy
6c649a7e72 Options 2023-06-22 16:19:59 -07:00
nicknsy
16ea7baad4 Stay consistent with patch branch 2023-06-22 16:19:59 -07:00
nicknsy
31a858f520 IsAutomated not set on copy 2023-06-22 16:19:59 -07:00
nicknsy
b18d6bd356 Trickplay playlist and image controller 2023-06-22 16:19:59 -07:00
nicknsy
515ee90fb9 Hls playlist 2023-06-22 16:19:59 -07:00
nicknsy
ca7d1a1300 Trickplay generation, manager, storage 2023-06-22 16:19:59 -07:00
Bond-009
a1eb2f6ea8 Merge pull request #9915 from Bond-009/stylecop 2023-06-22 13:26:18 +02:00
Bond-009
3982b0e057 Reduce bottlenecks scan code (#9863) 2023-06-21 21:01:47 -06:00
Bond_009
b84eedd0b9 Update stylecop.analyzers to v1.2.0-beta.507 2023-06-22 00:39:32 +02:00
Bond-009
d14b1a1600 Merge pull request #9912 from jellyfin/renovate/ci-deps 2023-06-21 17:52:38 +02:00
renovate[bot]
5c9f880ae5 chore(deps): update github/codeql-action action to v2.20.1 2023-06-21 13:13:34 +00:00
Shadowghost
67a58df1a3 Merge branch 'master' into network-rewrite 2023-06-21 07:57:00 +02:00
Bond-009
143f2abd38 Merge pull request #9894 from fhriley/fix_hardcoded_timer 2023-06-20 18:23:47 +02:00
Bond_009
f04cfd6ef4 Don't ignore parentId for playlists 2023-06-20 18:06:30 +02:00
Nyanmisaka
f8d7f4acdb Apply suggestions from code review
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-06-20 05:09:22 +08:00
Nyanmisaka
3b12dc6d7a Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-06-20 04:18:55 +08:00
nyanmisaka
990bcc507f Remove unused lines
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
27d0d8a7f2 Refine SwDec and QSV encoding
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
be01aeecd9 Add AV1 hardware and software encoding
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
0df6fd9cf2 Add AV1 support in HLS streaming
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
Bond-009
c078391aec Merge pull request #9906 from crobibero/update-gha 2023-06-19 21:03:45 +02:00
Cody Robibero
30f6c0a397 Update .github/workflows/openapi.yml
Co-authored-by: Jorge <46056498+jorgectf@users.noreply.github.com>
2023-06-19 08:51:01 -06:00
Frank Riley
1952a915e6 Move hardcoded LibraryUpdateDuration to ServerConfiguration. Fixes #9893.
Signed-off-by: Frank Riley <fhriley@gmail.com>
2023-06-19 07:31:22 -07:00
Cody Robibero
dc91d34c60 Use intermediate env 2023-06-19 07:56:15 -06:00
Cody Robibero
4972fbf2a3 Merge pull request #8744 from DomiStyle/segment-deletion 2023-06-19 06:50:13 -06:00
renovate[bot]
db15c590e3 chore(deps): update github/codeql-action action to v2.20.0 (#9887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-18 19:23:06 -06:00
renovate[bot]
7dec2608fc chore(deps): update dotnet monorepo (#9886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-06-18 19:22:57 -06:00
Bond-009
82aa22805a Merge pull request #9902 from nyanmisaka/fix-9642-backport 2023-06-19 00:45:28 +02:00
nyanmisaka
f81b004d3f Removed unused lines
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 10:00:53 +08:00
nyanmisaka
a81f3e7c97 Fix #9642 backport
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-18 09:59:55 +08:00
Dominik
dbe44a591c Pick safer default value for segments to keep 2023-06-15 21:38:45 +02:00
Dominik
0dffe64489 Add baseUrlParam back in and fix indentation 2023-06-15 19:55:11 +02:00
Dominik
17f1e8d19b Merge branch 'master' into segment-deletion 2023-06-15 19:38:42 +02:00
Shadowghost
32499f0e98 Merge branch 'master' into network-rewrite 2023-06-15 17:53:52 +02:00
renovate[bot]
6771b5cabe chore(deps): update dependency serilog.sinks.graylog to v3.0.1 (#9892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 09:37:38 -06:00
Bond-009
d874262bf9 Merge pull request #9882 from nyanmisaka/fix-sync-amd-va-vk 2023-06-13 18:04:28 +02:00
nyanmisaka
23b9055547 Rearrage the Amd vaapi-vulkan pipeline for synchronization
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-13 23:15:30 +08:00
Dmitry Lyzo
14d061f543 Backport pull request #9723 from jellyfin/release-10.8.z
Fix multiple codec checking in CodecProfiles conditions

Original-merge: bec8d7b3f5

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

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:55:16 -04:00
nyanmisaka
fdc16e23c4 Backport pull request #9671 from jellyfin/release-10.8.z
Fix the canvas size for DVBSUB and DVDSUB subtitles

Original-merge: eba95cc7f0

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:55:15 -04:00
nyanmisaka
4c8d382765 Backport pull request #9642 from jellyfin/release-10.8.z
Fix the brightness of VPP tonemap and add the tonemap mode

Original-merge: d5a8419bc5

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:53:35 -04:00
TheTyrius
67bc81ec96 Backport pull request #9538 from jellyfin/release-10.8.z
Fix nvenc preset order

Original-merge: 79bb7560dc

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:44:06 -04:00
nyanmisaka
ed88c8bd2d Backport pull request #9411 from jellyfin/release-10.8.z
Fix codec checking in CodecProfiles conditions

Original-merge: 5921379a29

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

Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:44:06 -04:00
Cody Robibero
fe9e764af2 Merge pull request #9564 from AmbulantRex/whitelist-dlls 2023-06-10 07:28:37 -06:00
Cody Robibero
9a0dfc00f1 Add all websocket messages to generated openapi spec (#9682)
* Add all websocket messages to generated openapi spec

* Use oneOf

* JsonIgnore ServerId

* Oops

* Add discriminators

* Add WebSocketMessage container for Inbound and Outbound messages
2023-06-10 07:28:21 -06:00
Cody Robibero
81cf798430 Merge pull request #8203 from Shadowghost/nfo-season-names
Implement NFO named season parsing
2023-06-10 07:27:54 -06:00
Cody Robibero
198b9aa530 Update MediaBrowser.Providers/TV/SeriesMetadataService.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-06-10 07:04:23 -06:00
Bond-009
898bb95564 Fix InvalidOpEx while trying to read HttpResponseContent 2x (#9861) 2023-06-10 07:01:47 -06:00
renovate[bot]
a5005e3d01 chore(deps): update dependency serilog.sinks.graylog to v3 (#9867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 07:01:34 -06:00
renovate[bot]
1330bd0b52 chore(deps): update actions/checkout action to v3.5.3 (#9876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-10 06:55:15 -06:00
Bond-009
c155ea1dec Merge pull request #9870 from jellyfin/renovate/ci-deps 2023-06-08 11:40:10 +02:00
renovate[bot]
40ca923a71 chore(deps): update peter-evans/create-or-update-comment action to v3.0.2 2023-06-08 09:11:25 +00:00
Shadowghost
006b04dc0b Merge branch 'master' into network-rewrite 2023-06-07 08:25:32 +02:00
Bond-009
60881eaa59 Merge pull request #9858 from jellyfin/nvv-baseitemdto-lufs-nullable 2023-06-06 21:48:54 +02:00
Bond-009
ba0148ab1c Merge pull request #9860 from jellyfin/renovate/vstest-monorepo 2023-06-06 21:02:52 +02:00
renovate[bot]
6e72ea3135 chore(deps): update dependency microsoft.net.test.sdk to v17.6.2 2023-06-06 18:09:02 +00:00
Niels van Velzen
d23578c46f Make LUFS property nullable in BaseItemDto
This fixes a regression from #9222 where the LUFS field in the OpenAPI spec was not nullable. This will cause issues with the Kotlin SDK.
2023-06-06 17:51:26 +02:00
Bond-009
a4a10f101e Merge pull request #9857 from crobibero/cache-size-tests 2023-06-06 14:31:01 +02:00
Cody Robibero
cb788dbd73 Mock configuration to get SqliteCacheSizeKey during test 2023-06-05 16:47:50 -06:00
Mark Lopez
29368a1566 Source SQLite cache_size from an Environment Variable (#9666) 2023-06-05 10:46:13 -06:00
Bond-009
aae22865a0 Merge pull request #9667 from Silvenga/restore-default-journal-size 2023-06-02 10:54:37 +02:00
Bucky Patel
093c2e0356 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-06-02 03:21:58 -04:00
Bond-009
a9a7f62baf Merge pull request #9846 from jellyfin/renovate/vstest-monorepo 2023-06-01 22:47:00 +02:00
Bond-009
ca130db805 Merge pull request #9847 from jellyfin/renovate/ci-deps 2023-06-01 22:46:52 +02:00
renovate[bot]
e0159c5d92 chore(deps): update github/codeql-action action to v2.3.6 2023-06-01 19:51:54 +00:00
renovate[bot]
b57ada9bb0 chore(deps): update dependency microsoft.net.test.sdk to v17.6.1 2023-06-01 19:51:48 +00:00
Bond-009
6dca53047f Merge pull request #9818 from Shadowghost/fixes 2023-05-30 10:00:53 +02:00
Cody Robibero
d8f0933f33 Merge pull request #9821 from cvium/admin_must_have_pw 2023-05-29 18:38:01 -06:00
Cody Robibero
cfca6fc56e Merge pull request #9820 from cvium/deprecate_easypassword 2023-05-29 18:37:26 -06:00
Bond-009
c14a6f5366 Merge pull request #9828 from jellyfin/renovate/ci-deps 2023-05-29 17:27:19 +02:00
Bond-009
f702b8f6b9 Merge pull request #9822 from jellyfin/renovate/playlistsnet-1.x 2023-05-29 17:11:06 +02:00
Bond-009
72d7b1afde Merge pull request #9823 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-05-29 17:10:55 +02:00
renovate[bot]
58473aa343 chore(deps): update actions/setup-dotnet action to v3.2.0 2023-05-29 13:42:21 +00:00
pranelio
1bf7840936 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2023-05-27 10:21:58 -04:00
renovate[bot]
f7b418465f chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.9.2 2023-05-27 08:49:15 +00:00
renovate[bot]
3ccac32f7e chore(deps): update dependency playlistsnet to v1.4.0 2023-05-26 21:28:05 +00:00
cvium
29ef02af9a do not allow empty admin password during wizard 2023-05-26 21:50:51 +02:00
cvium
57d8452e2a refactor: admin users must have a non-empty password 2023-05-26 19:52:27 +02:00
cvium
3bdef7207c chore: add db migrations 2023-05-26 19:45:53 +02:00
cvium
b33f46560d use 403 instead to avoid compat issues with swagger spec 2023-05-26 19:45:40 +02:00
cvium
716bcc6410 chore: deprecate EasyPassword as it isn't very secure 2023-05-26 19:40:40 +02:00
Bond-009
4a9bcbd626 Merge pull request #9816 from jellyfin/renovate/ci-deps 2023-05-26 13:10:27 +02:00
Shadowghost
81746666de Fix TotalRecordCount calculation 2023-05-26 11:06:04 +02:00
renovate[bot]
71e867d10f chore(deps): update github/codeql-action action to v2.3.5 2023-05-26 00:11:24 +00:00
Shadowghost
a381cd3c76 Apply review suggestions 2023-05-25 17:10:53 +02:00
Shadowghost
d8d5c86d49 Merge branch 'master' into network-rewrite 2023-05-25 17:07:43 +02:00
Bond-009
d67f10ba8c Merge pull request #9811 from jellyfin/renovate/ci-deps 2023-05-25 16:39:20 +02:00
renovate[bot]
9839c0e97a chore(deps): update ci dependencies 2023-05-25 14:18:46 +00:00
Claus Vium
9cee32d730 Merge pull request #9803 from Bond-009/seriesimdb
Check for Imdb id for series
2023-05-25 09:56:04 +02:00
Bond-009
b4b902d26d Merge pull request #9808 from jellyfin/renovate/lrcparser-2023.x 2023-05-24 20:08:24 +02:00
renovate[bot]
7211571e20 chore(deps): update dependency lrcparser to v2023.524.0 2023-05-24 16:11:47 +00:00
Bond_009
b44c9eb88e Check for Imdb id for series 2023-05-23 16:23:25 +02:00
Shadowghost
b37e9209df Apply review suggestion 2023-05-22 10:39:58 +02:00
Bond-009
dd57303a27 Merge pull request #9794 from jellyfin/renovate/coverlet.collector-6.x 2023-05-22 09:24:59 +02:00
Shimul Roy
45e99d2523 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2023-05-21 14:21:58 -04:00
PakuDrag
bf90f502ae Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2023-05-21 14:21:58 -04:00
renovate[bot]
144cb60b90 chore(deps): update dependency coverlet.collector to v6 2023-05-21 15:14:12 +00:00
Shadowghost
a496da24e3 Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-05-21 13:52:43 +02:00
Shadowghost
6ddc449a89 Implement NFO named season parsing 2023-05-20 18:57:56 +02:00
Bond-009
f55ec1e773 Merge pull request #9791 from jellyfin/renovate/sqlitepclraw.bundle_e_sqlite3-2.x 2023-05-20 13:00:54 +02:00
renovate[bot]
c81508869b chore(deps): update dependency sqlitepclraw.bundle_e_sqlite3 to v2.1.5 2023-05-19 21:54:38 +00:00
renovate[bot]
02a0c0abc1 chore(deps): update dependency playlistsnet to v1.3.2 (#9786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-18 16:32:47 -06:00
Anvesh
3aa03a4640 Translated using Weblate (Telugu)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/te/
2023-05-18 04:21:44 -04:00
Abhinivesh Vijayan
55b10d298c Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2023-05-18 04:21:44 -04:00
Claus Vium
d1e52b6ee3 Merge pull request #9771 from Shadowghost/recursive-tags 2023-05-18 10:05:50 +02:00
Bond-009
b6cc072f9a Merge pull request #9766 from jellyfin/renovate/libse-3.x
chore(deps): update dependency libse to v3.6.13
2023-05-17 22:10:24 +02:00
Bond-009
45cd2db175 Merge pull request #9751 from jellyfin/renovate/serilog.aspnetcore-7.x
chore(deps): update dependency serilog.aspnetcore to v7
2023-05-17 22:10:13 +02:00
Bond-009
88f95a2053 Merge pull request #9778 from jellyfin/renovate/vstest-monorepo
chore(deps): update dependency microsoft.net.test.sdk to v17.6.0
2023-05-17 12:44:32 +02:00
renovate[bot]
61ca06662e chore(deps): update dependency microsoft.net.test.sdk to v17.6.0 2023-05-16 16:42:11 +00:00
Bill Thornton
dea1f60b0d Merge pull request #9776 from thornbill/default-files
Use default files to remove index.html from url
2023-05-16 00:49:54 -04:00
Claus Vium
3a9f4a3c6d Merge pull request #9775 from crobibero/readonlyspan
Fix readonlyspan usage
2023-05-15 23:13:21 +02:00
Claus Vium
315b13076b Merge pull request #9759 from seaeagle1/patch-malformedxml
Rescue malformed Xml response in DLNA PlayTo
2023-05-15 23:01:09 +02:00
Bill Thornton
155f3856c0 Use default files to remove index.html from url 2023-05-15 15:28:33 -04:00
Cody Robibero
c809c36b30 Fix readonlyspan usage 2023-05-15 06:55:28 -06:00
Shadowghost
eb52af4e6a Fix playlists library and migration (#9770) 2023-05-15 06:45:33 -06:00
TelepathicWalrus
603fce59df Audio normalization (#9222)
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-05-15 13:12:24 +02:00
Shadowghost
ec32c56d3f Set removed and added tags recursively 2023-05-14 21:45:46 +02:00
herby2212
ace89e4597 fix formatting and update summary 2023-05-14 15:05:03 +02:00
renovate[bot]
74b33da6fc chore(deps): update dependency libse to v3.6.13 2023-05-14 08:59:16 +00:00
SeaEagle1
126047bfd6 Use compile-time generated regex and remove loglevel check 2023-05-13 00:28:07 +02:00
SeaEagle1
9352a24374 Rescue PlayTo function in case of malformed Xml response
(port from 10.8 fix)
2023-05-12 20:46:01 +02:00
renovate[bot]
10fda7a041 chore(deps): update dependency serilog.aspnetcore to v7 2023-05-12 13:13:26 +00:00
renovate[bot]
47290a8c36 chore(deps): update dependency serilog.settings.configuration to v7 (#9752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-12 07:12:16 -06:00
Shadowghost
a8cdf4434b Fix access to playlists not created by a user (#9746) 2023-05-12 07:11:59 -06:00
Gustavs
fdda721394 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-05-11 18:27:22 -04:00
Shadowghost
c042f20224 Merge branch 'master' into network-rewrite 2023-05-11 15:41:39 +02:00
Cody Robibero
e1a30a4aef Merge pull request #8598 from Neuheit/ipv4fallback 2023-05-11 07:12:34 -06:00
SenorSmartyPants
11d7c00de9 Fix local JPG primary image for video being overwritten by screen grabber (#9552) 2023-05-10 17:46:55 -06:00
renovate[bot]
ffac062489 chore(deps): update fedora docker tag to v39 (#9482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-10 17:43:17 -06:00
Bond-009
756ee38d01 Remove ExtendedFileSystemInfo (#9749) 2023-05-10 17:39:57 -06:00
Shadowghost
bcf92b5722 Fix MigrateRatingLevels (#9461) 2023-05-10 17:38:54 -06:00
Shadowghost
d5fec4963e Fix FirstTimeSetupHandler not failing on invalid user if not in setup mode (#9747) 2023-05-10 14:05:27 -06:00
garikaib
f0bf5c4998 Translated using Weblate (Shona)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sn/
2023-05-10 14:20:53 -04:00
garikaib
b3b75d5bc2 Added translation using Weblate (Shona) 2023-05-10 01:01:16 -04:00
SuperDumbTM
b42a6119f5 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2023-05-09 09:48:54 -04:00
Shadowghost
6cc1203c1b Merge branch 'master' into network-rewrite 2023-05-09 15:25:41 +02:00
無情天
92a0d26f31 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2023-05-08 15:39:57 -04:00
Bond-009
9e416409f2 Merge pull request #9738 from olanwe/fix-scalefactor 2023-05-08 10:03:50 +02:00
Oliver Weyhmüller
fbc039b14b Fix scaleFactor limitation to 1 introduced by pull request #9485 2023-05-07 21:20:44 +02:00
Subham Jena
bceca0ae45 Translated using Weblate (Odia)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/or/
2023-05-07 14:39:43 -04:00
Brett Healey
898a04c9e3 Translated using Weblate (Welsh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cy/
2023-05-07 14:39:43 -04:00
TheSharingBrother
9ce152ecf6 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-05-07 14:39:43 -04:00
Bond-009
ab89026025 Merge pull request #9729 from 1337joe/add-artist-to-whitelist 2023-05-06 23:25:35 +02:00
Subham Jena
fa0a48b54e Added translation using Weblate (Odia) 2023-05-06 01:42:35 -04:00
Alan Azar
f2a41fe79f Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur_PK/
2023-05-05 20:39:01 -04:00
Bond-009
adb90c9c06 Merge pull request #9730 from jellyfin/renovate/ci-deps 2023-05-05 17:27:12 +02:00
renovate[bot]
d53eb51758 chore(deps): update github/codeql-action action to v2.3.3 2023-05-04 20:20:08 +00:00
Joe Rogers
ba336c25e1 Whitelist Smith/Kotzen 2023-05-04 15:04:38 -04:00
Cody Robibero
aaddc5a33e Merge pull request #9643 from Bond-009/sqlconnectionpool 2023-05-04 12:33:46 -06:00
Bond_009
8e1f0d53c1 nameof instead of GetType().Name 2023-05-04 14:42:39 +02:00
Meyu-Sys
5e2a1fb447 Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mr/
2023-05-03 18:39:42 -04:00
RJS
7b10957223 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2023-05-03 18:39:42 -04:00
Bond-009
304393b186 Merge pull request #9722 from jellyfin/renovate/sharpfuzz-2.x 2023-05-03 12:05:40 +02:00
Bond-009
643fdf9c1e Merge pull request #9719 from jellyfin/renovate/ci-deps 2023-05-03 12:04:30 +02:00
renovate[bot]
42eae764a6 chore(deps): update dependency sharpfuzz to v2.0.2 2023-05-02 15:06:13 +00:00
JPVenson
8b6fca59a1 Update Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionPathsTask.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-05-02 14:26:55 +02:00
renovate[bot]
4cddd64296 chore(deps): update peter-evans/create-or-update-comment action to v3.0.1 2023-05-02 03:28:33 +00:00
herby2212
e1190d15d6 option to disable and configure inactive session threshold 2023-05-01 20:11:22 +02:00
herby2212
8bb44b85d7 close inactive sessions after 10 minutes 2023-05-01 16:24:15 +02:00
renovate[bot]
08aac57529 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.9.1 (#9712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-01 07:56:03 -06:00
Oskari Lavinto
2c4f7ec52c Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2023-05-01 04:39:41 -04:00
Bond-009
af4e111d82 Merge pull request #9705 from fuchsmich/master 2023-04-30 12:16:59 +02:00
Michael Fuchs
a59ae91d5d Add artist to artist split whitelist
# Changes
Added an artist whose name has forward slashes in it to the artist "/" split whitelist

# Issues
Related to issue #2305
2023-04-29 13:47:09 +02:00
Bond-009
8b54225f0b Merge pull request #9698 from jellyfin/renovate/ci-deps 2023-04-28 11:02:46 +02:00
Bond-009
8c4c1e84e0 Merge pull request #9695 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-04-28 11:02:09 +02:00
renovate[bot]
73d69279ef chore(deps): update github/codeql-action action to v2.3.2 2023-04-28 01:00:44 +00:00
renovate[bot]
427b42c5bb chore(deps): update ci dependencies (#9684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-27 07:43:57 -06:00
renovate[bot]
a7054df54b chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.9.0 2023-04-27 13:06:02 +00:00
Mark Lopez
29889159e8 Increased the max journal_size_limit to reduce the number of truncation operations. 2023-04-24 06:19:37 -05:00
Bond_009
0d67901e37 Dispose BlockingCollection 2023-04-24 13:08:46 +02:00
Bond-009
6e14f26ec8 Merge pull request #9664 from jellyfin/renovate/ci-deps 2023-04-22 13:25:38 +02:00
renovate[bot]
b031448ef5 chore(deps): update github/codeql-action action to v2.3.0 2023-04-21 19:09:45 +00:00
Bond_009
13152bf09d Change number of read connections based on # of threads and add comments 2023-04-21 14:05:27 +02:00
Bond_009
8dba3a44fd Get write connection for vacuum 2023-04-21 14:04:37 +02:00
Bond_009
33f97045f9 Use BlockingCollection 2023-04-21 14:04:37 +02:00
Bond_009
858dadcdd1 POC sql connection pool 2023-04-21 14:04:37 +02:00
Penelope Gwen / Pogmommy
20cf27f637 Add artist to artist split whitelist (#9659) 2023-04-20 07:39:34 -06:00
SuperDumbTM
4b2b46c8f3 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2023-04-17 22:39:36 -04:00
Juan B
9c88752f22 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2023-04-17 22:39:36 -04:00
Bond-009
75389c1ac4 Merge pull request #9650 from jellyfin/renovate/actions-stale-8.x 2023-04-17 11:48:35 +02:00
AmbulantRex
c717425549 Remove unnecessary type extension and handle feedback. 2023-04-16 18:47:57 -06:00
renovate[bot]
0cc8bf38ac chore(deps): update actions/stale action to v8 2023-04-16 19:02:02 +00:00
Brett Petch
dfcf0cf292 fix: dead link (#9626) 2023-04-16 11:10:14 -06:00
Brad Beattie
ba5e51700e Fix null parental rating comparison (#9618) 2023-04-16 11:09:54 -06:00
AmbulantRex
92f50054b2 Add explicit mapping instead of reflection to manifest reconciliation. 2023-04-16 07:46:12 -06:00
同福客栈跑堂蘸糖
922e04dbf3 Translated using Weblate (Chinese (Literary))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lzh/
2023-04-15 19:04:49 -04:00
renovate[bot]
1fb4d94973 Update CI dependencies (#9640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-15 16:57:25 -06:00
Nyanmisaka
eb7e1a9a5a Update issue template to help HWA debugging (#9645)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-04-15 16:57:01 -06:00
renovate[bot]
d622fde89a Update dependency EFCoreSecondLevelCacheInterceptor to v3.8.8 (#9648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-15 16:56:12 -06:00
同福客栈跑堂蘸糖
5c370ff323 Added translation using Weblate (Chinese (Literary)) 2023-04-15 11:15:21 -04:00
SuperDumbTM
648240dad0 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2023-04-15 09:39:35 -04:00
AmbulantRex
4a0b135b7a Merge branch 'jellyfin:master' into whitelist-dlls 2023-04-15 07:11:33 -06:00
Bond-009
c2b88f1852 Merge pull request #9635 from Bond-009/sql 2023-04-14 00:11:13 +02:00
Aman Alam
39af7f668c Translated using Weblate (Punjabi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pa/
2023-04-12 23:39:34 -04:00
David Pereira Cruz
643755cfa3 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2023-04-12 23:39:34 -04:00
Bond_009
b69abd4d7d Properly dispose prepared statements 2023-04-13 01:50:57 +02:00
Bond-009
218b819a9f Merge pull request #9632 from jellyfin/renovate/ci-deps 2023-04-12 21:47:33 +02:00
renovate[bot]
486a4f1496 Update actions/checkout action to v3.5.1 2023-04-12 18:36:52 +00:00
renovate[bot]
7432f9fab2 Update dotnet monorepo to v7.0.5 (#9629)
* Update dotnet monorepo to v7.0.5

* Update docker sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-04-11 12:57:43 -06:00
JPVenson
3c22d5c970 #7626 Added handling for common FormatExceptions with Skia loading sv… (#9581)
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-04-10 21:38:07 +02:00
Bond-009
15c8854502 Merge pull request #9607 from goremykin/fix_analyzers_warnings_and_suggestions 2023-04-10 21:21:17 +02:00
felix920506
c92ad0dc4b Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2023-04-09 22:39:33 -04:00
Stepan Goremykin
890fe183cf Use default instead of zero for TranscodeReason 2023-04-10 01:44:56 +02:00
AmbulantRex
7dd4201971 Reconcile pre-packaged meta.json against manifest on install 2023-04-09 10:53:09 -06:00
Bond-009
c0b7f77c34 Merge pull request #9613 from bradbeattie/patch-1 2023-04-09 00:34:26 +02:00
Brad Beattie
9d37c0feec Augment similarity with person matches
The code comment says "genres, tags, studios, _person_, year?", but does no matching on common people between films. This PR augments similarity score treating people similar to tags.
2023-04-07 11:55:02 -07:00
Bond-009
f3db924452 Merge pull request #9609 from jellyfin/renovate/ci-deps 2023-04-06 23:54:23 +02:00
renovate[bot]
f47de6a9f9 Update github/codeql-action action to v2.2.11 2023-04-06 20:00:19 +00:00
argalion79
d8c5d55221 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-04-06 13:43:05 -04:00
Stepan Goremykin
910617bbc3 Remove redundant 'else' keywords 2023-04-06 19:38:34 +02:00
Stepan Goremykin
b6cfdb8b92 Simplify conditional expression 2023-04-06 19:30:17 +02:00
Stepan Goremykin
19e65269a2 Simplify linq expressions (use All) 2023-04-06 19:27:57 +02:00
Stepan Goremykin
dabdc86a1b Pass cancellation token 2023-04-06 19:25:25 +02:00
Stepan Goremykin
c051736c80 Inline out variable declaration 2023-04-06 19:21:29 +02:00
Stepan Goremykin
6ae1903453 Use TryAdd 2023-04-06 19:17:28 +02:00
Stepan Goremykin
9d738bb601 Remove redundant ToString call 2023-04-06 19:17:28 +02:00
Stepan Goremykin
08ce477226 Fix duplicate properties in message template warning 2023-04-06 19:17:28 +02:00
Stepan Goremykin
5508efc2e2 Remove bitwise operator on enum that is not marked by [Flags] attribute 2023-04-06 19:17:28 +02:00
Stepan Goremykin
1c0bb828d2 Fix argument is not used in message template warning 2023-04-06 19:17:28 +02:00
Stepan Goremykin
7d7e177265 Remove redundant casts 2023-04-06 19:17:28 +02:00
Stepan Goremykin
26958162d0 Remove unused using directives 2023-04-06 19:17:28 +02:00
Stepan Goremykin
2c03f7e85d Use TryGetValue 2023-04-06 19:17:28 +02:00
Stepan Goremykin
779a22a76a Remove redundant Cast 2023-04-06 19:17:27 +02:00
Bond-009
10659f9be7 Merge pull request #9584 from nyanmisaka/wa-va-vk-tearing 2023-04-06 16:29:36 +02:00
Bond-009
869b30e08b Merge pull request #9598 from jellyfin/renovate/ci-deps 2023-04-06 16:21:58 +02:00
Bond-009
f9a61b10e5 Merge pull request #9597 from jellyfin/renovate/peter-evans-create-or-update-comment-3.x 2023-04-06 16:21:36 +02:00
renovate[bot]
f794003a3a Update github/codeql-action action to v2.2.10 2023-04-05 17:09:22 +00:00
renovate[bot]
6b28e02cfc Update peter-evans/create-or-update-comment action to v3 2023-04-05 09:55:31 +00:00
SuperDumbTM
078d7da3da Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2023-04-05 05:39:32 -04:00
Bond-009
22d8806622 Merge pull request #9583 from goremykin/use_minby_and_maxby 2023-04-04 00:53:19 +02:00
nyanmisaka
3a25b03ea9 Fix vaapi-vulkan subtitle tearing issue
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-04-02 17:30:22 +08:00
Stepan Goremykin
2d24da406d Add "Emby" to exceptions 2023-04-01 23:01:20 +02:00
elmuffo
bb5bf0277a Implement check to hide all libraries when user has no access (#9536) 2023-04-01 15:01:05 -06:00
Stepan Goremykin
e74630a613 Use MinBy and MaxBy 2023-04-01 23:00:51 +02:00
AmbulantRex
3a731051ad Correct styling inconsistencies 2023-04-01 05:03:55 -06:00
AmbulantRex
a944352aa8 Correct style inconsistencies 2023-04-01 04:59:07 -06:00
Sahil Ahluwalia
eb59456e78 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-03-30 19:39:30 -04:00
pankajabhyam
56f5b37fbf Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-03-30 19:39:30 -04:00
Sunip Mukherjee
d1646e9b8d Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2023-03-30 19:39:30 -04:00
heim3x
945f2761d2 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2023-03-30 19:39:30 -04:00
AmbulantRex
677b1f8e34 Remove unnecessary using statements in PluginManager 2023-03-30 12:56:57 -06:00
AmbulantRex
891b9f7a99 Add DLL whitelist support for plugins 2023-03-30 08:59:21 -06:00
Marc Brooks
d45cabfa74 Fix migration for MusicBrainz (#9559) 2023-03-30 06:41:27 -06:00
Bill Thornton
726bc347aa Add action to close PRs with merge conflicts (#9561) 2023-03-30 06:40:29 -06:00
Bond-009
9d1144d365 Merge pull request #9545 from Bond-009/spc 2023-03-29 12:20:51 +02:00
Bond-009
a1eddbb330 Merge pull request #9541 from Bond-009/apikeydelete 2023-03-29 12:20:34 +02:00
Bond-009
9c500bdca3 Merge pull request #9466 from Shadowghost/playlist-fix 2023-03-28 10:58:48 +02:00
Bond_009
2c32d09348 Don't add .spc audio files (#9034) 2023-03-27 23:54:02 +02:00
Bond-009
6ed113c7e5 Merge pull request #9542 from jellyfin/renovate/ci-deps 2023-03-27 19:53:27 +02:00
renovate[bot]
c89e9e4812 Update github/codeql-action action to v2.2.9 2023-03-27 14:08:12 +00:00
Bond_009
8316bd590e Fix #7610 2023-03-27 15:22:21 +02:00
Bas
16bae527e5 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-03-26 12:39:28 -04:00
Cody Robibero
89be3aa37f Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Shadowghost
9211a73e40 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-25 18:41:09 +01:00
Calvin Ng
7ffe44d705 Translated using Weblate (Filipino)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fil/
2023-03-24 12:39:28 -04:00
Bond-009
061a839a37 Merge pull request #9533 from jellyfin/renovate/ci-deps 2023-03-24 13:49:54 +01:00
renovate[bot]
827afa9417 Update actions/checkout action to v3.5.0 2023-03-24 06:29:44 +00:00
Bond-009
78a165b575 Merge pull request #9530 from jellyfin/renovate/ci-deps 2023-03-23 08:54:09 +01:00
azam
93d43ffac1 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2023-03-22 17:39:27 -04:00
azam
e9821b8220 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2023-03-22 17:39:27 -04:00
renovate[bot]
ea76d5497f Update github/codeql-action action to v2.2.8 2023-03-22 19:31:32 +00:00
Cody Robibero
9fffe825e6 Merge pull request #9527 from jellyfin/renovate/actions-stale-8.x 2023-03-22 10:09:28 -06:00
Bill Thornton
058bd40ff4 Merge pull request #9529 from thornbill/add-merge-conflict-comment
Add merge conflict comment
2023-03-22 11:26:41 -04:00
Bill Thornton
09147a47cb Add merge conflict comment 2023-03-22 11:09:06 -04:00
renovate[bot]
e3a04b5d66 Update actions/stale action to v8 2023-03-22 12:55:43 +00:00
Cody Robibero
9f7418cf42 Merge pull request #9522 from knackebrot/fix-audio-vbr 2023-03-21 09:21:01 -06:00
knackebrot
e0a7e9baa0 Fix audio VBR calculation
Pass encoder, not codec
2023-03-21 15:01:32 +01:00
Àlex Bravo
6a39882a70 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2023-03-20 16:39:26 -04:00
Bond-009
2ce08eb184 Merge pull request #9388 from Shadowghost/output-bitrate-channels-master 2023-03-20 17:46:11 +01:00
Cody Robibero
dd491ce8ff Merge pull request #9403 from SenorSmartyPants/ExtraCleanAndNFO
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-20 07:16:03 -06:00
renovate[bot]
34200a79ea Update dependency Diacritics to v3.3.18 (#9516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-19 08:23:57 -06:00
Shadowghost
e57c33c442 Add DCA and TrueHD to fMP4 audio codecs to support remuxing 2023-03-19 15:07:01 +01:00
SenorSmartyPants
b9f7e3971e Add test for cleaning extra names 2023-03-18 21:52:04 -05:00
SenorSmartyPants
39677525f3 Don't overwrite NFO images (#9452)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-18 19:24:48 -06:00
Bond-009
b2461feffb Merge pull request #9496 from mammo0/fix_file_stacking 2023-03-18 14:17:59 +01:00
Bond-009
9ccfe3121f Merge pull request #9103 from DarrenRuane/darrenruane_fix_chapter_images_deletion 2023-03-18 12:38:12 +01:00
Bas
31dfbfdbdf Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-03-18 06:39:24 -04:00
Shadowghost
eba24d188d Update Emby.Server.Implementations/Playlists/PlaylistManager.cs
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
2023-03-18 10:49:52 +01:00
Bond-009
ce0e85c230 Merge pull request #9505 from Bond-009/theaan 2023-03-17 21:28:17 +01:00
Shadowghost
3f6a23d7d0 Fix condition in CanStreamCopyAudio 2023-03-17 11:49:07 +01:00
Shadowghost
82080bd1ef Apply review suggestions 2023-03-17 11:43:53 +01:00
Gabriele Bizzon
30556d8fc5 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2023-03-16 12:39:24 -04:00
Bond_009
2e4905ff05 Fix #9378
Remove sort words before replacing dots with spaces
2023-03-16 17:33:43 +01:00
Shadowghost
520c07e8ca Merge branch 'master' into network-rewrite 2023-03-16 11:07:22 +01:00
Bond-009
b313bd0920 Merge pull request #9502 from 1337joe/specify-full-action-versions 2023-03-16 11:07:20 +01:00
Joe Rogers
3503ea5171 Specify full action versions 2023-03-16 00:57:01 -04:00
renovate[bot]
24cc1e9aea Update actions/checkout digest to 24cb908 (#9501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-15 19:20:45 -06:00
Bond-009
cf1cb2eea5 Merge pull request #9418 from Bond-009/getawaiter 2023-03-15 18:30:03 +01:00
Bond-009
8d32ce168c Merge pull request #9498 from jellyfin/renovate/github-codeql-action-digest 2023-03-15 13:37:18 +01:00
renovate[bot]
a6d23906fd Update github/codeql-action digest to 168b99b 2023-03-15 12:16:36 +00:00
Bond-009
93cdd8ddda Merge pull request #9497 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-03-15 13:15:19 +01:00
mammo0
0fd46a100b fixed typo
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-03-15 13:01:39 +01:00
renovate[bot]
8d9cc9fdcc Update dependency EFCoreSecondLevelCacheInterceptor to v3.8.6 2023-03-15 11:34:32 +00:00
Bond-009
0c6e2e27a8 Merge pull request #9460 from Shadowghost/rating-overhaul 2023-03-15 12:09:59 +01:00
mammo0
90e8aad05d fixed FourSisters test case
The files should be treated as separate movies and should not be stacked, because the parttype is missing.
2023-03-15 11:56:11 +01:00
mammo0
1c57c52474 fixed stacking test cases
Movies should not be stacked if no parttype is given.
2023-03-15 11:54:44 +01:00
mammo0
79d34c590e removed unnecessary file stacking rule
This rule did not check for a parttype. According to the documantation (https://jellyfin.org/docs/general/server/media/shows/#episodes-split-across-multiple-parts) there should be one.
2023-03-15 11:52:22 +01:00
Shadowghost
ee4ffd64e1 Prefer other codecs over DTS and TrueHD on transcode 2023-03-15 10:13:06 +01:00
Shadowghost
21dc3fa042 Backport pull request #9485 from jellyfin/release-10.8.z
Fix the bitrate scale factor for h264-to-hevc transcoding

Original-merge: 173a963dbf

Merged-by: Nyanmisaka <nst799610810@gmail.com>

Backported-by: crobibero <cody@robibe.ro>
2023-03-14 18:21:01 -04:00
Shadowghost
21dcf775be Add config option to disable dummy chapter generation (#9410) 2023-03-14 16:20:12 -06:00
renovate[bot]
28562bcadd Update dotnet monorepo to v7.0.4 (#9490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-14 16:19:00 -06:00
Bond_009
d8ec3a5470 Reduce usage of GetAwaiter().GetResult() 2023-03-14 12:05:49 +01:00
gitteric
af611367c1 Fall back to using "logo" attrib if "tvg-logo" is mssing in M3U-tuner (#9475)
Co-authored-by: gitteric <you@example.com>
2023-03-12 09:45:48 -06:00
Bill Thornton
b7fe81551f Add manual web builds (#9468) 2023-03-11 10:14:00 -07:00
Bond-009
2571d6b18f Merge pull request #9473 from jellyfin/renovate/libse-3.x 2023-03-11 14:34:31 +01:00
Bond-009
a2fa886977 Merge pull request #9469 from jellyfin/renovate/github-codeql-action-digest 2023-03-11 13:26:40 +01:00
renovate[bot]
196c7b3bbf Update dependency libse to v3.6.11 2023-03-11 12:26:05 +00:00
renovate[bot]
38967ad47f Update github/codeql-action digest to 16964e9 2023-03-10 21:18:34 +00:00
Shadowghost
8d158df678 Add migration to properly set playlist owner 2023-03-10 19:16:57 +01:00
Shadowghost
76ae599bd3 Fix playlist creation and removal 2023-03-10 19:16:35 +01:00
SenorSmartyPants
369c7f1451 Save TVChannel Height if set (#8777)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-10 10:03:11 -07:00
Bond-009
6351d1022b Merge pull request #9254 from Shadowghost/dvdbdfix 2023-03-10 15:48:35 +01:00
Shadowghost
0da5255f12 Apply review suggestions 2023-03-10 15:27:17 +01:00
Shadowghost
47aa07c342 Fix DLNA playback of DVD and BD folders 2023-03-10 15:27:17 +01:00
Shadowghost
cd852d43c1 Add more comments and logging, streamline code 2023-03-10 15:27:17 +01:00
Shadowghost
2403a0a367 Apply review suggestions 2023-03-10 15:27:05 +01:00
nyanmisaka
2146ddd20c Backport pull request #9430 from jellyfin/release-10.8.z
Fix Live TV hardware decoding

Original-merge: efc79295de

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:16 -05:00
nyanmisaka
f21ab50a81 Backport pull request #9422 from jellyfin/release-10.8.z
Fix stream map when using filter_complex with unlabeled output

Original-merge: 6821a2ab35

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:38:15 -05:00
nyanmisaka
638bda629b Backport pull request #9391 from jellyfin/release-10.8.z
Fix H.264 baseline hwaccel and enable enhanced Nvdec by default

Original-merge: 22a8283a9e

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:35:54 -05:00
nyanmisaka
f6060bd14b Backport pull request #9355 from jellyfin/release-10.8.z
Some VAAPI VPP and OpenCL fixes

Original-merge: c807712246

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:33:52 -05:00
Shadowghost
65090ac817 Backport pull request #9351 from jellyfin/release-10.8.z
Fix EqualsAny condition check for int and double

Original-merge: e8b0ae07af

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

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:33:51 -05:00
Róbert Örn Ketilsson
ef3868ff50 Backport pull request #9178 from jellyfin/release-10.8.z
Escape the path to pass as a command line argument

Original-merge: 09f1c7f535

Merged-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>

Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:29:39 -05:00
SenorSmartyPants
4f0615452b Update MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
Apply code review

Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-09 17:44:12 -06:00
SenorSmartyPants
04f23a0e73 Change test to allow owned items to run local providers
I need more information about the need for this test, to make sure I am not introducing an issue.
2023-03-09 17:44:12 -06:00
SenorSmartyPants
99816b07dc Enable NFO processing for Extras
- Change test to prevent owned items from using parent NFO. Test is now in MovieNFOSaver, only movie type will use movie.nfo.
2023-03-09 17:44:12 -06:00
SenorSmartyPants
b96420b786 Clean Extra Names
- Adds regular expression to CleanStrings to remove suffix style extra naming from the name presented in JF.
- Override Resolve for Extras to enable parsename
- remove exclusion on parsename of extratypes
2023-03-09 17:44:12 -06:00
Róbert Örn Ketilsson
6b0135d03b Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2023-03-09 14:39:22 -05:00
Shadowghost
daefdaf8b0 Extend language code handling 2023-03-09 14:38:20 +01:00
Bond-009
47b6f74533 Merge pull request #9449 from Bond-009/nullable 2023-03-09 12:05:39 +01:00
Bond-009
1d34c867d9 Merge pull request #9446 from 1337joe/audiobook-grouping-fixes 2023-03-09 12:05:30 +01:00
Bond-009
ddadacf137 Merge pull request #9454 from Bond-009/webp
Allow webp for local images
2023-03-09 11:16:08 +01:00
Bond-009
205a072822 Merge pull request #9448 from Bond-009/avgrating 2023-03-09 11:15:53 +01:00
Bond_009
761b9ed6a1 Allow webp for local images 2023-03-08 15:19:40 +01:00
Bond-009
95287fa9f1 Merge pull request #9453 from jellyfin/renovate/newtonsoft.json-13.x 2023-03-08 12:25:01 +01:00
Bond-009
ce3eee87b7 Merge pull request #9451 from jellyfin/renovate/lrcparser-2023.x 2023-03-08 12:24:43 +01:00
renovate[bot]
651fc66776 chore(deps): update dependency newtonsoft.json to v13.0.3 2023-03-08 08:15:29 +00:00
renovate[bot]
b615f54417 chore(deps): update dependency lrcparser to v2023 2023-03-08 05:16:14 +00:00
Bond_009
dab75d35d2 Enable nullable for more files 2023-03-07 21:51:48 +01:00
Bond_009
7a93731992 Ignore avg critic rating Rotten Tomatoes 2023-03-07 18:44:59 +01:00
Bond_009
891e2495c9 Disable real time monitoring by default 2023-03-07 17:59:29 +01:00
Bond-009
1244502fa8 Merge pull request #9429 from nyanmisaka/vk-ff-6 2023-03-07 16:24:52 +01:00
Joe Rogers
361fff3a0c Fix cases where multiple files are resolved as a single book 2023-03-06 23:27:21 -05:00
Joe Rogers
18b8efa7e0 Add tests for audio book resolving 2023-03-06 23:22:37 -05:00
Joe Rogers
1c3a97bf6a Inject IDirectoryService where needed instead of passing it through ItemResolveArgs 2023-03-06 23:00:55 -05:00
Joe Rogers
160baa02fd Remove some BaseItem references to make ItemResolveArgs more usable for testing. 2023-03-06 22:18:26 -05:00
nyanmisaka
0905d62224 Adapt vulkan filtering to 6.0 2023-03-05 01:39:58 +08:00
Shadowghost
80b8661008 Merge branch 'master' into network-rewrite 2023-03-03 10:42:24 +01:00
Shadowghost
1f15724398 Use source audio bitrate if requested codec is lossless 2023-03-02 20:57:59 +01:00
Bond-009
0de37e2ac2 Merge pull request #9416 from Bond-009/list 2023-03-02 18:55:24 +01:00
Bond-009
8023d503cb Merge pull request #9417 from Bond-009/log 2023-03-02 18:35:14 +01:00
Bond_009
d280dc6554 Reduce log spam
Fixes #7801
2023-03-01 16:43:55 +01:00
Nils Fürniß
e58bf6b2be Add SeasonProviderIds to EpisodeInfo (#9407)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-03-01 00:46:08 +01:00
Bond_009
4b01aaa0f7 Allocate less Lists 2023-03-01 00:44:57 +01:00
Bas
54cd3e6d55 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-02-28 16:39:18 -05:00
Shadowghost
16f2cca882 Apply review suggestions 2023-02-28 15:12:43 +01:00
Shadowghost
c760a50d59 Apply review suggestions 2023-02-27 16:03:12 +01:00
Cody Robibero
4873d2a54d Fix auth endpoints using api key (#9408) 2023-02-27 05:48:37 -07:00
Shadowghost
9880a2b3e1 Enforce HLS codec restrictions 2023-02-27 10:38:50 +01:00
Shadowghost
4a1498f614 Add DTS and TrueHD bitrate limits, enforce bitrate limits if no bitrate is requested 2023-02-26 22:38:02 +01:00
Shadowghost
f3840e0fdb Fix encoder checks for DTS and TrueHD 2023-02-26 22:38:00 +01:00
Shadowghost
2e3b4bda7b Take channels into account when calculating fallback audio bitrate 2023-02-26 22:37:01 +01:00
knackebrot
aa99aaebc4 Add audio vbr calculation 2023-02-26 22:37:01 +01:00
knackebrot
3e74377036 Calculate output bitrate from output channel count 2023-02-26 22:37:01 +01:00
Nyanmisaka
edc627fd5b Improve the Vulkan based subtitle burn-in performance (#9402)
https://gitlab.freedesktop.org/mesa/mesa/-/issues/850
Currently Mesa RADV does not support a dedicated transfer queue.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-02-26 07:33:27 -07:00
renovate[bot]
cb2d72d7ec chore(deps): update peter-evans/find-comment digest to 034abe9 (#9401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-26 07:32:12 -07:00
Bond-009
ebe3fde260 Merge pull request #9397 from Bond-009/nullable
Enable nullable for more files
2023-02-26 14:21:03 +01:00
renovate[bot]
da25c3ad7b chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.8.5 (#9393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 09:29:23 -07:00
Bond_009
e35119987a Enable nullable for more files 2023-02-25 17:20:53 +01:00
Bond-009
3b0a182045 Merge pull request #9326 from ipitio/objdispex 2023-02-25 16:44:17 +01:00
Bond-009
e5ba1bcba9 Merge pull request #9389 from crobibero/remove-switch 2023-02-25 16:43:55 +01:00
renovate[bot]
f8f8505286 chore(deps): update github/codeql-action digest to 32dc499 (#9392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-24 14:48:33 -07:00
ipitio
c29e8ffe1d Update MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-02-24 11:45:56 -05:00
Cody Robibero
49eb04899c Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-02-24 08:53:08 -07:00
Cody Robibero
47b9a01efe Merge pull request #9381 from Bond-009/nullable 2023-02-24 08:35:26 -07:00
Bond-009
eaeb65f94d Update MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-02-24 16:22:30 +01:00
Cody Robibero
b3273f0f9a Simplify audio transcode channel lookup 2023-02-24 08:06:19 -07:00
Nick
f94abc1eb7 Copy IsAutomated option when making MetadataRefreshOptions copy. (#9385) 2023-02-24 07:06:01 -07:00
Pranav Avva
a328dba3b1 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2023-02-23 16:39:16 -05:00
Bond_009
ab24c0e2cf Enable nullable for more files 2023-02-23 19:09:16 +01:00
Cody Robibero
ecb5c48538 Merge pull request #8526 from Shadowghost/rating-overhaul 2023-02-23 07:04:44 -07:00
Shadowghost
7af6694594 Fix AutoDiscovery socket creation 2023-02-23 13:55:27 +01:00
renovate[bot]
eb3d187f27 chore(deps): update dependency autofixture.xunit2 to v4.18.0 (#9372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 05:48:43 -07:00
Bond-009
3a2024dbba Merge pull request #9371 from jellyfin/renovate/autofixture.automoq-4.x 2023-02-22 11:48:33 +01:00
lyaschuchenko
0af699621a Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2023-02-22 01:39:16 -05:00
renovate[bot]
b6ce920670 chore(deps): update dependency autofixture.automoq to v4.18.0 2023-02-22 04:30:10 +00:00
renovate[bot]
88ab6bfdfc chore(deps): update dependency autofixture to v4.18.0 (#9370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 21:28:46 -07:00
Bond-009
ccea623c0d Merge pull request #9365 from Bond-009/friendlyname 2023-02-21 22:43:06 +01:00
Bond-009
6f65127f80 Merge pull request #9368 from jellyfin/renovate/vstest-monorepo 2023-02-21 17:08:50 +01:00
renovate[bot]
e148f9e717 chore(deps): update dependency microsoft.net.test.sdk to v17.5.0 2023-02-21 14:29:49 +00:00
Asahi Oka
3756078467 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2023-02-20 16:39:16 -05:00
Shadowghost
6300d01fcc Apply review suggestion 2023-02-20 21:58:35 +01:00
Shadowghost
a5bfeb28aa Apply review suggestions 2023-02-20 21:51:15 +01:00
Bond_009
cf29e9a9c5 Fix #7516 2023-02-20 20:33:00 +01:00
Shadowghost
a5f16136eb Apply review suggestions 2023-02-20 16:58:22 +01:00
Bond-009
5b493e14ac Improve alternate ordering (#9336) 2023-02-20 08:07:51 -07:00
Shadowghost
e7a7edbac0 Various fixes (#9361) 2023-02-20 08:04:30 -07:00
Shadowghost
c5a363a007 Merge branch 'master' into network-rewrite 2023-02-20 11:58:14 +01:00
Shadowghost
5f938de337 Build ratingClause with StringBuilder 2023-02-20 11:54:39 +01:00
Shadowghost
f0251f86cb Move MigrateRatingLevels migration to preStartup 2023-02-20 11:54:39 +01:00
Shadowghost
5cdb0c7932 Apply review suggestions 2023-02-20 11:53:20 +01:00
Shadowghost
15efb9935c Fix typo and migration description 2023-02-20 11:53:20 +01:00
Shadowghost
07dc163844 Fix playlist parental control and no parental control skipping forbidden unrated items 2023-02-20 11:53:20 +01:00
Shadowghost
9d21f078c7 Add default rating selections 2023-02-20 11:53:20 +01:00
Shadowghost
4ed97a4593 Properly check for item visibility in UserLibraryController 2023-02-20 11:53:20 +01:00
Shadowghost
e014522dff Add default for MaxParentalRating to UserPolicy 2023-02-20 11:53:20 +01:00
Shadowghost
2e315b7f08 Properly build where clause for rating checks 2023-02-20 11:53:20 +01:00
Shadowghost
a6cfe75d6e Add database migration for rating schema change 2023-02-20 11:53:20 +01:00
Shadowghost
c8d80450e0 Recursively update rating 2023-02-20 11:53:20 +01:00
Shadowghost
ed2280a060 Overhaul content ratings 2023-02-20 11:53:20 +01:00
Bond-009
720852f708 Merge pull request #9356 from Bond-009/tryparse 2023-02-20 11:09:54 +01:00
Bond-009
69379d80a1 Merge pull request #9266 from holow29/increase-transcoding-ac-max 2023-02-20 10:26:41 +01:00
Bond_009
b119c6d868 StringComparison.Ordinal instead of StringComparison.OrdinalIgnoreCase 2023-02-20 10:14:08 +01:00
Cody Robibero
26297d26af Merge pull request #9352 from Shadowghost/musibrainz-fix 2023-02-19 16:55:54 -07:00
Shadowghost
a9bfb13dc7 Format MusicBrainz config page 2023-02-19 18:20:30 +01:00
Shadowghost
815aa40170 Fix MusicBrainz config page input validation 2023-02-19 18:12:28 +01:00
Shadowghost
3c921e25da Fix MusicBrainz album queries and releasegroup handling 2023-02-19 17:54:59 +01:00
Bond_009
24a7e210c3 Optimize tryparse
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
Shadowghost
4baa534679 Fix MusicBrainz configuration parsing and update 2023-02-19 16:16:34 +01:00
Bond-009
bb6f867067 Merge pull request #9322 from Bond-009/nullable 2023-02-19 15:08:35 +01:00
rushmash
de96fe1f52 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-02-19 08:29:35 -05:00
Bond-009
dd3e74ca0f Merge pull request #9343 from Lenart12/master 2023-02-19 11:55:29 +01:00
Shadowghost
2f4e43b87f Add migration for MusicBrainz settings 2023-02-19 09:30:27 +01:00
Claus Vium
6eb35d4fd3 Merge pull request #9349 from Shadowghost/musibrainz-fix 2023-02-18 21:30:07 +01:00
Shadowghost
3c5b0e0035 Fix MusicBrainz default server 2023-02-18 21:22:45 +01:00
Shadowghost
af7acc000c Fix dependency on Microsoft.AspNetCore.HttpOverrides 2023-02-18 21:10:09 +01:00
Bond-009
1deb9f36ba Merge pull request #9334 from jellyfin/renovate/prometheus-net.aspnetcore-8.x 2023-02-18 14:24:38 +01:00
renovate[bot]
9911638659 chore(deps): update dependency prometheus-net.aspnetcore to v8 2023-02-18 13:10:40 +00:00
Bond-009
336e08de1e Merge pull request #9337 from Bond-009/regex 2023-02-18 14:02:47 +01:00
adrian gustavo martinez
80939b922c Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2023-02-17 21:39:14 -05:00
Cody Robibero
a527034ebe Validate requested user id (#8812) 2023-02-17 23:16:08 +01:00
Lenart Kos
40a1e1924a Add rule and tests to fix #9341
Add an additional EpisodeExpression that matches
`Series title Season 3 Episode 9 - Episode title.avi` correctly.
Fixes #9341
2023-02-17 22:40:54 +01:00
Bond-009
9979b346ea Merge pull request #9340 from Bond-009/using 2023-02-17 22:01:17 +01:00
Bond_009
3bec70302b Fix use after dispose 2023-02-17 20:47:07 +01:00
Shadowghost
20fd05b050 Consistently write IP in upercase 2023-02-17 19:27:36 +01:00
Shadowghost
bedee7922f Fix interface address assignment and resolution in SSDP 2023-02-17 18:24:13 +01:00
Shadowghost
42498194d9 Replace ISocket and UdpSocket, fix DLNA and SSDP binding and discovery 2023-02-17 17:39:11 +01:00
Bond_009
48263078b4 Reduce string allocations by regex 2023-02-17 15:00:06 +01:00
renovate[bot]
5071973170 chore(deps): update dependency prometheus-net to v8 (#9333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 05:44:56 -07:00
Bond-009
df8346cd63 Merge pull request #9061 from Bond-009/ct 2023-02-16 18:14:38 +01:00
Bond-009
5b8fda13e4 Merge pull request #9319 from Bond-009/alternate 2023-02-16 18:03:48 +01:00
Bond_009
a38cb3ade8 Fix tests 2023-02-16 15:08:04 +01:00
Bond_009
60f41b80f6 Verify ContentType of uploaded images 2023-02-16 15:08:01 +01:00
ipitio
62204dce00 add contributor 2023-02-15 22:06:14 -05:00
ipitio
58ed50c9d0 Catch Exception when disposing connection 2023-02-15 21:58:49 -05:00
Ruben Wealth Hu
65f6c2e2fd Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2023-02-15 17:52:54 -05:00
stegl
bfb31a9bce Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2023-02-15 17:52:54 -05:00
ikoch
13589ceb06 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-02-15 17:52:54 -05:00
Ruben Kremer
785e8c4085 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2023-02-15 17:52:54 -05:00
Bond_009
cb85fc688f Enable nullable for more files 2023-02-15 23:41:28 +01:00
Shadowghost
3a91c37283 Merge branch 'master' into network-rewrite 2023-02-15 22:40:07 +01:00
Shadowghost
4eba16c672 Apply review suggestions 2023-02-15 22:34:44 +01:00
Claus Vium
3fe64f69b7 Merge pull request #9320 from MBR-0001/master
Fix NRE in DisposeAsyncCore
2023-02-15 21:59:24 +01:00
MBR#0001
c338aa7cb5 Fix NRE in DisposeAsyncCore 2023-02-15 21:07:36 +01:00
Bond_009
59920b4052 Make exact match primary video 2023-02-15 18:05:49 +01:00
Shadowghost
1cc7572445 Apply review suggestions 2023-02-15 11:31:47 +01:00
Shadowghost
87b2bc5dc4 Fix LocalAccessOrRequiresElevationHandler (#9315) 2023-02-14 12:22:07 -07:00
renovate[bot]
2c0201e921 chore(deps): update dotnet monorepo (#9311) 2023-02-14 12:09:50 -07:00
Cody Robibero
92db437def Merge pull request #9160 from Shadowghost/policy-cleanup 2023-02-14 12:09:23 -07:00
Bond-009
92f6e19a25 Enable nullable for more files (#9310) 2023-02-14 12:09:07 -07:00
Bond-009
36b7157589 Fix #9300 (#9312) 2023-02-14 12:08:52 -07:00
Shadowghost
b8ed1f81cd Add back LocalAccessOrRequiresElevationPolicy 2023-02-14 19:06:43 +01:00
Shadowghost
eeb0f7af6c Add permissions for LiveTV access and management 2023-02-14 18:48:31 +01:00
Bond-009
48c6461945 Merge pull request #8887 from Shadowghost/collections-permissions 2023-02-14 09:43:21 +01:00
Bond-009
228fa2f1bf Merge pull request #9306 from 1337joe/fix-locked-item-metadata-updates 2023-02-14 09:42:51 +01:00
Shadowghost
b7418d6e9e Add permission for collection management 2023-02-13 15:42:04 +01:00
Joe Rogers
4ce30989e0 Make update type for RunTimeTicks consistent with other file attributes 2023-02-12 23:14:43 -05:00
Joe Rogers
2d2b0a528c Add missing checks for item locked state in metadata updates 2023-02-12 21:59:58 -05:00
Cody Robibero
1c72a8e006 Merge pull request #9282 from cvium/simplify_authz
refactor: simplify authz
2023-02-12 16:02:37 -07:00
cvium
a5e2ae4979 fix merge conflict 2023-02-12 23:01:30 +01:00
cvium
52e2776d8e Merge branch 'master' into simplify_authz
# Conflicts:
#	Jellyfin.Api/Auth/SyncPlayAccessPolicy/SyncPlayAccessHandler.cs
2023-02-12 22:59:48 +01:00
Bond-009
318f11e793 Fix error in XmlTvListingsProviderTests (#9302) 2023-02-12 11:25:54 -07:00
Bond-009
6fb2fac6e4 Always run code analyzers for tests projects (#9304) 2023-02-12 10:54:55 -07:00
Bond-009
5e074ac945 Merge pull request #9253 from Bond-009/nullref 2023-02-12 16:32:00 +01:00
Claus Vium
f5c970e67f Merge pull request #9297 from crobibero/livetv-tweaks
LiveTV fixes
2023-02-12 13:07:18 +01:00
Bond-009
9f389d7afd Merge pull request #9293 from jellyfin/renovate/github-codeql-action-digest 2023-02-12 01:00:52 +01:00
Bond-009
f5417c50f7 Merge pull request #9139 from Jpuc1143/tag-whitelist 2023-02-11 23:52:09 +01:00
Cody Robibero
32eccc139c LiveTV fixes 2023-02-11 07:46:52 -07:00
renovate[bot]
4323f69cd4 chore(deps): update github/codeql-action digest to 17573ee 2023-02-10 20:10:08 +00:00
Claus Vium
7b1bd9f234 Merge pull request #9115 from barronpm/plugin-assemblycontext-fix
Use one AssemblyLoadContext per plugin
2023-02-10 10:19:35 +01:00
Jpuc1143
cb61a57e82 Reduced number of calls to GetPreference()
Co-authored-by: Cody Robibero <cody@robibe.ro>
2023-02-09 20:45:40 -03:00
holow29
724d2986a3 Change transcoderChannelLimit default to 8
Change transcoderChannelLimit default to 8 from 6
Switch to querying for encoder and added more cases to transcoderChannelLimit
Refactor GetNumAudioChannelsParam
2023-02-09 17:37:57 -05:00
cvium
c9aef96dba fix firsttimesetup 2023-02-09 21:06:51 +01:00
cvium
ac118e10f0 remove unnecessary init 2023-02-09 15:01:04 +01:00
cvium
cba9657aec fix openapi auth 2023-02-09 14:56:53 +01:00
cvium
b5d5667965 remove a hardcoded DefaultAuthorization 2023-02-09 14:40:50 +01:00
cvium
956c89dc2f fix default policy 2023-02-09 13:51:37 +01:00
cvium
f4a7583c46 fix empty user id check for api keys 2023-02-09 13:51:37 +01:00
cvium
f984f31896 admins shouldn't be able to circumvent remote access policies 2023-02-09 13:51:37 +01:00
Claus Vium
a4c3011ee8 Update Jellyfin.Data/DayOfWeekHelper.cs 2023-02-09 13:51:37 +01:00
cvium
209edd38a4 refactor: simplify authz 2023-02-09 13:51:37 +01:00
Bond-009
231e0273c2 Merge pull request #9284 from Bond-009/useless 2023-02-09 12:01:15 +01:00
renovate[bot]
fd0b619219 chore(deps): update github/codeql-action digest to 8775e86 (#9280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-08 19:10:48 -07:00
Bond_009
26c0d18405 Remove .npmrc and nuget.config files 2023-02-09 01:27:55 +01:00
Bond-009
c17a741827 Merge pull request #9275 from jellyfin/renovate/peter-evans-create-or-update-comment-digest 2023-02-08 23:48:48 +01:00
Bond-009
01407d7db1 Merge pull request #9276 from jellyfin/renovate/peter-evans-find-comment-digest 2023-02-08 23:48:30 +01:00
gnattu
ef4ae9a2dd Implement hardware filters for videotoolbox, use Apple AAC encoder when available (#7807) 2023-02-08 23:42:17 +01:00
Bond-009
0b1475af30 Merge pull request #9268 from jellyfin/renovate/github-codeql-action-digest 2023-02-08 23:32:55 +01:00
renovate[bot]
a4edcbf203 chore(deps): update peter-evans/find-comment digest to 85a676a 2023-02-08 13:58:41 +00:00
renovate[bot]
c70516bcd2 chore(deps): update peter-evans/create-or-update-comment digest to 67dcc54 2023-02-08 13:58:33 +00:00
Jpuc1143
15b6d1672d Removed unnecesary migration code
Co-authored-by: David Ullmer <davidullmer@outlook.de>
2023-02-07 22:29:33 -03:00
renovate[bot]
b6b6b53f7c chore(deps): update github/codeql-action digest to 39d8d7e 2023-02-07 01:00:02 +00:00
Bond-009
151aa0f678 Merge pull request #8982 from bradbeattie/background-images-no-language 2023-02-07 00:22:06 +01:00
Bond-009
ebbd1b9db1 Update MediaBrowser.Providers/Manager/ItemImageProvider.cs 2023-02-07 00:16:03 +01:00
Claus Vium
64263920cb Merge pull request #9249 from jmshrv/fix-m4a-moov
Specify required movflags when encoding M4A audio
2023-02-05 22:13:08 +01:00
Troja
16a0537a01 Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2023-02-05 15:29:20 -05:00
Bond-009
c76bcd5ec7 Merge pull request #9263 from TelepathicWalrus/transcoded-audio-fix
Fixes https://github.com/jellyfin/jellyfin/issues/9251
2023-02-05 21:02:25 +01:00
Jean-Pierre Bachmann
0ed4fd5759 Changed LogTrace to LogDebug 2023-02-05 21:38:50 +02:00
Telepathic Walrus
06b40980f4 Fix transcoded audio not playing (#9251) 2023-02-05 19:27:50 +00:00
Jean-Pierre Bachmann
2a4cc4d942 Updated logging level and formatting 2023-02-05 21:08:08 +02:00
rushmash
abf6acf9d7 Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2023-02-05 09:38:08 -05:00
Shadowghost
979964ef4b Force transcode/remux for DVDs and BDs 2023-02-05 12:00:29 +01:00
rushmash
3042c16a79 Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2023-02-05 03:07:02 -05:00
Troja
c139b0a7f0 Translated using Weblate (Belarusian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/be/
2023-02-05 03:07:02 -05:00
Elias Frehner
666c6d321f Translated using Weblate (Alemannic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gsw/
2023-02-05 03:07:02 -05:00
Brett Petch
a230d8f615 fix: swap to jellyfin-ffmpeg5 (#9256) 2023-02-04 21:46:27 -07:00
Bond_009
eb7fee9590 Add more tests 2023-02-04 21:08:30 +01:00
Shadowghost
f2b7f664aa Apply review suggestions 2023-02-04 20:16:45 +01:00
Bond_009
52230d1c30 Return NotFound when itemId isn't found 2023-02-04 20:11:08 +01:00
James Harvey
4a2245fe1e Move mp4 container names to class and use StringComparer.OrdinalIgnoreCase 2023-02-04 18:52:35 +00:00
Shadowghost
626bb24bdd Remove DvdLib 2023-02-04 18:39:50 +01:00
Shadowghost
3d4b2f840a Fix BD and DVD folder recognition for tv episodes 2023-02-04 18:39:50 +01:00
Shadowghost
d89cd188eb Fix BD ISO playback 2023-02-04 18:39:50 +01:00
Shadowghost
edf3909157 Use FFmpeg concat for DVD and BD folder playback 2023-02-04 18:39:45 +01:00
Shadowghost
ddfdec7f46 Fix BD and DVD folder probing and playback 2023-02-04 18:37:57 +01:00
Shadowghost
519709bf10 Revert "Remove DvdLib (#9068)"
This reverts commit db1913b08f.
2023-02-04 18:36:47 +01:00
Bond-009
6bf34f8e22 Simplify CreateApplicationPaths (#9171) 2023-02-04 10:24:55 -07:00
Cody Robibero
d1af317d98 Merge pull request #9215 from Shadowghost/api-scoped-namespace 2023-02-04 10:21:49 -07:00
Zoltan Csizmadia
e0519189b2 Use Directory.Packages.props (#9135)
Co-authored-by: Zoltan Csizmadia <CsizmadiaZ@valassis.com>
2023-02-04 10:15:08 -07:00
James Harvey
42b4ef4529 Remove frag_keyframe on audio, not video 2023-02-04 03:59:35 +00:00
James Harvey
c9627f8839 Fix Use built-in type alias 2023-02-04 02:46:14 +00:00
James Harvey
83ae6fcdb4 Fix Braces for multi-line statements should not share line 2023-02-04 02:45:24 +00:00
James Harvey
a3f41bbc0c Remove frag_keyframe as it is not relevant for audio 2023-02-04 02:29:21 +00:00
James Harvey
25ee6375eb Add name to CONTRIBUTORS.md 2023-02-04 02:19:32 +00:00
James Harvey
f2cc0e7069 Fill in issue/PR comment 2023-02-04 02:17:55 +00:00
James Harvey
c70508b089 Add movflags to mp4 audio encoding 2023-02-04 01:56:14 +00:00
Wiki
5612091df3 Translated using Weblate (Pirate (pr))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pr/
2023-02-03 19:51:31 -05:00
Plntote
b769417e94 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2023-02-03 19:51:31 -05:00
renovate[bot]
4b134cac49 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.8.3 (#9243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 14:53:22 +01:00
Shadowghost
dfea1229e1 Cleanup imports 2023-02-02 18:50:35 +01:00
Shadowghost
f5f890e685 Migrate to file-scoped namespaces 2023-02-02 18:50:33 +01:00
Cody Robibero
58b3945805 Merge pull request #9191 from barronpm/applicationhost-cleanup1 2023-02-02 07:26:25 -07:00
Claus Vium
e79f5d8226 fix: require current password when admin changes their own password (#9238)
Fixes https://github.com/jellyfin/jellyfin/issues/9208
2023-02-02 07:25:48 -07:00
James Harvey
29c1f54b57 Fix audio codec not being used in UniversalAudio (#9192) 2023-02-02 14:54:05 +01:00
Claus Vium
9eaad18c2c fix: don't allow exceptions to propagate from Refresh progress event handlers (#9228) 2023-02-02 06:02:57 -07:00
Claus Vium
9e155eacea Merge pull request #9227 from Bond-009/ffprobe
Improve ffprobe json parsing and don't log error for Codec Type attachment
2023-02-02 13:05:02 +01:00
Robert Englund
fe48c47e29 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2023-02-01 19:51:31 -05:00
Peyman M
c38157acb9 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2023-02-01 19:51:31 -05:00
Jean-Pierre Bachmann
0b71974054 Fixed whitespace 2023-02-01 23:45:06 +01:00
JPVenson
341658b552 Update CleanupCollectionPathsTask.cs
Removed code smell and switched to non creation for non existing collection folder
2023-02-01 22:42:10 +01:00
Jean-Pierre Bachmann
6b8d169529 Added CleanupCollection task 2023-02-01 19:34:58 +01:00
Chris Blake
ad5b83781a Add 404 response to MarkPlayedItem/MarkUnplayedItem (#9211)
Fixes https://github.com/jellyfin/jellyfin/issues/9120
2023-02-01 11:17:18 -07:00
Bond_009
65d605b17d Improve ffprobe json parsing and don't log error for Codec Type attachment 2023-02-01 14:58:04 +01:00
Ronan Charles-Lorel
31ac861b85 Formatting 2023-01-31 15:47:47 +01:00
Ronan Charles-Lorel
a2ac791bb7 Add a way to add more invalid characters when sanitizing a filename 2023-01-31 15:20:57 +01:00
renovate[bot]
992b460912 chore(deps): update alex-page/github-project-automation-plus action to v0.8.3 (#9206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 16:17:53 -07:00
Patrick Barron
fec23de427 Remove Emby.Notifications (#9147) 2023-01-28 07:43:55 -07:00
Cody Robibero
abffd160c3 Remove ability to add a played indicator to images (#9186) 2023-01-28 07:43:13 -07:00
Patrick Barron
0bbeead6c7 Don't store media encoder as field 2023-01-27 20:32:15 -05:00
Patrick Barron
f7ec85d7a0 Use dependency injection for IChannel 2023-01-27 18:46:54 -05:00
Patrick Barron
4f81f4daaa Use depencency injection for ISubtitleProvider 2023-01-27 18:41:10 -05:00
Patrick Barron
8898012121 Convert CanLaunchWebBrowser to expression body 2023-01-27 18:33:32 -05:00
Patrick Barron
990bd7d1ee Initialize device id in constructor 2023-01-27 18:29:35 -05:00
Patrick Barron
0df899943f Move LogEnvironmentInfo to StartupHelpers 2023-01-27 18:24:53 -05:00
renovate[bot]
421b062ca4 chore(deps): update github/codeql-action digest to 3ebbd71 (#9185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 05:54:10 -07:00
renovate[bot]
cc3d08759e chore(deps): update github/codeql-action digest to 436dbd9 (#9181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-26 16:58:51 -07:00
Bond-009
4c94c4385f Merge pull request #9180 from lstrojny/patch-1 2023-01-27 00:07:34 +01:00
Joshua M. Boniface
0fd9a08851 Merge pull request #9164 from ykgmfq/restart 2023-01-26 16:07:00 -05:00
Bond-009
c2e4099a1f Merge pull request #9176 from ProfessionalismIsMyMiddleName/master
fixes https://github.com/jellyfin/jellyfin/issues/8415
Fixes https://github.com/jellyfin/jellyfin/issues/8415
2023-01-26 09:06:58 +01:00
Bond-009
f3e04aca45 Merge pull request #9170 from Bond-009/alphanum 2023-01-26 09:06:33 +01:00
Patrick Barron
63b0132562 Remove OS information from System Info (#9175)
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-01-26 09:05:00 +01:00
Lars Strojny
44a870ca83 Add Phantom/Ghost to whitelist 2023-01-26 00:28:17 +01:00
ProfessionalismIsMyMiddleName
ffc4cc4a04 Save modified userData after parsing an nfo in case of "watched", "playcount" or "lastplayed" tags. 2023-01-25 07:35:18 +01:00
Shadowghost
414eb45899 Merge branch 'master' into network-rewrite 2023-01-24 23:48:47 +01:00
Bond_009
b7f2c8de5b Simplify AlphanumericComparator 2023-01-24 12:47:59 +01:00
Bond-009
6b006a576d Merge pull request #9143 from barronpm/remove-customheadernames 2023-01-24 11:26:50 +01:00
Bond-009
2436233d9f Merge pull request #9146 from nyanmisaka/fix-pgs-vulkan 2023-01-24 11:26:35 +01:00
Dennis M. Pöpperl
2abd4c0c9c Remove restart.sh dependencies from packaging 2023-01-23 20:02:41 +01:00
Bond-009
232453014f Minor improvements (#9156) 2023-01-23 19:39:10 +01:00
Joshua M. Boniface
2a70cf115c Merge pull request #9154 from Bond-009/fixbuild 2023-01-22 15:40:47 -05:00
Bond_009
4261f15d41 Fix debug builds 2023-01-22 21:38:53 +01:00
nyanmisaka
6d6b9044ab Backport pull request #9145 from jellyfin/release-10.8.z
Fix PGS position issue in sw decoding #8602

Original-merge: fbb9acf58b

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:06:20 -05:00
Dmitry Lyzo
71a708cdb8 Backport pull request #9092 from jellyfin/release-10.8.z
Don't add additional entries if HEVC encoding is disabled

Original-merge: 2a5efeb3bb

Merged-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:06:19 -05:00
Dmitry Lyzo
2b1a7ddd32 Backport pull request #9060 from jellyfin/release-10.8.z
Disable splash screen image by default

Original-merge: 31673cc27d

Merged-by: Bill Thornton <thornbill@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:05:38 -05:00
Dmitry Lyzo
28b98cacc8 Backport pull request #9051 from jellyfin/release-10.8.z
Fix transcode reasons

Original-merge: 1dea309ae4

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:05:37 -05:00
nyanmisaka
d6f44818e4 Backport pull request #9050 from jellyfin/release-10.8.z
Update workaround for i915 hang in linux 5.18 to 6.1.3

Original-merge: 464136cfc9

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:05:00 -05:00
Shadowghost
ab96d1b7ad Backport pull request #9049 from jellyfin/release-10.8.z
Add more codecs requiring ffmpeg strict -2

Original-merge: 2a6e292153

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2023-01-22 14:03:54 -05:00
nyanmisaka
c9badabe96 Fix PGS position issue in Vulkan pipeline
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-01-21 22:41:26 +08:00
Patrick Barron
5d1b5d257f Remove CustomHeaderNames 2023-01-20 18:28:18 -05:00
Jpuc1143
7fa6d4c81e Add "Allowed Tags" to Parental Controls 2023-01-20 16:43:59 -03:00
Shadowghost
a728f0993e Merge branch 'master' into network-rewrite 2023-01-20 14:20:56 +01:00
Bond-009
491f1f88c7 Merge pull request #9126 from Bond-009/interlaced
Revert 'Fix interlace check for H.264 MBAFF coded MP4 files' (#6222)
2023-01-20 13:33:34 +01:00
Patrick Barron
db1913b08f Remove DvdLib (#9068)
* Remove DvdLib

* Update error message for blu-ray folders

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>

* Remove BDInfo

* Remove MediaEncoder.GetPrimaryPlaylistVobFiles

* Remove BlurayDiscInfo

Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2023-01-20 13:29:45 +01:00
Bond-009
e448797df0 Merge pull request #9066 from barronpm/reduce-logspam
Change log level for bind address usage to debug
2023-01-20 13:29:05 +01:00
Bond-009
7ddcd76b61 Merge pull request #9133 from Shadowghost/increase-stale-operations
Increase stale bot operations per run
2023-01-20 13:27:03 +01:00
Shadowghost
507a4a6b25 Increase stale bot operations per run 2023-01-20 12:07:29 +01:00
Shadowghost
6e46075414 Apply review suggestions 2023-01-19 19:03:43 +01:00
Shadowghost
6954283af3 Update Emby.Dlna/Main/DlnaEntryPoint.cs
Co-authored-by: Patrick Barron <barronpm@gmail.com>
2023-01-19 18:48:22 +01:00
Joshua M. Boniface
23ddeeda4c Merge pull request #9124 from Shadowghost/deb-fix 2023-01-19 09:28:55 -05:00
marcus2799
c3a6b6c69d Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2023-01-19 08:24:49 -05:00
Bond_009
75fe640f2b Revert 'Fix interlace check for H.264 MBAFF coded MP4 files' (#6222) 2023-01-19 14:20:04 +01:00
Shadowghost
6292e0127d Remove restart.sh from packaging 2023-01-19 10:32:11 +01:00
Shadowghost
343a94f185 Fix CA1851 2023-01-19 10:19:53 +01:00
Shadowghost
656a0bff6f Merge remote-tracking branch 'upstream/master' into network-rewrite 2023-01-19 10:09:32 +01:00
Bond-009
d57dcf2245 Merge pull request #9122 from jellyfin/renovate/github-codeql-action-digest 2023-01-18 23:05:08 +01:00
renovate[bot]
5359d0c404 chore(deps): update github/codeql-action digest to a34ca99 2023-01-18 21:15:43 +00:00
Patrick Barron
8cabac0cf2 Load all plugin assemblies before attempting to load types 2023-01-18 10:26:39 -05:00
renovate[bot]
e408da4651 chore(deps): update dependency microsoft.codeanalysis.bannedapianalyzers to v3.3.4 (#9117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 04:16:59 -07:00
SuperDumbTM
971e338b71 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2023-01-18 04:51:25 -05:00
Patrick Barron
79a7815be7 Use one AssemblyLoadContext per plugin 2023-01-17 18:49:00 -05:00
Bond-009
875359d457 Merge pull request #9108 from barronpm/efcore-cleanup 2023-01-17 21:11:42 +01:00
Bond-009
212876b235 Merge pull request #9100 from barronpm/refactor-startup 2023-01-17 21:11:32 +01:00
Patrick Barron
c59f2a3c46 Mark CanSelfRestart as Obsolete 2023-01-17 14:49:05 -05:00
Bond-009
70a74a8c62 Merge pull request #9111 from jellyfin/renovate/sharpfuzz-2.x 2023-01-17 16:49:59 +01:00
Slug-Cat
bf055a2f99 Translated using Weblate (Pirate (pr))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pr/
2023-01-17 02:51:25 -05:00
Patrick Barron
f3e5139cfc Use default ASP.NET Core logger factory for DbContext factory 2023-01-16 18:15:05 -05:00
DarrenRuane
cf8db70af8 Fix build failing 2023-01-16 20:06:56 +00:00
renovate[bot]
96c31ed818 chore(deps): update dependency sharpfuzz to v2.0.1 2023-01-16 19:53:18 +00:00
DarrenRuane
8e5bd36064 Ensure existing chapter images are deleted when user disables chapter generation 2023-01-16 18:34:15 +00:00
Patrick Barron
8479f0f90c Rename JellyfinDb to JellyfinDbContext 2023-01-16 12:14:44 -05:00
Patrick Barron
3f66a48206 Document JellyfinDb 2023-01-16 12:13:06 -05:00
Hannes Braun
66eff8b9ca Allow limiting parallel image encodings to reduce memory usage (#8783) 2023-01-16 10:06:44 -07:00
Patrick Barron
40e4370689 Specify AsSplitQuery in initial users query 2023-01-16 11:52:53 -05:00
Patrick Barron
f07553abdf Optimize EF Core queries and remove unnecessary AsQueryable calls 2023-01-16 11:49:59 -05:00
Patrick Barron
ab6baf6486 Enable nullable for Jellyfin DbContext 2023-01-16 10:28:31 -05:00
Patrick Barron
2a86723caf Use file-scoped namespace in db context 2023-01-16 10:06:25 -05:00
Patrick Barron
921618368b Remove unused schema 2023-01-16 10:05:36 -05:00
DarrenRuane
776294b5f8 Fix pre-existing chapter images not being deleted after the chapter image generation setting is disabled 2023-01-15 23:09:33 +00:00
Patrick Barron
577d396649 Use custom plugin assembly load context 2023-01-15 17:35:36 -05:00
Patrick Barron
a48f188874 Use separate assembly load contexts per plugin 2023-01-15 17:00:38 -05:00
Patrick Barron
dc85d86ea1 Enable in-process restarting 2023-01-15 15:56:18 -05:00
Patrick Barron
f8ca71ee15 Move WebHostBuilder extension method to separate file 2023-01-15 15:48:10 -05:00
Patrick Barron
029d53502f Move some startup methods to StartupHelpers 2023-01-15 15:48:07 -05:00
Patrick Barron
7186b343bd Move Formatters to Jellyfin.Api 2023-01-15 15:46:50 -05:00
Patrick Barron
74a07f6d1c Move Middleware to Jellyfin.Api 2023-01-15 15:46:50 -05:00
Cody Robibero
be206d4ff2 Merge pull request #9044 from Bond-009/db 2023-01-14 14:19:53 -07:00
Bond_009
8ff0cb1e9d Remove AddPeopleQueryIndex migration 2023-01-14 21:39:47 +01:00
Bond_009
6a8d24d9e9 Set journal_size_limit 2023-01-14 21:39:47 +01:00
Bond_009
73740f6c6e Change synchronous_mode to normal 2023-01-14 21:39:47 +01:00
Bond_009
ab918c6292 Fine tune DB settings 2023-01-14 21:39:46 +01:00
Teo Baranga
56ef45ebf0 Fix client supported image formats (#9071) 2023-01-14 13:15:50 -07:00
Patrick Barron
663854bc1e Update test dependencies (#9094) 2023-01-14 13:15:36 -07:00
Napaul Intrarasing
37edb21887 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2023-01-14 10:51:23 -05:00
Cody Robibero
0f17e72efd Revert "chore(deps): update swashbuckle-aspnetcore monorepo to v6.5.0 (#8591)" (#9088)
This reverts commit 3d51d79715.
2023-01-13 16:31:36 -07:00
renovate[bot]
3d51d79715 chore(deps): update swashbuckle-aspnetcore monorepo to v6.5.0 (#8591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-13 08:09:21 -07:00
renovate[bot]
24a27a360e chore(deps): update dependency serilog.aspnetcore to v6.1.0 (#9085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-13 06:09:30 -07:00
Bond-009
12786db0cc Merge pull request #9078 from barronpm/migrate-to-ihost 2023-01-13 11:51:36 +01:00
Alex Popovic
0571d3e403 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2023-01-12 23:51:23 -05:00
kshantum
d39dcb8ad2 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2023-01-12 23:51:23 -05:00
Patrick Barron
033ffa9a88 Fix tests 2023-01-12 11:51:12 -05:00
renovate[bot]
8478a7c9ed chore(deps): update github/codeql-action digest to 515828d (#9079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-12 08:40:36 -07:00
Bond-009
3a7a781ed9 Merge pull request #9001 from Shadowghost/stereo-downmix
Fixes https://github.com/jellyfin/jellyfin/issues/1986
2023-01-12 09:49:29 +01:00
Patrick Barron
0f46eca6a4 Minor cleanup in Startup class 2023-01-11 22:09:14 -05:00
Patrick Barron
159e74ea09 Update Serilog.AspNetCore 2023-01-11 22:08:04 -05:00
Patrick Barron
7b17799b01 Migrate from IWebHost to IHost 2023-01-11 22:07:41 -05:00
Bond-009
81c8890b6d Fix all warnings in MediaBrowser.MediaEncoding (#9073) 2023-01-11 17:22:01 -07:00
Cody Robibero
515e69dcf7 Merge pull request #9065 from barronpm/drawing-use-file-namespaces 2023-01-11 12:57:10 -07:00
Cody Robibero
3ad6286c2c Merge pull request #9070 from Bond-009/warn3 2023-01-11 12:55:48 -07:00
Patrick Barron
e904ce3030 Merge branch 'jellyfin:master' into drawing-use-file-namespaces 2023-01-11 14:33:09 -05:00
0TTA
ab645653bc Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2023-01-11 07:51:22 -05:00
Bond_009
b934b346e1 Fix all warnings in MediaBrowser.Providers 2023-01-11 10:36:18 +01:00
Bond_009
6dbdb4e9af Fix all warnings in Jellyfin.Server.Implementations 2023-01-11 09:55:05 +01:00
Bond-009
aefa8da4ee Merge pull request #9064 from barronpm/move-jellyfin-drawing-skia 2023-01-11 09:22:35 +01:00
Patrick Barron
dfc5a4373f Change log level for bind address usage to debug
Fixes #9024
2023-01-10 19:58:54 -05:00
Patrick Barron
cafc454cfb Use file-scoped namespaces in Jellyfin.Drawing.Skia 2023-01-10 19:41:55 -05:00
Patrick Barron
6c7225b943 Use file-scoped namespaces in Jellyfin.Drawing 2023-01-10 19:38:57 -05:00
Patrick Barron
16e33665a2 Move Jellyfin.Drawing.Skia to src 2023-01-10 19:35:06 -05:00
renovate[bot]
3ed0e70eab chore(deps): update dependency tmdblib to v2 (#9053)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 14:57:17 -07:00
renovate[bot]
2045eb109b chore(deps): update dependency sqlitepclraw.bundle_e_sqlite3 to v2.1.4 (#9062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 14:56:55 -07:00
Joshua M. Boniface
9a2f2330b7 Merge pull request #9058 from jellyfin/renovate/dotnet-monorepo
chore(deps): update dotnet monorepo to v7.0.2
2023-01-10 15:58:59 -05:00
Cody Robibero
627c2b83ef Update docker sdk to 7.0.2 2023-01-10 10:53:28 -07:00
renovate[bot]
7516e61c5b chore(deps): update dotnet monorepo to v7.0.2 2023-01-10 14:50:35 +00:00
Bond-009
ea8fc930f0 Merge pull request #9056 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2023-01-10 15:48:53 +01:00
Shadowghost
407c716f82 Add stereo downmix algorithm selection. 2023-01-10 15:29:39 +01:00
Patrick Barron
b5da0d1b17 Rename Emby.Drawing and move to src (#9054)
* Move Emby.Drawing to src

* Rename Emby.Drawing -> Jellyfin.Drawing
2023-01-10 05:51:46 -07:00
renovate[bot]
6806b983dc chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.8.2 2023-01-10 10:55:54 +00:00
MBR-0001
8af854315e Add Chinese Bilingual language (#7623)
Closes https://github.com/jellyfin/jellyfin-plugin-opensubtitles/issues/103
2023-01-09 12:47:12 -07:00
Bond-009
0325770bdb Merge pull request #9029 from DavidFair/Support_dts_transcoding
Fixes https://github.com/jellyfin/jellyfin/issues/8804
2023-01-09 11:57:16 +01:00
Stephen Cox
51c7c85b4c Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2023-01-08 12:51:21 -05:00
Retrial
34fe2d00a2 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2023-01-08 12:51:21 -05:00
David Fairbrother
abeadc62da Add DavidFair to contributors
Add myself to the list of contributors, as per the development
guidelines found on the JF website.
2023-01-07 19:37:34 +00:00
David Fairbrother
4eeb522144 Add dts to list of audio codecs which require strict -2
Adds dts to the list of audio codecs where ffmpeg will throw asking us
to opt into experimental support. This is seen when the original content
is based on dts and we don't acopy using ffmpeg.
2023-01-07 19:37:32 +00:00
Egor Bakanov
46e9f5ad2e Fix recursive children lookup of folders (#8678)
Fixes https://github.com/jellyfin/jellyfin/issues/6193
Fixes https://github.com/jellyfin/jellyfin/issues/7226
2023-01-07 11:48:14 -07:00
renovate[bot]
a2b792e386 chore(deps): update actions/checkout digest to ac59398 (#9015)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 11:32:19 -07:00
Brad Beattie
ac9b7142cc Fixing similar parental rating calculation (#8959) 2023-01-07 11:31:33 -07:00
Cody Robibero
678bcf9a80 Use EventManager for AuthenticationSuccess, AuthenticationFailure (#8960) 2023-01-07 11:31:10 -07:00
Bond-009
769c48c629 Deduplicate media stream ordering code (#9014) 2023-01-07 11:30:55 -07:00
Bond-009
770c8c8902 Merge pull request #9018 from jellyfin/renovate/actions-download-artifact-digest 2023-01-07 19:12:42 +01:00
Bond-009
4e9062ce75 Merge pull request #9022 from jellyfin/renovate/actions-upload-artifact-digest 2023-01-07 19:12:32 +01:00
renovate[bot]
f0e0080387 chore(deps): update actions/upload-artifact digest to 0b7f8ab 2023-01-06 17:02:45 +00:00
renovate[bot]
d817b54fe7 chore(deps): update actions/download-artifact digest to 9bc31d5 2023-01-06 00:33:15 +00:00
Porrumentzio
c795f17fa6 Translated using Weblate (Basque)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eu/
2023-01-05 00:17:35 -05:00
Futoshi Iwashita
a07b14057f Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2023-01-05 00:17:35 -05:00
Bond-009
69a51c425a Fix all warnings in Jellyfin.Api (#9003) 2023-01-04 08:01:31 -07:00
Joshua M. Boniface
c62f642b38 Merge pull request #9006 from nyanmisaka/hwa-groups
Add jellyfin to the render and video groups for HWA
2023-01-03 18:10:08 -05:00
nyanmisaka
bb7bf8378b Add jellyfin to the render and video groups for HWA
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-01-04 04:29:38 +08:00
Bond-009
43c3a465e6 Merge pull request #8775 from SenorSmartyPants/DVRMetadata
Fixes https://github.com/jellyfin/jellyfin/issues/5178
2023-01-03 12:01:32 +01:00
Claus Vium
223aaec93f Merge pull request #8995 from daullmer/nfo-remote-images-initial
Use nfo provided remote images on initial scan
2023-01-02 18:43:49 +01:00
Brad Beattie
d639d35baa Backdrops prefer no language images 2023-01-02 08:39:58 -08:00
David Ullmer
6e7b0a8cb2 Use nfo provided remote images on initial scan 2023-01-02 11:07:00 +01:00
Bond-009
2142002c12 Merge pull request #8990 from Bond-009/stale
Give stale action write permission for issues
2023-01-01 01:06:25 +01:00
Bond_009
2fbdc0c163 Give stale action write permission for issues 2022-12-31 15:42:24 +01:00
Xavier Rosell
cfda11d5f9 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2022-12-31 05:51:18 -05:00
Cody Robibero
9a740344be Add support for .sup subtitle (#8808)
Fixes https://github.com/jellyfin/jellyfin/issues/8628
2022-12-30 08:24:06 -07:00
Niels van Velzen
c73c7b6050 Checkout common ancestor for comparison in OpenAPI workflow (#8985) 2022-12-30 08:08:02 -07:00
renovate[bot]
431919301d chore(deps): update dependency moq to v4.18.4 (#8986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 06:33:45 -07:00
Cody Robibero
8326349137 Use custom database healthcheck (#8973) 2022-12-29 19:40:39 -07:00
xdo
1f658f59b8 Fix multi cleaning (#8978)
Right now, a movie Name `Iron Man Multi 1080p.mkv` will be searched as
`Iron
Man Multi` leading to no result.

The cleaning regex was containing multi but it looks like a typo joined
`multi` and `subs` in the same term.

Co-authored-by: Xavier-Do <xavier.dolle@gmail.com>
2022-12-29 19:40:24 -07:00
Bond-009
817996da4b Merge pull request #7494 from Shadowghost/streambuilder-cleanup 2022-12-29 15:21:28 +01:00
Brad Beattie
4ee1b78a80 Fix image searching to prioritize explicit language match if searching in English (#8946) 2022-12-29 15:15:48 +01:00
Claus Vium
d7992bda67 Merge pull request #8964 from Bond-009/diacritics
Use Diacritics.NET
2022-12-29 10:16:27 +01:00
Brad Beattie
f0376cdad9 Augment tag searching to consider all ItemValues 2022-12-28 16:13:36 -08:00
guineu
8de052646c Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2022-12-28 09:51:17 -05:00
Bond_009
7c77ba529c Add more tests 2022-12-27 17:02:23 +01:00
Bond_009
6bf131b270 Use Diacritics.NET
Last time we had to revert this due to regressions, now those regression
tests seem to succeed with a newer version of Diacritics.NET
2022-12-27 16:53:58 +01:00
renovate[bot]
233879e525 chore(deps): update dependency libse to v3.6.10 (#8958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 14:29:14 +01:00
Niels van Velzen
f2200c97cb Remove unused notification endpoints (#8952) 2022-12-27 14:24:34 +01:00
NorwayFun
f32d4040f2 Translated using Weblate (Georgian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ka/
2022-12-27 05:51:16 -05:00
0TTA
ef4ea1eb77 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2022-12-27 05:51:15 -05:00
DuaLee
a6efdd850a Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2022-12-25 17:51:15 -05:00
gam24
2385588998 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2022-12-23 18:51:16 -05:00
Mason McGlothlin
497b2765b9 Correct path to installation guide (#8948)
* Correct path to installation guide

The installation guide link was broken. Updated it to the correct location.

* Fix docs links to not include docs subdomain
2022-12-23 15:34:14 -05:00
renovate[bot]
58006013f2 chore(deps): update actions/stale action to v7 (#8935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-23 08:59:04 -05:00
renovate[bot]
9a35fd6732 chore(deps): update peter-evans/find-comment digest to 81e2da3 (#8930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 14:32:34 +01:00
Shadowghost
ef085483b2 Merge branch 'master' into network-rewrite 2022-12-20 09:19:45 +01:00
Claus Vium
b015679267 Merge pull request #8927 from nielsvanvelzen/auth-depr 2022-12-20 07:47:50 +01:00
Niels van Velzen
180d17c991 Remove unused ImageByName API (#8928) 2022-12-19 18:44:13 -07:00
Niels van Velzen
479d477e01 Deprecate user id based authentication endpoint 2022-12-19 21:46:12 +01:00
Niels van Velzen
7a3a9fb7e4 Remove deprecated Password field from AuthenticateUserByName 2022-12-19 21:44:54 +01:00
Claus Vium
760b7f8fca Merge pull request #8922 from Bond-009/distinctby
Use DistinctBy introduced in .NET 6
2022-12-19 20:13:48 +01:00
bradvolen
f20dee8e0d Adding "creation_time" as a tag lookup for FFProbe for premiere date (#8884) 2022-12-19 19:52:09 +01:00
Bond-009
497d8c4957 Use Order() introduced in .NET 7 (#8923) 2022-12-19 09:30:00 -07:00
Joshua M. Boniface
b80b50437c Merge pull request #8924 from joshuaboniface/fix-postinst
Correct systemd dynamic directory
2022-12-19 10:57:30 -05:00
Joshua M. Boniface
e13cfe095f Correct systemd dynamic directory
Fixes #8921
2022-12-19 09:31:53 -05:00
Bond_009
6481376b81 Use DistinctBy introduced in .NET 6 2022-12-19 15:21:42 +01:00
Bas
411246e90f Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2022-12-17 06:51:13 -05:00
renovate[bot]
02f9e60e7c chore(deps): update dotnet monorepo to v7.0.1 (#8900)
* chore(deps): update dotnet monorepo to v7.0.1

* Update docker sdk

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-12-15 20:13:11 -07:00
renovate[bot]
43d904c553 chore(deps): update github/codeql-action digest to 959cbb7 (#8908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 21:28:05 -07:00
renovate[bot]
e15337d46e chore(deps): update cirrus-actions/rebase action to v1.8 (#8905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 14:06:58 -07:00
Shadowghost
81a7261980 Default to no bitrate limit if no maxBitrate is set (#8850)
Fixes https://github.com/jellyfin/jellyfin/issues/3277
2022-12-14 22:04:05 +01:00
Bond-009
3f82c90c48 Improve DB perf for everyone not using debug logging (#8827) 2022-12-14 22:03:38 +01:00
Bond-009
a455e580be Use static methods StopWatch where it makes sense (#8898) 2022-12-14 22:03:26 +01:00
Bond-009
3462676a8f Fix debug builds (#8909) 2022-12-14 22:03:03 +01:00
renovate[bot]
39289ae814 chore(deps): update actions/checkout digest to 755da8c (#8899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 15:57:20 +01:00
Shadowghost
ca73b44887 Fix Windows FFmpeg download link (#8901) 2022-12-13 08:39:38 -07:00
renovate[bot]
9f9e795d1f chore(deps): update actions/checkout digest to 7dd9e2a (#8895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-13 05:45:54 -07:00
Shadowghost
b725fbe51a Apply review suggestions 2022-12-13 10:39:37 +01:00
Joshua M. Boniface
47f1d1395c Merge pull request #8826 from Bond-009/slowhttp
Fixes https://github.com/jellyfin/jellyfin/issues/7348
2022-12-12 17:24:16 -05:00
Bond-009
f8da8ba3c6 Merge pull request #8886 from jellyfin/renovate/playlistsnet-1.x 2022-12-11 20:39:23 +01:00
Bond-009
8d8d0ee911 Merge pull request #7767 from 1337joe/prefer-embedded-extras-titles 2022-12-11 20:31:03 +01:00
Bond-009
d34ded211e Merge pull request #8842 from bradbeattie/master 2022-12-11 20:27:44 +01:00
Hyper-Jedi
78d3bc9c8b Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur_PK/
2022-12-10 23:51:11 -05:00
renovate[bot]
1987b138f9 chore(deps): update dependency playlistsnet to v1.3.1 2022-12-10 14:44:24 +00:00
renovate[bot]
42f768faf3 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.8.1 (#8881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 21:21:11 -07:00
renovate[bot]
8609361102 chore(deps): update github/codeql-action digest to a669cc5 (#8877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-08 18:49:24 -07:00
Neuheit
93fe47c7cb Clarify code comment.
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-12-08 16:16:06 -05:00
Neuheit
292c4ebe72 Clarify code comment.
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-12-08 16:15:36 -05:00
Bond-009
622dfaaedf Fix fedora and centos nightly (#8875) 2022-12-08 05:19:42 -07:00
Joe Rogers
a74b8b99af Add option to allow extras to use embedded titles 2022-12-08 01:00:35 -05:00
Joe Rogers
e4040ab812 Allow video extras to use owner library options 2022-12-08 01:00:27 -05:00
Neuheit
a7fc5e6e12 Add additional awaiter code comment. 2022-12-08 00:17:46 -05:00
Neuheit
9e791a92c3 Add comments explaining GetAwaiter() 2022-12-08 00:16:18 -05:00
Bond-009
a2babfd0d3 Fix nightly builds (#8870) 2022-12-07 17:51:29 -07:00
Claus Vium
2c5573b145 Merge pull request #8868 from Bond-009/priorityqueue
Remove dependency on OptimizedPriorityQueue
2022-12-07 18:32:23 +01:00
Claus Vium
558e3d1333 Merge pull request #8867 from stanionascu/fix-8276
Fix to make sure that UDF streams are opened with Share.Read (#8276)
2022-12-07 18:31:53 +01:00
Claus Vium
7195223dd8 Merge pull request #8866 from Bond-009/mediaencoder
Always log when starting ffprobe
2022-12-07 18:28:41 +01:00
Bond-009
16fdb127ab Check HTTP status code before writing response to file (#8863)
fix https://github.com/jellyfin/jellyfin/issues/8084
2022-12-07 18:14:32 +01:00
Bond-009
8258d884f3 Merge pull request #8734 from nielsvanvelzen/qc-revoke 2022-12-07 18:14:16 +01:00
Shadowghost
0834dc58c1 Fix .Net 7 compatibility 2022-12-07 18:06:04 +01:00
Bond_009
9bb1bc5a3e Remove dependency on OptimizedPriorityQueue 2022-12-07 18:02:12 +01:00
Shadowghost
8e8a085b7e Prefer var in StreamBuilder 2022-12-07 18:00:44 +01:00
Shadowghost
08a5c71b90 Add xmldoc for MediaOptions 2022-12-07 18:00:03 +01:00
Shadowghost
1cd7da8889 Apply review suggestions 2022-12-07 18:00:03 +01:00
Shadowghost
697efec86e Cleanup and refactor streambuilder 2022-12-07 18:00:01 +01:00
renovate[bot]
08a43d8039 chore(deps): update mcr.microsoft.com/dotnet/sdk docker tag to v7 (#8686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-07 17:56:01 +01:00
Shadowghost
3f6354cdb8 Fix .NET 7 compatibility 2022-12-07 17:41:32 +01:00
Stanislav Ionascu
7d6ec0a5bd Fix to make sure that UDF streams are opened with Share.Read (#8276)
Make sure that any subsequent requests to open the file for read will
succeed.
2022-12-07 16:40:26 +00:00
Shadowghost
2c86bd1875 Merge branch 'master' into network-rewrite 2022-12-07 17:40:24 +01:00
gnattu
3cb7fe5012 feat: macOS arm64 build support (#8515) 2022-12-07 17:18:04 +01:00
Bond-009
584c80e323 Merge pull request #8547 from Bond-009/net7 2022-12-07 17:17:37 +01:00
Bond_009
227aa0540b Update Microsoft.AspNetCore.Mvc.Testing to 7.0.0 2022-12-07 17:01:28 +01:00
Bond_009
fd9dc1e308 Update deps 2022-12-07 16:56:32 +01:00
Bond_009
e21f4adc16 Fix wrong usage of ArgumentNullException.ThrowIfNull 2022-12-07 16:44:00 +01:00
Bond_009
d35a1f2b94 Remove useless tasks from CI 2022-12-07 16:44:00 +01:00
Bond_009
6f231094d5 Update CI to .NET 7 2022-12-07 16:44:00 +01:00
Bond_009
4c41f96407 Update README and vscode launch settings 2022-12-07 16:44:00 +01:00
Bond_009
6ccb1e5570 Don't use deprecated HashAlgorithm.Create(string) 2022-12-07 16:44:00 +01:00
Bond_009
cf67381e31 Fix release build 2022-12-07 16:44:00 +01:00
Bond_009
b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00
Bond_009
93fd462b58 Use File.SetUnixFileMode 2022-12-07 16:42:29 +01:00
Bond_009
71982c7297 Fix build errors 2022-12-07 16:42:28 +01:00
Bond_009
236dd650d0 Update projects to .net7 2022-12-07 16:42:05 +01:00
Bond-009
f3c57e6a0a Merge pull request #8511 from Bond-009/isnull 2022-12-07 16:39:40 +01:00
Bond_009
ec6b7efe23 Always log when starting ffprobe
Now when we fail we can always see the filename in the logs
Don't log 2x in debug mode
2022-12-07 16:04:58 +01:00
Gen R
681be595ce Add support for avif and webp for photos (#8857) 2022-12-06 15:32:26 +01:00
Brad Beattie
ab145c5ddc Search tags as well 2022-12-05 17:38:51 -08:00
renovate[bot]
c6d714796c chore(deps): update dependency moq to v4.18.3 (#8854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-05 18:37:16 -07:00
Bond_009
52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009
c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Bond-009
b2def4c9ea Fix build (#8859) 2022-12-05 14:56:58 +01:00
NorwayFun
9ec5782555 Translated using Weblate (Georgian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ka/
2022-12-05 08:51:10 -05:00
Weevild
3943ff03de Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2022-12-05 08:51:10 -05:00
shoddysheep
8eb688dc98 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2022-12-05 08:51:10 -05:00
Bond-009
210a4921f2 Fix some warnings and only disable TreatWarningsAsErrors for CodeAnalysis (#8709) 2022-12-05 13:54:28 +01:00
Cody Robibero
bf3ff15843 Merge pull request #8546 from nyanmisaka/fix-fmp4-flac-opus 2022-12-03 08:51:04 -07:00
renovate[bot]
38e02e15c4 chore(deps): update dependency sqlitepclraw.bundle_e_sqlite3 to v2.1.3 (#8837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-03 08:48:12 -07:00
renovate[bot]
be17e742f1 chore(deps): update github/codeql-action digest to b2a92eb (#8834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-03 08:48:05 -07:00
Justin
df66816178 Allow non-ASCII in downloaded filenames (#8825)
Fixes https://github.com/jellyfin/jellyfin/issues/8657
2022-12-03 08:47:59 -07:00
Shadowghost
fe3e7979b0 Add MusicBrainz server validation and fallback (#8833) 2022-12-03 08:47:50 -07:00
Alex
e2cea6121a Harden GitHub Workflows security (#8664) 2022-12-03 08:47:30 -07:00
Shadowghost
dd5f90802e Apply review suggestions 2022-12-03 14:32:20 +01:00
Shadowghost
95740ef9a2 Fix build 2022-12-03 12:44:59 +01:00
Shadowghost
bcd992fb06 Merge remote-tracking branch 'upstream/master' into network-rewrite 2022-12-03 12:44:45 +01:00
Niels van Velzen
722ad3fe97 Change InitiateQuickConnect to use POST request
Keep the GET request for compatibility
2022-12-03 12:38:06 +01:00
Niels van Velzen
fd73f346dc Add userId parameter to AuthorizeQuickConnect 2022-12-03 12:31:42 +01:00
NorwayFun
db2c0d4c91 Translated using Weblate (Georgian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ka/
2022-12-02 11:20:27 -05:00
NorwayFun
51c21143d4 Added translation using Weblate (Georgian) 2022-12-02 07:15:23 -05:00
Bill Thornton
74616a191d Merge pull request #8836 from thornbill/add-delay-moov-flag 2022-12-01 23:37:16 -05:00
Bill Thornton
79f01834c1 Add delay_moov flag for progressive mp4 transcoding 2022-12-01 15:31:59 -05:00
renovate[bot]
471ebec16a chore(deps): update peter-evans/find-comment digest to f4499a7 (#8820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-01 15:26:18 +01:00
Bond_009
b2ce70987c Change log level for slow HTTP responses from WRN TO DBG
The added log level check is there because Request.GetDisplayUrl() is a
pretty expensive call, creating a StringBuilder and string which doesn't
need to happen on most installs where debug logging is disabled
2022-11-30 22:11:47 +01:00
Bond-009
da5913aa30 The -autoscale option was added in FFmpeg 4.4 (#8813) 2022-11-30 21:00:39 +01:00
Bond-009
fea01a1ccb Fix CI (#8824) 2022-11-30 20:57:20 +01:00
Alejandro Martín Pérez
11707f8f08 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2022-11-30 09:51:07 -05:00
Claus Vium
c08fc6cb9e Merge pull request #8819 from photonconvergence/api-checkmark 2022-11-29 19:17:48 +01:00
Pierre Penninckx
0a56a45a4a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-11-28 23:51:06 -05:00
photonconvergence
63a72f995b Offset Played Indicator to correct position 2022-11-28 15:28:43 -08:00
SenorSmartyPants
8f4ac1cb81 Call GetConfiguration just once in function 2022-11-27 13:13:11 -06:00
SteveTheGrey
87d4ef7403 Minor search update - full word titles matches first (#8757) 2022-11-27 09:03:28 -07:00
renovate[bot]
036382debb chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.8.0 (#8805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-27 08:52:43 -07:00
Cody Robibero
4e34c428d8 Merge branch 'master' into fix-fmp4-flac-opus 2022-11-27 08:49:52 -07:00
Cody Robibero
5787ab15dc Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-11-27 08:02:32 -07:00
Cody Robibero
d4bd72049b Merge pull request #8137 from negulici-r-barnabas/master 2022-11-27 07:53:18 -07:00
Cody Robibero
c9f8b8a7c7 Merge pull request #8790 from Bond-009/todo 2022-11-27 07:51:56 -07:00
Bond-009
9c1da522c6 Fix last CA1305 error (#8806) 2022-11-27 06:49:21 -07:00
Bond_009
fb3e97d7ac Use typed logger 2022-11-27 14:35:07 +01:00
Bond_009
060fb5f13c Add stylecop.json file 2022-11-27 14:13:31 +01:00
Bond_009
556cc8062d Investigate some TODO comments 2022-11-27 14:13:31 +01:00
renovate[bot]
e1bd5684e5 chore(deps): update dependency newtonsoft.json to v13.0.2 (#8792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-27 14:09:24 +01:00
renovate[bot]
f9d3ce0e45 chore(deps): update dependency prometheus-net.dotnetruntime to v4.4.0 (#8793) 2022-11-27 14:09:07 +01:00
Terrance
692a62ab4f Add missing format providers (fix CA1305 errors) (#8745) 2022-11-26 18:59:25 -07:00
renovate[bot]
89772032e8 chore(deps): update github/codeql-action digest to 312e093 (#8786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-26 17:56:15 -07:00
Negulici-R. Barnabas
b58d6e5b83 Merge branch 'jellyfin:master' into master 2022-11-26 17:33:23 +02:00
Pedro Barreiro
18d7ac1a2a Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2022-11-26 08:51:04 -05:00
Negulici-R. Barnabas
e977aade77 Merge branch 'jellyfin:master' into master 2022-11-26 10:56:23 +02:00
drlovesan
5cef9799c3 Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur_PK/
2022-11-24 14:51:05 -05:00
andr8009
a84ab072ca Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2022-11-24 14:51:05 -05:00
Bond-009
07d7847b1b Merge pull request #8630 from jellyfin/renovate/prometheus-net.aspnetcore-7.x 2022-11-24 15:08:21 +01:00
Bond-009
b4020f52c0 Merge pull request #8791 from jellyfin/renovate/efcoresecondlevelcacheinterceptor-3.x 2022-11-24 15:07:56 +01:00
renovate[bot]
7bf89502bc chore(deps): update dependency prometheus-net.aspnetcore to v7 2022-11-23 17:24:50 +00:00
renovate[bot]
8fb5a1a12f chore(deps): update dependency efcoresecondlevelcacheinterceptor to v3.7.5 2022-11-23 17:24:37 +00:00
Bond-009
f369ddf522 Merge pull request #7039 from 1337joe/providermanager-cleanup 2022-11-23 18:24:07 +01:00
Bond-009
f45230c16f Merge pull request #8629 from jellyfin/renovate/prometheus-net-7.x 2022-11-23 18:22:59 +01:00
Joe Rogers
6252bc399a Fix unit tests after merge from master
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-11-23 15:59:50 +01:00
Bond-009
3f38027394 Merge pull request #8632 from jellyfin/renovate/sharpfuzz-2.x 2022-11-22 22:22:21 +01:00
Bond-009
66954b4efe Merge pull request #8695 from JeWe37/master 2022-11-22 22:08:39 +01:00
SenorSmartyPants
75c96e6e76 DVR: Prefer HD channels then earliest showing when handling duplicate showings. (#8768)
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-11-22 22:02:00 +01:00
jhih_yu
5443708c42 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2022-11-22 10:51:03 -05:00
Akira Li
bebc003e5a Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2022-11-21 00:51:04 -05:00
Akira Li
b77922668b Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2022-11-21 00:51:04 -05:00
SenorSmartyPants
159a244654 Add Options to disable DVR NFO and image saving
- SaveRecordingNFO and SaveRecordingImages default to true. Maintains current behavior.
- Episode.FillMissingEpisodeNumbersFromPath for live tv so external metadata can be pulled when recording starts.
2022-11-19 14:14:41 -06:00
SenorSmartyPants
b5f9a093dd Don't cancel DVR recordings when adjusting settings (#8752)
Fixes https://github.com/jellyfin/jellyfin/issues/3523
2022-11-19 15:12:24 +01:00
Bond-009
32fc46eb6a Merge pull request #7602 from Shadowghost/provider-xmldoc 2022-11-19 15:11:56 +01:00
Claus Vium
f3ac9ba465 Merge pull request #8727 from crobibero/disable-auto-update
Don't auto-update if plugin is pending restart
2022-11-17 18:54:55 +01:00
Shadowghost
2e639c77c7 Apply review suggestions 2022-11-17 18:54:35 +01:00
Shadowghost
36994c17bf Apply review suggestions 2022-11-17 11:34:48 +01:00
Shadowghost
4b1654ae3b Add xmldocs for studio image provider 2022-11-17 11:16:20 +01:00
Shadowghost
072651c4be Add xmldocs for TMDb provider, correct provider spelling 2022-11-17 11:16:20 +01:00
Bond-009
f4ab56e12a Merge pull request #8737 from TheBlueKingLP/master 2022-11-16 14:53:00 +01:00
Negulici-R. Barnabas
f8a6176449 Merge branch 'jellyfin:master' into master 2022-11-16 08:06:20 +02:00
Dominik
e8ae7e5c38 Do not delete segments when seeking 2022-11-15 17:14:18 +01:00
hoanghuy309
469b01e18e Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2022-11-15 10:51:02 -05:00
Pavel Petrescu
ce7a542c1f Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2022-11-15 10:51:02 -05:00
5h4d
74e54825ed Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2022-11-15 10:51:02 -05:00
Tom
712a3b0063 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2022-11-15 10:51:02 -05:00
Dominik
09a1d6786a Increase default SegmentKeepSeconds 2022-11-15 16:06:24 +01:00
Dominik
87f3bdb918 Do not set different force_key_frames for vod streams 2022-11-15 11:32:58 +01:00
TheBlueKingLP
9c06001aee Change the Translation of "Simplified Chinese"
Change the translation of "Simplified Chinese" from "汉语 (简化字)" to "汉语 (简体字)"
2022-11-15 06:39:21 +03:00
Negulici-R. Barnabas
d3580f25da fixed namescope for ImageResolution enum; 2022-11-14 16:57:30 +02:00
Negulici-R. Barnabas
2036f58b18 added associated value to ImageResolution enum; 2022-11-14 16:48:45 +02:00
Dominik
abcf9c4819 Simplify HLS file deletion
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-11-14 14:45:42 +01:00
Dominik
9f4f76b0ab Remove segment wrapping 2022-11-14 14:39:08 +01:00
Dominik
c2c182d099 Add support for ffmpeg's segment deletion and segment wrapping 2022-11-14 10:13:17 +01:00
Dominik
832b36562a Add new options for segment deletion 2022-11-14 10:11:25 +01:00
Dominik
5f274beded Fix logs for TranscodingThrottler not working 2022-11-14 10:11:09 +01:00
Negulici-R. Barnabas
12ca57f18b Merge branch 'jellyfin:master' into master 2022-11-14 08:09:22 +02:00
Bond-009
2d66975e56 Merge pull request #8742 from Bond-009/dbmigration 2022-11-13 16:56:31 +01:00
Negulici-R. Barnabas
7db1813cc8 changed ChapterImageResolution in model to enum type;
added 144p to the ImageResolution enum;
updated chapters limit comment inside FFProbeVideoInfo.cs;
2022-11-13 16:23:21 +02:00
Bond_009
b92880a18b Fix integration tests
Author: cvium
2022-11-13 15:20:36 +01:00
Negulici-R. Barnabas
b7aa5ed862 Merge branch 'jellyfin:master' into master 2022-11-13 15:29:16 +02:00
Bond-009
6655cf4e58 Merge pull request #8601 from cvium/add_secondlevelcaching 2022-11-13 12:22:08 +01:00
Bond-009
1b7500c555 Merge pull request #8732 from thornbill/fix-items-access 2022-11-13 12:19:16 +01:00
Bond-009
a9e2acc9e4 Merge pull request #8666 from dmitrylyzo/fix-secondary-audio
Fixes https://github.com/jellyfin/jellyfin-web/issues/4044
Fixed https://github.com/jellyfin/jellyfin/issues/8673
2022-11-13 12:10:52 +01:00
Bond-009
6f763571e0 Merge pull request #8713 from trentks/patch-2 2022-11-13 12:09:13 +01:00
Klaabu5
db9bb0097b Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2022-11-13 04:51:01 -05:00
Bas
2579a90446 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2022-11-13 04:51:01 -05:00
TheBlueKingLP
cf060ee664 Correcting LocalizationOption
Changing from 体(the simplified variant) to 體(the traditional variant) in the LocalizationOption for the "Traditional Chinese" language.
2022-11-13 00:53:38 +09:00
Cody Robibero
d7f0596d5d Don't auto-update if plugin is pending restart 2022-11-11 08:32:29 -07:00
Claus Vium
c6e4b0b1bf Merge pull request #8726 from swedishborgie/master
HDHomeRun - Fix incorrect starting offset of buffer span in CheckTunerAvailability.
2022-11-11 14:01:06 +01:00
Michael Powers
84d1b07849 Fix incorrect starting offset of buffer span in CheckTunerAvailability.
Resolves #7154
2022-11-10 23:29:21 -05:00
Bill Thornton
c6dbcb661b Use elevated access control for media folders endpoint 2022-11-10 01:04:16 -05:00
renovate[bot]
a5f8d36b5d chore(deps): update dependency prometheus-net to v7 2022-11-10 02:10:48 +00:00
renovate[bot]
42399dde9c chore(deps): update dotnet monorepo (#8708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-11-09 19:09:09 -07:00
Bill Thornton
9f352ccb5b Fix media folders endpoint access control 2022-11-09 18:31:30 -05:00
Bill Thornton
fb9023f2d8 Fix items endpoint not honoring library access control 2022-11-09 18:02:49 -05:00
Diogo Cardoso
af84bc373c Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2022-11-09 07:50:59 -05:00
trentks
c51e037782 Add support for "Digital Media" album splits
"Digital Media" is a common 'disk'-splitting prefix, more so with recent "digital" music releases as physical cd's/disks aren't used. 

In particular, it is part of Lidarr's {Medium Format} tag for automatic archive sorting. So it would be good to see this reflected into Jellyfin.

I'm not familiar with the code-base, or whether a ' ' character is valid within this context.
2022-11-09 04:00:05 +13:00
Claus Vium
03f5f39ab7 Merge pull request #8661 from nielsvanvelzen/seriesstatus-extended
Add SeriesStatus.Unreleased
2022-11-08 14:23:50 +01:00
Claus Vium
3ac1902342 Merge pull request #8698 from Bond-009/notitletest
Add regression test for #8696
2022-11-08 14:23:18 +01:00
guru430033
a2d22c25ba Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2022-11-07 08:50:59 -05:00
Filippo Piazza
5a07df2f47 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2022-11-07 08:50:59 -05:00
Logilype
d1653a7074 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2022-11-07 08:50:59 -05:00
Arnau97
938c3763b8 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_MX/
2022-11-07 08:50:59 -05:00
Arnau97
47b5ec17c6 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2022-11-07 08:50:59 -05:00
renovate[bot]
78753a3444 chore(deps): update github/codeql-action digest to c3b6fce (#8697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-05 10:05:41 -06:00
Bond_009
ba3e7027fe Add regression test for #8696 2022-11-05 14:11:49 +01:00
Bond-009
d929793251 Merge pull request #8685 from jellyfin/renovate/ci-deps 2022-11-05 12:01:25 +01:00
Bond-009
f738e7c051 Merge pull request #8696 from crobibero/livetv-null-title 2022-11-05 11:54:36 +01:00
Shadowghost
8653625791 Fix URI creation in redirection middleware (#8551) 2022-11-05 11:53:59 +01:00
Cody Robibero
55c115b7b1 Don't throw exception if program.Title is null 2022-11-04 11:45:29 -06:00
Jendrik Weise
21072310e7 Sort external files when scanning
Sorts files such as external subtitles or audio as well as metadata
Useful for deterministic display in the UI.
2022-11-04 15:16:27 +01:00
renovate[bot]
a01b0960d3 chore(deps): update eps1lon/actions-label-merge-conflict action to v2.1.0 2022-11-03 15:00:58 +00:00
renovate[bot]
c306428f2c chore(deps): update actions/download-artifact digest to 9782bd6 (#8623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 08:59:31 -06:00
renovate[bot]
03347468e6 chore(deps): update actions/upload-artifact digest to 83fd05a (#8624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 08:59:20 -06:00
renovate[bot]
3d888d09c6 chore(deps): update github/codeql-action digest to 18fe527 (#8625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 08:58:48 -06:00
Claus Vium
6bd54f4f63 Merge pull request #8670 from jvitkauskas/double-assignment 2022-11-01 11:58:26 +01:00
Julius Vitkauskas
7d7401bf0f Fix double assignment 2022-11-01 12:46:29 +02:00
David Ullmer
abcb188916 Backport pull request #8667 from jellyfin/release-10.8.z
Enable OMDB plot for non-English languages as fallback

Original-merge: f83a24ec43

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-31 23:08:42 -04:00
cvium
08d2acba20 Backport pull request #8662 from jellyfin/release-10.8.z
fix: use a combination of ParentIndexNumber and IndexNumber to determine next up episodes

Original-merge: 45f3fb1cfc

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-31 23:08:42 -04:00
Dmitry Lyzo
c7a9759a76 fix tests 2022-10-31 15:51:06 +03:00
Dmitry Lyzo
2eb00bf3c0 fix secondary audio
Browsers (Chrome, Firefox) can only play the first track,
even if the second track is the default.

Ignore default flag when testing on secondary audio.

External audio tracks are not secondary.
2022-10-31 15:49:34 +03:00
Zeek
7725949ead Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2022-10-30 14:50:56 -04:00
Niels van Velzen
16ad39e581 Add SeriesStatus.Unreleased 2022-10-30 14:27:21 +01:00
Bond-009
4c61bf1bdb Merge pull request #8618 from jgriff6/remove-tolists 2022-10-30 14:19:07 +01:00
Bond-009
b67ddc55c2 Merge pull request #8643 from jellyfin/renovate/actions-setup-dotnet-digest 2022-10-30 14:17:37 +01:00
Bond-009
f6e7313a61 Merge pull request #8638 from photonconvergence/fix/extras-type 2022-10-30 14:17:14 +01:00
Stefan Hendricks
6621121c1b Add .NET MIT License 2022-10-29 18:54:11 -04:00
nGtHAV
cb4521f21c Translated using Weblate (Khmer (Central))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/km/
2022-10-29 05:50:55 -04:00
emidriel
a8d6efdf74 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2022-10-29 05:50:55 -04:00
nyanmisaka
a214ca2598 Backport pull request #8620 from jellyfin/release-10.8.z
Fix the DG2 HDR TM tearing issue on Windows

Original-merge: 3bdc2bff5f

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:39:01 -04:00
Niels van Velzen
21c19bab41 Backport pull request #8611 from jellyfin/release-10.8.z
Fix TranscodeReasons type in OpenAPI output

Original-merge: c86d5838be

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:39:00 -04:00
Anthony Lavado
f9221c9a64 Backport pull request #8609 from jellyfin/release-10.8.z
Use Token for SchedulesDirect Images and Image Index

Original-merge: a6740bf51e

Merged-by: Anthony Lavado <anthonylavado@me.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:39:00 -04:00
cvium
a64acac799 Backport pull request #8608 from jellyfin/release-10.8.z
Add index for DateCreated on ActivityLogs

Original-merge: 39b29eb9f1

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:38:59 -04:00
cvium
f6533e4228 Backport pull request #8516 from jellyfin/release-10.8.z
fix: kill ffprobe if keyframe parsing fails

Original-merge: 6d23de64c0

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:38:58 -04:00
cvium
812a4170ee Backport pull request #8501 from jellyfin/release-10.8.z
fix: set MinIndexNumber for the next up query

Original-merge: 679e83082f

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:38:58 -04:00
cvium
e577fea59c Backport pull request #8499 from jellyfin/release-10.8.z
chore: add Basque to the list of localization options

Original-merge: d8e53f35a5

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:38:57 -04:00
Maxr1998
bf059d5b58 Backport pull request #8411 from jellyfin/release-10.8.z
Allow direct play even if no audio stream is available

Original-merge: bf129ab9b8

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-10-28 22:38:56 -04:00
Joshua M. Boniface
67c7eece04 Merge pull request #8529 from jjlin/healthcheck 2022-10-28 17:26:40 -04:00
renovate[bot]
d2eb80d106 chore(deps): update actions/setup-dotnet digest to 607fce5 2022-10-28 15:43:14 +00:00
Cody Robibero
e7d62291ec Merge pull request #8626 from jellyfin/renovate/peter-evans-create-or-update-comment-digest 2022-10-28 09:41:53 -06:00
nGtHAV
3d3fcd9577 Added translation using Weblate (Khmer (Central)) 2022-10-27 23:44:38 -04:00
photonconvergence
09e8a7e62c Fix extra type differentiation
Change rules for Featurettes and Shorts so they don't both get classed as ExtraType.Clip.

Fix test that these changes break
2022-10-27 18:01:04 -07:00
Robert-Jan Kuilema
bd6a93661b Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2022-10-27 16:50:55 -04:00
Kilian
36ee156e78 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-10-27 16:50:55 -04:00
mikoman
0e87c4c57a Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2022-10-27 16:50:55 -04:00
FrEaK-git
ebd4e45ee9 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2022-10-27 16:50:55 -04:00
renovate[bot]
06d89ff460 chore(deps): update dependency sharpfuzz to v2 2022-10-26 21:12:35 +00:00
Cody Robibero
f58120a7eb Merge pull request #8627 from crobibero/revert-azure-ci 2022-10-26 07:35:37 -06:00
Cody Robibero
68121e6e9c Revert dependency updates to Azure Pipelines 2022-10-26 07:27:07 -06:00
renovate[bot]
ba0b5b6f9e chore(deps): update peter-evans/create-or-update-comment digest to 5adcb0b 2022-10-26 13:19:07 +00:00
Cody Robibero
b1e0b4ee89 Merge pull request #8574 from jellyfin/renovate/dotnet-monorepo 2022-10-26 07:18:12 -06:00
Cody Robibero
2d8b375a64 Merge branch 'master' into renovate/dotnet-monorepo 2022-10-26 07:17:42 -06:00
jgriff6
c2c286be6e Remove unnecessary IsPathLocked function 2022-10-25 02:27:22 +01:00
jgriff6
08e71010ae Clean up some ToList usage 2022-10-25 02:27:13 +01:00
ignacio laborde
5cd37686ac address PR comments 2022-10-25 00:38:58 +01:00
ignacio laborde
c6bf6e00de Remove unnecessary ToList usage 2022-10-25 00:38:57 +01:00
Neuheit
6caabe68ff Change method to call IPv6 and IPv4 in parallel. 2022-10-24 17:17:41 -04:00
lyaschuchenko
790f67aac1 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2022-10-24 12:32:40 -04:00
Raditya Harya
bc4c34386b Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2022-10-24 12:32:40 -04:00
Franco Castillo
9b88af1fb4 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2022-10-24 12:32:40 -04:00
xosé m
4fbead582a Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2022-10-23 18:50:54 -04:00
nlahmi
96e8583b2c Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2022-10-23 18:50:54 -04:00
Andi Chandler
092c87a281 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2022-10-23 18:50:54 -04:00
DJSweder
2789f8d04e Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2022-10-23 18:50:54 -04:00
Cody Robibero
6afb2e38b3 Merge pull request #7603 from Shadowghost/musicbrainz-migration
Migrate MusicBrainz plugin to MetaBrainz.MusicBrainz
2022-10-22 08:27:33 -06:00
Shadowghost
385f1cc1b8 Apply review suggestions 2022-10-22 12:44:44 +02:00
MrTimscampi
7ad0c9ba24 Migrate MusicBrainz plugin to MetaBrainz.MusicBrainz
Co-authored-by: crobibero <cody@robibe.ro>
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
2022-10-22 12:44:44 +02:00
Claus Vium
7eae6891c8 Merge pull request #8603 from Shadowghost/master-slow-load 2022-10-21 17:44:27 +02:00
Shadowghost
b7882db9c7 Prevent host lookup on GetSmartUrl for HTTP requests 2022-10-21 17:42:45 +02:00
cvium
395efc94a7 remove unnecessary skipcommand since SQLite does not have NEWID 2022-10-21 15:10:47 +02:00
cvium
b836fe9685 remove JellyfinDbProvider and add second level caching 2022-10-21 11:55:32 +02:00
Polaris
509c6ec24c Translated using Weblate (Lojban)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/jbo/
2022-10-20 22:50:54 -04:00
Urtzi Odriozola
53ee43dc19 Translated using Weblate (Basque)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eu/
2022-10-20 22:50:54 -04:00
kevin
d6cf692490 Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2022-10-20 22:50:54 -04:00
Oskari Lavinto
dd63762062 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2022-10-20 22:50:54 -04:00
wolong gl
c1e3fa3182 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2022-10-20 22:50:53 -04:00
Kmotyn
83cd1451d4 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2022-10-20 22:50:53 -04:00
Csaba
bc958c1f03 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2022-10-20 22:50:53 -04:00
bobthebignose
e9e9dce335 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2022-10-20 22:50:53 -04:00
0TTA
64f67d3147 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2022-10-20 22:50:53 -04:00
Neuheit
6c479dfb36 Ensure IPv6 property is threadsafe. 2022-10-20 16:38:28 -04:00
Neuheit
c9a387943f Add IPv4 fallback from IPv6 failure.
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2022-10-20 16:17:56 -04:00
renovate[bot]
ac0dbd0b40 chore(deps): update dependency moq to v4.18.2 (#8583) 2022-10-19 22:48:29 +02:00
Joshua M. Boniface
337df6079f Merge pull request #8578 from jellyfin/renovate/docker-2.x 2022-10-19 16:37:52 -04:00
Joshua M. Boniface
611d8705ae Merge pull request #8575 from jellyfin/renovate/copyfiles-2.x 2022-10-19 16:37:36 -04:00
Joshua M. Boniface
c04342391f Merge pull request #8584 from jellyfin/renovate/nugetauthenticate-0.x 2022-10-19 16:37:21 -04:00
Joshua M. Boniface
c104757741 Merge pull request #8577 from jellyfin/renovate/copyfilesoverssh-0.x 2022-10-19 16:37:05 -04:00
Joshua M. Boniface
86dcafb8fe Merge pull request #8582 from jellyfin/renovate/extractfiles-1.x 2022-10-19 16:36:47 -04:00
Joshua M. Boniface
737e40b8b4 Merge pull request #8581 from jellyfin/renovate/downloadpipelineartifact-2.x 2022-10-19 16:36:30 -04:00
Joshua M. Boniface
129cdf12fa Merge pull request #8579 from jellyfin/renovate/dotnetcorecli-2.x 2022-10-19 16:36:12 -04:00
renovate[bot]
8af07151ce chore(deps): pin dependencies (#8572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 22:17:21 +02:00
renovate[bot]
fc6ef797d9 chore(deps): update dependency nugetauthenticate to v0.203.0 2022-10-19 19:50:54 +00:00
renovate[bot]
30aed0c092 chore(deps): update alex-page/github-project-automation-plus action to v0.8.2 (#8576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 21:49:02 +02:00
renovate[bot]
62d8369f92 chore(deps): update dependency mono.nat to v3.0.4 (#8580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-19 14:25:10 +02:00
renovate[bot]
4bb470ea18 chore(deps): update dependency extractfiles to v1.211.0 2022-10-19 08:22:17 +00:00
renovate[bot]
94635917ca chore(deps): update dependency downloadpipelineartifact to v2.198.0 2022-10-19 05:53:18 +00:00
renovate[bot]
90c3815348 chore(deps): update dependency dotnetcorecli to v2.210.0 2022-10-19 03:47:53 +00:00
renovate[bot]
10181d5421 chore(deps): update dependency docker to v2.211.0 2022-10-19 03:47:45 +00:00
renovate[bot]
f39c0c9ab8 chore(deps): update dependency copyfilesoverssh to v0.212.0 2022-10-19 01:04:21 +00:00
Cody Robibero
260346c24b Update sdk in dockerfiles 2022-10-18 19:02:38 -06:00
renovate[bot]
51dae418b5 chore(deps): update dependency copyfiles to v2.211.0 2022-10-18 23:41:43 +00:00
renovate[bot]
b4f4121bcc chore(deps): update dotnet monorepo 2022-10-18 23:41:35 +00:00
Cody Robibero
3b3eb8bdfe Merge pull request #8571 from jellyfin/renovate/configure
Configure Renovate
2022-10-18 14:22:30 -06:00
Polaris
23285a2629 Added translation using Weblate (Lojban) 2022-10-18 16:03:43 -04:00
Joshua M. Boniface
74eae1e789 Merge pull request #7708 from nyanmisaka/amd-vaapi-vulkan 2022-10-18 12:13:02 -04:00
Cody Robibero
5ab234d9d9 remove dependabot 2022-10-18 10:10:46 -06:00
Cody Robibero
a6ff0ca876 Update and rename renovate.json to .github/renovate.json 2022-10-18 10:08:55 -06:00
renovate[bot]
ddc13de923 Add renovate.json 2022-10-18 15:55:36 +00:00
dependabot[bot]
cf56b02398 Bump prometheus-net.DotNetRuntime from 4.2.4 to 4.3.0 (#8561)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 16:40:17 +02:00
Shadowghost
f6d6f0367b Properly handle IPs with subnetmasks 2022-10-17 15:51:09 +02:00
nyanmisaka
560d0838c7 Add Vulkan filtering support for AMD VAAPI (Vega/gfx9+)
This requires:
- VK_EXT_image_drm_format_modifier extension
- Linux kernel version >= 5.15
- jellyfin-ffmpeg5 >= 5.0.1-2

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-10-16 23:08:59 +08:00
Shadowghost
26d79a5ce3 Properly name some bind address functions, cleanup logging 2022-10-16 10:22:11 +02:00
Shadowghost
87d0158a4a Fix autodiscovery 2022-10-15 17:27:37 +02:00
Shadowghost
4aec41752f Apply review suggestions 2022-10-14 10:25:57 +02:00
nyanmisaka
37daeffafa Add support for OPUS and fixes for FLAC case issue in HLS
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-10-13 18:49:25 +08:00
Claus Vium
fca87bcd0c Merge pull request #8540 from Bond-009/sortChunks
Rewrite BaseItem.ModifySortChunks
2022-10-12 23:09:58 +02:00
Claus Vium
263a1663ae Merge pull request #8521 from 1337joe/fix-missing-symlink-scan
Skip missing symlink instead of breaking out of directory scan
2022-10-12 22:47:41 +02:00
Bond_009
224bb355dd Rewrite BaseItem.ModifySortChunks 2022-10-12 17:43:01 +02:00
Claus Vium
99e31846bf Merge pull request #8541 from Bond-009/minor 2022-10-12 16:36:12 +02:00
Bond_009
6a6ea7fa13 Switch branches if statement 2022-10-12 10:00:40 +02:00
Claus Vium
fc78a6c35c Merge pull request #8472 from jgriff6/subs
Fix subtitle selection behaviour
2022-10-12 07:22:47 +02:00
Bond_009
f6af28cf96 Fix some things that slipped through the cracks 2022-10-11 23:37:29 +02:00
Claus Vium
a274f4a688 Merge pull request #7840 from adrez99/gzip 2022-10-11 20:46:31 +02:00
jgriff6
a83d4b03dc Make 'Always' subtitle mode prioritise full tracks 2022-10-11 18:36:19 +01:00
adrez99
f789bc9481 Merge branch 'gzip' of https://github.com/adrez99/jellyfin into gzip 2022-10-11 18:19:14 +02:00
adrez99
3736e360e7 Merge branch 'jellyfin:master' into gzip 2022-10-11 18:18:21 +02:00
adrez99
177f53444d Merge branch 'jellyfin:master' into gzip 2022-10-11 18:15:28 +02:00
Aaron
d50c1b2d4b Skip generic shows from duplicate removal actions (#8370)
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-10-10 22:25:49 +02:00
dependabot[bot]
a10d0b9530 Bump SkiaSharp.NativeAssets.Linux from 2.88.2 to 2.88.3 (#8531)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 15:58:32 +02:00
dependabot[bot]
fbc393b658 Bump SkiaSharp from 2.88.2 to 2.88.3 (#8530)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 15:56:34 +02:00
Jeremy Lin
6441cd9436 Fix Docker healthcheck output
The current healthcheck command results in progress info being output.
Add -f/--fail, -s/--silent, -S/--show-error options to avoid progress
output, but still show error messages if something goes wrong.
2022-10-10 00:03:36 -07:00
Joe Rogers
c38052a753 Skip missing symlink instead of breaking out of directory scan 2022-10-09 18:56:25 -04:00
Claus Vium
97a1113223 Merge pull request #8520 from anthonylavado/add-extras
Add extras with "Other" as a label
2022-10-09 09:02:12 +02:00
Claus Vium
9843a5426d Merge pull request #8522 from 1337joe/match-embedded-images-to-docs 2022-10-09 07:30:53 +02:00
Joe Rogers
dd41fb9a61 Update embedded image names to match docs 2022-10-08 23:20:10 -04:00
Anthony Lavado
2358028e3f Add extras with "Other" as a label 2022-10-08 22:40:00 -04:00
Bond-009
5374c99e2e Remove r3 from clean strings (#8027) 2022-10-08 13:45:33 +02:00
Claus Vium
05c20001c8 Merge pull request #8381 from 1hitsong/lyric-lrc-file-support 2022-10-07 15:21:42 +02:00
Claus Vium
b137d0cc2b Merge pull request #7514 from Shadowghost/music-extend 2022-10-07 15:21:00 +02:00
Claus Vium
f3c1ca0760 Merge pull request #8512 from 1337joe/add-hearing-impaired-fix 2022-10-07 15:19:19 +02:00
jgriff6
fbeec04da7 Polish smart subtitle selection logic 2022-10-07 14:17:20 +01:00
Shadowghost
9b2e9640be Apply review suggestions 2022-10-07 14:41:00 +02:00
Claus Vium
95fab41d7c Merge pull request #8510 from Bond-009/fuzz1
Update fuzzing projects to .net6
2022-10-07 14:26:34 +02:00
Shadowghost
6c6f89acc3 Apply review suggestions 2022-10-07 14:14:21 +02:00
Joe Rogers
62799697a1 Fix localization lookup 2022-10-07 07:48:31 -04:00
Joe Rogers
2e4db18ebe Add hearing impaired subtitle stream indicator (#7379)
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-10-07 12:38:05 +02:00
Shadowghost
a97ec65227 Apply review suggestions 2022-10-07 11:31:16 +02:00
Bond_009
f37c3e181e Update fuzzing projects to .net6 2022-10-07 11:30:21 +02:00
Shadowghost
2ac095d8cd Apply review suggestions 2022-10-07 11:24:32 +02:00
Shadowghost
08c68eb8dc Apply review suggestions 2022-10-07 11:20:40 +02:00
Shadowghost
ff18586beb Apply review suggestions 2022-10-07 11:12:16 +02:00
Claus Vium
3612b427c4 Merge pull request #8408 from Shadowghost/baseurl-redirect
Redirect natively if no baseurl is set
2022-10-07 10:42:24 +02:00
Claus Vium
81b04ddbb5 Merge branch 'master' into providermanager-cleanup 2022-10-07 09:57:16 +02:00
Claus Vium
14027f962c Merge pull request #6751 from Bond-009/tests12
Fix DLNA UpdateProfile test
2022-10-07 09:49:16 +02:00
Shadowghost
79b19e2325 Apply review suggestions 2022-10-07 09:21:51 +02:00
Shadowghost
7b90fcd053 Merge branch 'master' into network-rewrite 2022-10-07 09:16:02 +02:00
Shadowghost
7239141181 Apply review suggestions 2022-10-07 08:43:17 +02:00
Claus Vium
719e5eae16 Merge pull request #8503 from Bond-009/ThrowIfNull 2022-10-07 07:50:39 +02:00
Claus Vium
9ff918cb14 Merge pull request #8505 from JJS/CompilerWarnings 2022-10-07 07:50:14 +02:00
Claus Vium
803972a76f Merge pull request #8500 from cvium/fix_authcontext_usage 2022-10-07 07:49:46 +02:00
Jan Sommer
87d460909f Fix minor warnings in MediaBrowser.Model/Configuration (#2149) 2022-10-06 21:44:12 +02:00
Jan Sommer
0b8faf5db4 Fix minor warnings in Emby.Server.Implementations (#2149) 2022-10-06 21:43:44 +02:00
Bond_009
f5613add1a Remove extra argument 2022-10-06 20:39:22 +02:00
Bond_009
a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
cvium
6afc911043 fix Release build 2022-10-06 14:15:40 +02:00
cvium
5dc30c6a6d fix: use HttpContext and ClaimsPrincipal instead of IAuthorizationContext 2022-10-06 13:57:47 +02:00
YusanTayir
927fe33d3a Translated using Weblate (Uyghur)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ug/
2022-10-06 06:16:21 -04:00
Cody Robibero
dd823b0117 Merge pull request #8460 from jellyfin/dependabot/github_actions/actions/stale-6
Bump actions/stale from 5 to 6
2022-10-05 06:16:51 -06:00
Cody Robibero
12a5000942 Merge pull request #8488 from jellyfin/dependabot/github_actions/actions/setup-dotnet-3
Bump actions/setup-dotnet from 2 to 3
2022-10-05 06:16:37 -06:00
Cody Robibero
02277b666b Merge pull request #8483 from crobibero/fix-data-stream
Added handling of streams of type "data"
2022-10-04 06:26:36 -06:00
dependabot[bot]
692dac5694 Bump actions/setup-dotnet from 2 to 3
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 12:05:51 +00:00
Shadowghost
4649e0e425 Add xiph tag parsing 2022-10-03 13:20:54 +02:00
Shadowghost
fa9820b1fd Add apple tag parsing 2022-10-03 13:05:57 +02:00
kimpig
9589194a94 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2022-10-03 04:54:37 -04:00
Shadowghost
bd9a940fed Declare VirtualInterfaceNames as string array for consistency 2022-10-01 21:42:31 +02:00
Shadowghost
12cf98b4e3 Update taglibsharp, add audible tag parsing 2022-10-01 20:26:08 +02:00
Shadowghost
4fc52a840c Merge branch 'master' into network-rewrite 2022-10-01 19:59:00 +02:00
markus
0a15634550 Streams with CodecType "data" (like "epg" streams in DVB
recordings) get ignored. This results in wrong stream specifiers for all
 subsequent streams. This fix correctly handles "data" streams without any
 further processing.
2022-10-01 08:53:54 -06:00
Shadowghost
647f435f6e Redirect natively if no baseurl is set 2022-10-01 14:59:53 +02:00
Stjepan Mrgnaić
55b0ebbbf3 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2022-09-30 05:54:37 -04:00
Bond-009
b85cde722b Merge pull request #8469 from hannesbraun/remove-redundant-using 2022-09-29 14:32:00 +02:00
jgriff6
b9abc004a7 Fix subtitle selection behaviour 2022-09-28 22:26:42 +01:00
يادىكار ياقۇپ
a6ebcc8c58 Translated using Weblate (Uyghur)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ug/
2022-09-28 15:54:37 -04:00
rimasx
9904e38c72 Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2022-09-28 15:54:37 -04:00
radiogalva
85f7e94ab5 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2022-09-28 15:54:37 -04:00
dynamic-core
b3c349ce90 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2022-09-28 15:54:37 -04:00
Cota Fainado
167863cdf4 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2022-09-28 15:54:37 -04:00
Hannes Braun
4edeccc5e0 Remove redundant using directives 2022-09-28 16:26:03 +02:00
1hitsong
c367857244 Format returns 2022-09-26 16:27:55 -04:00
1hitsong
5efa138c22 Update MediaBrowser.Controller/Lyrics/LyricInfo.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-09-26 16:24:21 -04:00
Bond-009
bb194b178f Merge pull request #8459 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-17.3.2 2022-09-26 16:41:58 +02:00
dependabot[bot]
cf6658c546 Bump actions/stale from 5 to 6
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 12:06:24 +00:00
dependabot[bot]
266fb2f81c Bump Microsoft.NET.Test.Sdk from 17.3.1 to 17.3.2
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.3.1 to 17.3.2.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v17.3.1...v17.3.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 12:01:34 +00:00
Bond-009
976dd012e7 Merge pull request #8426 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.1.2 2022-09-25 13:30:39 +02:00
Bond-009
3648b0c961 Merge pull request #8431 from jellyfin/dependabot/nuget/Serilog.Settings.Configuration-3.4.0 2022-09-25 13:27:48 +02:00
Cody Robibero
3716077495 Backport pull request #8433 from jellyfin/release-10.8.z
Update to dotnet 6.0.9

Original-merge: 4ec82ec662

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:12:50 -04:00
LogicalPhallacy
e8893f3d41 Backport pull request #8399 from jellyfin/release-10.8.z
Respect visibility for people items (rebased)

Original-merge: e6124bc154

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:38 -04:00
Claus Vium
4a261a3ec0 Backport pull request #8348 from jellyfin/release-10.8.z
Revert "Revert "refactor: use season number and episode number for NextUp ordering instead of SortName""

Original-merge: 88d5230bab

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:37 -04:00
AJ Jordan
c9f3c7b11a Backport pull request #8321 from jellyfin/release-10.8.z
Fix systemd not breaking whitespace in env vars

Original-merge: 125ee88311

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:37 -04:00
Bill Thornton
e8c12e5078 Backport pull request #8280 from jellyfin/release-10.8.z
Fix ffmpeg analyze duration env var taking priority over media source

Original-merge: 632fb05f46

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:36 -04:00
Niels van Velzen
1e72ba4c09 Backport pull request #8214 from jellyfin/release-10.8.z
Make userId truly optional in UniversalAudioController

Original-merge: af87706379

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:35 -04:00
nyanmisaka
0309c5622e Backport pull request #8213 from jellyfin/release-10.8.z
Fix high single thread usage in throttler

Original-merge: ba026716c1

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:35 -04:00
Luke F
e579b4d42d Backport pull request #8189 from jellyfin/release-10.8.z
Fix GetItems IndexOutOfRangeException when IDs do not exist

Original-merge: 527ed0607d

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:09:34 -04:00
1hitsong
1ae5c83aa7 Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-09-23 07:59:46 -04:00
1hitsong
563d5fb5d9 Return string.Empty is span IsEmpty 2022-09-22 17:38:46 -04:00
1hitsong
97409adb45 Adjust file read async functions 2022-09-22 09:00:07 -04:00
1hitsong
a50bdb4770 Use async functions 2022-09-22 08:13:53 -04:00
SaddFox
d3b016aae6 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2022-09-22 04:54:35 -04:00
1hitsong
35399ce8fe Update summaries, Use spans 2022-09-21 17:49:28 -04:00
1hitsong
b1771f07e9 Use Span in SupportedMediaTypes comparison 2022-09-20 13:34:46 -04:00
Bond-009
53d9ef71d4 Merge pull request #8402 from Bond-009/raspi 2022-09-20 15:22:13 +02:00
1hitsong
0d5bd85d6d Resolve Azure build error 2022-09-20 08:48:08 -04:00
1hitsong
6f0d33b1ca Use Directory GetFiles to find lyric files 2022-09-20 08:36:54 -04:00
1hitsong
b442c79e62 Make LyricParser a field 2022-09-19 20:24:05 -04:00
1hitsong
3ba8218e45 Use field instead of property 2022-09-19 17:57:03 -04:00
1hitsong
df85b2fe65 Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-09-19 17:46:29 -04:00
1hitsong
838334b322 Add missing summary to AcceptedTimeFormats 2022-09-19 17:02:42 -04:00
1hitsong
5d2364f064 Move AcceptedTimeFormats to class level variable 2022-09-19 16:59:16 -04:00
1hitsong
d7fedf3512 Variable declaration cleanup 2022-09-19 16:26:38 -04:00
dependabot[bot]
98003143da Bump Serilog.Settings.Configuration from 3.3.0 to 3.4.0
Bumps [Serilog.Settings.Configuration](https://github.com/serilog/serilog-settings-configuration) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/serilog/serilog-settings-configuration/releases)
- [Changelog](https://github.com/serilog/serilog-settings-configuration/blob/dev/CHANGES.md)
- [Commits](https://github.com/serilog/serilog-settings-configuration/commits/v3.4.0)

---
updated-dependencies:
- dependency-name: Serilog.Settings.Configuration
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 12:01:27 +00:00
dependabot[bot]
4b8d41cbe7 Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.1.1 to 2.1.2
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/ericsink/SQLitePCL.raw/releases)
- [Commits](https://github.com/ericsink/SQLitePCL.raw/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: SQLitePCLRaw.bundle_e_sqlite3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 12:01:02 +00:00
1hitsong
28d017865b Code Cleanup 2022-09-18 21:17:53 -04:00
1hitsong
552b6aceae Add default values to LyricResponse 2022-09-18 16:17:26 -04:00
1hitsong
7e923e2688 Use numeric values for metadata values 2022-09-18 16:05:50 -04:00
1hitsong
dddebec794 Update MediaBrowser.Controller/Lyrics/LyricResponse.cs
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2022-09-18 14:53:36 -04:00
1hitsong
dce81d8818 Update MediaBrowser.Controller/Lyrics/LyricResponse.cs
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2022-09-18 14:53:25 -04:00
1hitsong
f737581d49 Use providers in order of priority 2022-09-18 13:13:01 -04:00
1hitsong
10b07ed9a5 Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:39:38 -04:00
1hitsong
c85cbcced6 Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:39:19 -04:00
1hitsong
baf07ddbfe Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:39:07 -04:00
1hitsong
636835f73a Update MediaBrowser.Providers/Lyric/LrcLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:38:24 -04:00
1hitsong
1aa8b22b89 Update MediaBrowser.Providers/Lyric/TxtLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:38:10 -04:00
1hitsong
db662eeb33 Update MediaBrowser.Providers/Lyric/TxtLyricProvider.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-18 12:38:01 -04:00
1hitsong
a52d108af6 Remove automapper tool 2022-09-18 11:47:57 -04:00
1hitsong
0b86630be7 Use model properties for LRC metadata 2022-09-17 19:47:29 -04:00
1hitsong
64b013b121 Resolve Azure build issues 2022-09-17 17:48:27 -04:00
1hitsong
c65819221d Code cleanups. Remove pragma commands 2022-09-17 17:37:38 -04:00
1hitsong
29932466a9 Remove commented out code 2022-09-17 10:55:04 -04:00
1hitsong
7d886116fd Var type refinements 2022-09-17 10:42:48 -04:00
1hitsong
823e2ec029 Removing unused lines 2022-09-17 09:22:07 -04:00
1hitsong
9350fa40bd Convert _lyricProviders to an array. 2022-09-17 08:46:09 -04:00
1hitsong
8912f618f5 Change API GetLyrics return type 2022-09-16 21:11:28 -04:00
1hitsong
f740d1b9f0 Remove use of AddParts. Cleanup use of Lyric vs Lyrics. 2022-09-16 20:52:40 -04:00
1hitsong
f4fd908f8d Create ILyricManager 2022-09-15 20:49:25 -04:00
1hitsong
d9be3874ba Auto stash before merge of "lyric-lrc-file-support" and "origin/lyric-lrc-file-support" 2022-09-15 19:45:26 -04:00
1hitsong
7520a19985 Merge pull request #1 from JIntrocaso/lyric-lrc-file-support
Adds lyric providers to DI pipeline
2022-09-15 19:44:12 -04:00
Bond-009
aeee931afc Merge pull request #8393 from jellyfin/dependabot/nuget/Serilog.Sinks.Console-4.1.0 2022-09-15 15:21:55 +02:00
Claus Vium
195d7f6baa Merge pull request #8410 from Bond-009/lgtm
Remove LGTM badge
2022-09-15 13:30:26 +02:00
Claus Vium
e54f6b0660 Merge pull request #8409 from Bond-009/warn61
Use record for AudioBookFilePathParserResult
2022-09-15 09:13:59 +02:00
Jamie Introcaso
c0dae0fef5 Adds lyric providers to DI pipeline
This is adding those lyric providers to the DI pipeline along with a super simple implementation of how to use them in the controller method. Probably should be refactored into a lyric service of some sort that would have the providers injected into it.
2022-09-14 20:39:35 -04:00
Bond-009
2a2f932e76 Merge pull request #8407 from hannesbraun/fix-readme-html 2022-09-15 00:42:12 +02:00
Bond_009
b036144b0f Remove LGTM badge 2022-09-15 00:40:14 +02:00
Bond_009
6aa9d44fb7 Use record for AudioBookFilePathParserResult 2022-09-15 00:39:00 +02:00
Tome Stojkovski
a9af1d8408 Translated using Weblate (Macedonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mk/
2022-09-14 18:11:38 -04:00
Deyao Chen
4742215ac9 Translated using Weblate (Chinese (Traditional, Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2022-09-14 18:11:38 -04:00
Hannes Braun
216e5882f6 Fix HTML for badges in README 2022-09-14 23:10:11 +02:00
Bond-009
0b47b03423 Merge pull request #8401 from ZachPhelan/sort-special-features 2022-09-14 19:49:56 +02:00
Bond-009
3e0046f0d3 Merge pull request #7846 from hogenf/nordic-ratings 2022-09-14 19:49:19 +02:00
Bond-009
43ec8e9743 Merge pull request #8144 from joseph39/ffmpeg-referer 2022-09-14 19:49:04 +02:00
Bond_009
f5819a3039 Remove libomxil-bellagio0 libomxil-bellagio-bin packages from arm Dockerfile 2022-09-14 19:48:24 +02:00
Robin Schneider
d75c699ad4 Drop transitional package apt-transport-https (#5950) 2022-09-14 01:34:21 +02:00
Bond_009
b01a61ce43 Remove libraspberrypi0 package from arm Dockerfile 2022-09-14 01:17:27 +02:00
Zach Phelan
8857edb66c Add function back for compatibility, add sorting 2022-09-13 17:13:02 -06:00
Zach Phelan
c71d6f2358 Sort special features same as other spots, removing unnecssary function
Added to contributors
2022-09-13 16:56:23 -06:00
Shadowghost
42fc02cab6 Add xmldocs 2022-09-13 17:20:22 +02:00
Shadowghost
cfd1db1638 Prevent MusicArtist creation for artist subfolders 2022-09-13 17:20:22 +02:00
Shadowghost
e6c6482b9e Rename providers to be more generic 2022-09-13 17:20:22 +02:00
Shadowghost
61fa325ef0 Extend music parsing 2022-09-13 17:20:22 +02:00
dependabot[bot]
2c52741f1d Bump Serilog.Sinks.Console from 4.0.1 to 4.1.0
Bumps [Serilog.Sinks.Console](https://github.com/serilog/serilog-sinks-console) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/serilog/serilog-sinks-console/releases)
- [Commits](https://github.com/serilog/serilog-sinks-console/compare/v4.0.1...v4.1.0)

---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 12:01:39 +00:00
Bond-009
0246ba1fb4 Merge pull request #8386 from justjakka/splitter_artists 2022-09-12 11:15:45 +02:00
Bond-009
2d57e71b44 Don't allow throwing System.Exception (#8378) 2022-09-11 17:56:41 -06:00
Cody Robibero
d2e18547b1 Require properly typed ActionResult<T> (#8382) 2022-09-11 17:47:01 -06:00
1hitsong
31ec521f5e Remove now unused variables 2022-09-11 19:15:33 -04:00
1hitsong
cecca5f715 Remove unneeded 2nd loops 2022-09-11 19:13:02 -04:00
1hitsong
3928d02e17 Resolve Possible null reference 2022-09-11 16:13:17 -04:00
1hitsong
97f8a63b89 Allow LRC start value to be null 2022-09-11 15:56:34 -04:00
1hitsong
9d5cf67dfe Create ILyricsProvider 2022-09-11 15:50:27 -04:00
Bond-009
01b6f7fea4 Merge pull request #8379 from jellyfin/dependabot/nuget/SkiaSharp.NativeAssets.Linux-2.88.2 2022-09-11 21:46:46 +02:00
jakka
0b581aa655 added more artists with '/' in their names 2022-09-11 20:27:58 +03:00
Bond-009
c21115a258 Merge pull request #8384 from justjakka/master 2022-09-11 12:30:59 +02:00
jakka
778baf7bf5 added A/T/O/S to separator whitelist 2022-09-10 23:30:53 +03:00
1hitsong
23ec35d396 Merge remote-tracking branch 'origin/lyric-lrc-file-support' into lyric-lrc-file-support 2022-09-10 14:29:38 -04:00
1hitsong
2e260e5319 Updates based on review 2022-09-10 14:29:30 -04:00
1hitsong
d24444b6d3 Update Jellyfin.Api/Models/UserDtos/Lyrics.cs
Co-authored-by: Neil Burrows <neil@pawprint.co.uk>
2022-09-10 10:51:05 -04:00
1hitsong
0aa2780ea7 Update Jellyfin.Api/Controllers/UserLibraryController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-09 21:15:57 -04:00
1hitsong
92715a7426 Update Jellyfin.Api/Controllers/UserLibraryController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-09 21:09:39 -04:00
1hitsong
8b78802c0b Update Jellyfin.Api/Controllers/UserLibraryController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-09-09 21:08:38 -04:00
1hitsong
5f5347aee3 Add Lyrics API Endpoint 2022-09-09 20:22:55 -04:00
Cody Robibero
eb28fcc9c1 Merge pull request #8269 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.4.0 2022-09-09 07:45:33 -06:00
Cody Robibero
d1f3b8ef03 Merge pull request #8231 from jellyfin/dependabot/nuget/xunit-2.4.2 2022-09-09 07:45:27 -06:00
Cody Robibero
6004060b4e Fix build errors from new warnings 2022-09-09 07:44:14 -06:00
dependabot[bot]
62ef93e2ce Bump xunit from 2.4.1 to 2.4.2
Bumps [xunit](https://github.com/xunit/xunit) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/xunit/xunit/releases)
- [Commits](https://github.com/xunit/xunit/compare/2.4.1...2.4.2)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 07:44:12 -06:00
Cody Robibero
b8cd50b0f1 Update Jellyfin.Drawing.Skia.csproj 2022-09-09 07:40:55 -06:00
dependabot[bot]
6076df1b50 Bump SkiaSharp.NativeAssets.Linux from 2.88.1-preview.79 to 2.88.2
Bumps [SkiaSharp.NativeAssets.Linux](https://github.com/mono/SkiaSharp) from 2.88.1-preview.79 to 2.88.2.
- [Release notes](https://github.com/mono/SkiaSharp/releases)
- [Commits](https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.79...v2.88.2)

---
updated-dependencies:
- dependency-name: SkiaSharp.NativeAssets.Linux
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 13:40:13 +00:00
Cody Robibero
8290cc134f Merge pull request #8364 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.1.1 2022-09-09 07:39:40 -06:00
Cody Robibero
74e40ebdb5 Merge pull request #8268 from jellyfin/dependabot/nuget/Moq-4.18.2 2022-09-09 07:39:21 -06:00
Cody Robibero
72ec1fafe0 Merge pull request #8296 from jellyfin/dependabot/nuget/SkiaSharp-2.88.1 2022-09-09 07:39:08 -06:00
Claus Vium
38b7d0222f Merge pull request #8377 from Bond-009/resetcase
Make Password Reset case sensitive
2022-09-09 14:01:44 +02:00
Bond-009
eb12aaf396 Merge pull request #8335 from eglia/keyframe-extract-fixes 2022-09-09 13:42:02 +02:00
Bond_009
5f8477ba47 Make Password Reset case sensitive 2022-09-09 13:36:27 +02:00
Claus Vium
1cbf5431aa Merge pull request #8250 from Bond-009/minor18
Minor cleanup
2022-09-09 13:27:52 +02:00
Bond-009
c12cab6844 Merge pull request #8359 from nielsvanvelzen/simplify-universalaudiocontroller 2022-09-09 12:57:16 +02:00
dependabot[bot]
1be9eb13ef Bump Moq from 4.18.1 to 4.18.2
Bumps [Moq](https://github.com/moq/moq4) from 4.18.1 to 4.18.2.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/compare/v4.18.1...v4.18.2)

---
updated-dependencies:
- dependency-name: Moq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 10:49:52 +00:00
Bond-009
aa05112169 Merge pull request #8365 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-17.3.1 2022-09-09 12:49:00 +02:00
Joshua M. Boniface
b5519c318f Merge pull request #8376 from jellyfin/musl-v2 2022-09-08 23:36:07 -04:00
Cody Robibero
5a2f5609c0 Fix musl publish command 2022-09-08 21:19:40 -06:00
Bill Thornton
1f19c0a77d Merge pull request #8375 from crobibero/musl 2022-09-08 23:04:17 -04:00
Cody Robibero
58d5827dfe Fix musl permissions 2022-09-08 20:43:06 -06:00
Kristijan Fremen Velkovski
faadbbce00 Translated using Weblate (Macedonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mk/
2022-09-06 22:11:35 -04:00
Andreas Egli
2251e7d603 change variable to camelCase 2022-09-06 07:41:27 +02:00
dependabot[bot]
a0f873692e Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.2.0 to 17.3.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v17.2.0...v17.3.1)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 15:52:18 +00:00
dependabot[bot]
7c98f43641 Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.1.0 to 2.1.1
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/ericsink/SQLitePCL.raw/releases)
- [Commits](https://github.com/ericsink/SQLitePCL.raw/commits)

---
updated-dependencies:
- dependency-name: SQLitePCLRaw.bundle_e_sqlite3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 15:52:11 +00:00
Cody Robibero
871ae39c9f Merge pull request #8325 from nielsvanvelzen/uuid-userconfiguration 2022-09-05 08:52:24 -06:00
Cody Robibero
cb8695a3d3 Merge pull request #8112 from JinYi-Tsinghua/master 2022-09-05 08:51:34 -06:00
Claus Vium
c7d236a348 Merge pull request #8360 from nielsvanvelzen/qc-operation-names 2022-09-04 13:48:51 +02:00
Niels van Velzen
49e56c147e Fix QuickConnect operation names 2022-09-04 10:21:21 +02:00
Niels van Velzen
e9bb448e89 Simplify UniversalAudioController code, remove redundant null checks 2022-09-04 10:14:25 +02:00
nema imena
176e182629 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2022-09-01 11:11:32 -04:00
JinYi-Tsinghua
f1bfbff953 Merge pull request #1 from JinYi-Tsinghua/patch-1
Patch 1
2022-08-29 02:32:16 +00:00
JinYi-Tsinghua
2b285b7874 Add musl-linux-arm64 support in azure-pipelines-package.yml
This is a supplement to pull request 8112
2022-08-29 02:28:15 +00:00
Alan Azar
2f67ee141e Translated using Weblate (Burmese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/my/
2022-08-28 13:11:31 -04:00
Andreas Egli
bd7898f18a allow additional flags after K_ for ffprobe keyframe extraction 2022-08-28 16:14:53 +02:00
Andreas Egli
1528cb1e77 add gentps flag to ffprobe for keyframe extraction 2022-08-28 15:53:28 +02:00
Andreas Egli
56a5db5706 add TryParse to FFProbe Keyframe extraction 2022-08-28 11:45:31 +02:00
Bond-009
98f6485cdd Merge pull request #8313 from brianjmurrell/patch-3 2022-08-27 17:53:20 +02:00
Niels van Velzen
dd4af49962 Use Guid type for UserConfiguration fields 2022-08-27 14:19:47 +02:00
jan
ab1913c49f Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2022-08-25 11:11:30 -04:00
Brian J. Murrell
d675a20540 JELLYFIN_NOWEBAPP_OPT is now --nowebclient
--noautorunwebapp has been renamed --nowebclient.
2022-08-24 17:20:05 -04:00
Claus Vium
10484033f8 Merge pull request #8300 from Bond-009/dlnaregression 2022-08-22 19:20:28 +02:00
Bond_009
7d48f97db9 Fix regression in DlnaHttpClient
```
[18:53:50] [ERR] [25] Emby.Dlna.Main.DlnaEntryPoint: Error updating device info for 192.168.1.21 - Sonos Connect:Amp Berging
System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Http.StringContent'.
   at System.Net.Http.HttpContent.CheckDisposed()
   at System.Net.Http.HttpContent.CopyToAsync(Stream stream, TransportContext context, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnection.SendRequestContentAsync(HttpRequestMessage request, HttpContentWriteStream stream, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at Emby.Dlna.PlayTo.DlnaHttpClient.SendRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/DlnaHttpClient.cs:line 47
   at Emby.Dlna.PlayTo.Device.GetTransportInfo(TransportCommands avCommands, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/Device.cs:line 705
   at Emby.Dlna.PlayTo.Device.TimerCallback(Object sender) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/Device.cs:line 521
```
2022-08-22 19:01:19 +02:00
Bond-009
33611614ed Merge pull request #7433 from Bond-009/ssdphttpclient 2022-08-22 17:52:19 +02:00
Bond-009
e1e4ac75e4 Merge pull request #8267 from luzpaz/typos 2022-08-22 17:50:42 +02:00
Bond-009
c45c8bdec7 Merge pull request #7903 from knackebrot/ignore-dts 2022-08-22 17:49:27 +02:00
dependabot[bot]
cd01c563df Bump SkiaSharp from 2.88.1-preview.79 to 2.88.1
Bumps [SkiaSharp](https://github.com/mono/SkiaSharp) from 2.88.1-preview.79 to 2.88.1.
- [Release notes](https://github.com/mono/SkiaSharp/releases)
- [Commits](https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.79...v2.88.1)

---
updated-dependencies:
- dependency-name: SkiaSharp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 12:00:54 +00:00
Negulici-R. Barnabas
1e41636e30 Merge branch 'jellyfin:master' into master 2022-08-22 07:19:39 +03:00
Claus Vium
8a0911004d Merge pull request #7965 from jasongdove/api-key-items-without-user-id 2022-08-21 16:22:46 +02:00
oncetemp
893ac59668 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2022-08-20 13:11:28 -04:00
Bond-009
f954df2341 Merge pull request #8279 from nielsvanvelzen/search-fixes 2022-08-18 20:05:54 +02:00
Niels van Velzen
de98457332 Fix operation name in SearchController and correct nullability for SearchHint 2022-08-18 17:44:40 +02:00
Bond_009
5036afd691 Minor cleanup 2022-08-18 13:56:23 +02:00
knackebrot
c3405d25fd Make IgnoreDts configurable for M3U tuner 2022-08-18 01:08:03 +02:00
Cody Robibero
fdd728e9f8 Merge pull request #8259 from RealGreenDragon/subtitle-extraction-timeout 2022-08-16 21:23:39 -06:00
dependabot[bot]
05334275a9 Bump Swashbuckle.AspNetCore.ReDoc from 6.3.1 to 6.4.0
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.3.1 to 6.4.0.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.3.1...v6.4.0)

---
updated-dependencies:
- dependency-name: Swashbuckle.AspNetCore.ReDoc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 12:01:13 +00:00
luz paz
9ec2870b10 Fix various typos
Found via `codespell -q 3 -S ./Emby.Server.Implementations/Localization -L allready,doesnt,inh,receivedfrom,whoknows`
2022-08-15 06:48:34 -04:00
Cody Robibero
8ba83e41ae Merge pull request #7845 from utkuozdemir/fix/photos-lib-dir-with-single-video 2022-08-14 09:49:27 -07:00
Cody Robibero
12794d184a Merge pull request #8261 from nielsvanvelzen/adjacentTo-guid 2022-08-14 09:48:48 -07:00
Cody Robibero
3c53b47dc5 Merge pull request #8262 from nielsvanvelzen/seriesId-guid 2022-08-14 09:48:38 -07:00
Niels van Velzen
bef4256d47 Use guid for seriesId API parameter 2022-08-14 13:03:48 +02:00
Niels van Velzen
61afd029df Check for empty guid 2022-08-14 12:58:38 +02:00
Niels van Velzen
0f91244239 Use Guid for adjacentTo API parameter 2022-08-14 12:47:25 +02:00
MagicGreenDragon
7391b001ef increased subtitle extraction timeout to 30 min 2022-08-14 08:53:00 +02:00
Negulici-R. Barnabas
5196f63d43 Merge branch 'jellyfin:master' into master 2022-08-14 08:15:01 +03:00
Joshua M. Boniface
c7edf8b565 Backport pull request #8257 from jellyfin/release-10.8.z
Use separate args for dotnet publish commands

Original-merge: d260f30810

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:36 -04:00
Cody Robibero
010228b3c0 Backport pull request #8234 from jellyfin/release-10.8.z
update to dotnet 6.0.8

Original-merge: 31f9938e3a

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:35 -04:00
nyanmisaka
56805b3368 Backport pull request #8219 from jellyfin/release-10.8.z
Move Fedora service hardening options to override config

Original-merge: 1d4755894e

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:35 -04:00
SenorSmartyPants
de9a350bad Backport pull request #8212 from jellyfin/release-10.8.z
Add resolution text for 384 sized video

Original-merge: 7ffdde9a0b

Merged-by: Cody Robibero <cody@robibe.ro>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:34 -04:00
Shadowghost
7b05e0a413 Backport pull request #8209 from jellyfin/release-10.8.z
Fix series query including missing episodes when it should not

Original-merge: 9357d610b1

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:34 -04:00
Shadowghost
3e5cf9395f Backport pull request #8182 from jellyfin/release-10.8.z
Extract external subs from container before determining characterset

Original-merge: 1faee43b11

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

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:33 -04:00
Negulici-R. Barnabas
d23116d096 Merge branch 'jellyfin:master' into master 2022-08-05 19:46:54 +03:00
adrez99
b8afdd892a Merge branch 'master' into gzip 2022-08-04 17:22:35 +02:00
Dzonkins
63d943aab9 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2022-08-03 16:22:27 -04:00
0TTA
6127043142 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2022-08-02 13:09:11 -04:00
Negulici-R. Barnabas
c1d990c9a3 Merge branch 'jellyfin:master' into master 2022-08-02 17:16:01 +03:00
Joshua Boniface
b3675ebce0 Backport pull request #8191 from jellyfin/release-10.8.z
fix: remove Virtual episodes when their physical counterpart exists

Authored-by: cvium <clausvium@gmail.com>

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

Original-merge: 77a007a24d
2022-08-01 14:25:46 -04:00
Joshua Boniface
d5ea136dc5 Backport pull request #8174 from jellyfin/release-10.8.z
Disable auto inserted SW scaler for HW decoders

Authored-by: nyanmisaka <nst799610810@gmail.com>

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

Original-merge: 7297431f23
2022-08-01 14:25:45 -04:00
Joshua Boniface
e251f1483f Backport pull request #8167 from jellyfin/release-10.8.z
Add back library scan from library manager

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

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

Original-merge: f9dffa767f
2022-08-01 14:25:44 -04:00
Joshua Boniface
0356a15056 Backport pull request #8163 from jellyfin/release-10.8.z
Don't refresh playlists on album refresh

Authored-by: David Ullmer <davidullmer@outlook.de>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 444b0ea310
2022-08-01 14:25:44 -04:00
Joshua Boniface
38f6f589d9 Backport pull request #8127 from jellyfin/release-10.8.z
Workaround for linux 5.18+ i915 hang at cost of performance

Authored-by: Nyanmisaka <nst799610810@gmail.com>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 484427b4aa
2022-08-01 14:25:43 -04:00
Joshua Boniface
38eefbbafa Backport pull request #8087 from jellyfin/release-10.8.z
feat: make subtitleeditparser generic

Authored-by: Claus Vium <cvium@users.noreply.github.com>

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

Original-merge: 7323ccfc23
2022-08-01 14:25:42 -04:00
Joshua Boniface
3e24b8943d Backport pull request #8061 from jellyfin/release-10.8.z
Fix intel dx11-ocl interop taking too long to initialize on windows

Authored-by: nyanmisaka <nst799610810@gmail.com>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 9854751137
2022-08-01 14:25:41 -04:00
Cody Robibero
36217108dc Merge pull request #8196 from jellyfin/dependabot/nuget/sharpcompress-0.32.2
Bump sharpcompress from 0.32.1 to 0.32.2
2022-08-01 10:34:25 -06:00
dependabot[bot]
4358fd0114 Bump sharpcompress from 0.32.1 to 0.32.2
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.32.1 to 0.32.2.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.32.1...0.32.2)

---
updated-dependencies:
- dependency-name: sharpcompress
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 12:01:12 +00:00
Jason Dove
c69b2c849a add comments 2022-07-30 08:12:59 -05:00
Jason Dove
e52f1b52c1 Merge branch 'master' into api-key-items-without-user-id 2022-07-30 08:01:48 -05:00
Negulici-R. Barnabas
633dcd85a9 Merge branch 'jellyfin:master' into master 2022-07-25 20:01:22 +03:00
Pretendexxx
ce1356b2f2 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2022-07-25 07:22:25 -04:00
Negulici-R. Barnabas
a1f1fd9a5c Merge branch 'jellyfin:master' into master 2022-07-25 07:16:04 +03:00
Joshua Boniface
bffda19bbc Backport pull request #8166 from jellyfin/release-10.8.z
Bind @userid only when it's in the statement

Authored-by: Joseph <1315585+joseph39@users.noreply.github.com>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 057e8ef240
2022-07-24 12:35:47 -04:00
Joshua Boniface
76f7a80a97 Backport pull request #8152 from jellyfin/release-10.8.z
Fix support for rtsp streams over tcp

Authored-by: Bill Thornton <billt2006@gmail.com>

Merged-by: Cody Robibero <cody@robibe.ro>

Original-merge: b2fb96ffed
2022-07-24 12:35:46 -04:00
Joshua Boniface
410871e148 Backport pull request #7732 from jellyfin/release-10.8.z
Fix to make web sockets close gracefully on server shutdown

Authored-by: luke brown <luke92brown@gmail.com>

Merged-by: Cody Robibero <cody@robibe.ro>

Original-merge: ee22feb89a
2022-07-24 12:35:46 -04:00
Negulici-R. Barnabas
4fac67c097 Merge branch 'jellyfin:master' into master 2022-07-22 18:06:30 +03:00
norikhwan-ali
8ccd9d8dfa Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2022-07-22 10:22:23 -04:00
Shadowghost
59a86568d9 Cleanup and fixes 2022-07-21 22:09:54 +02:00
Shadowghost
ff22f597d2 Fix multiple UDP servers for AutoDiscovery 2022-07-21 19:38:19 +02:00
Shadowghost
cea8e8bbf6 Fix logging output 2022-07-21 19:17:44 +02:00
Negulici-R. Barnabas
5121baa9e8 Merge branch 'jellyfin:master' into master 2022-07-21 16:41:30 +03:00
Shadowghost
b5c1d6129e Remove more unused network configuration parameters 2022-07-21 11:43:45 +02:00
Shadowghost
a2857c5a02 Check if OS is capable of binding multiple sockets before creating autodiscovery sockets 2022-07-21 10:20:20 +02:00
Shadowghost
b01d169d28 Implement discovery respecting bind addresses 2022-07-21 09:42:45 +02:00
Shadowghost
f6e41269d9 Enforce interface bindings on SSDP, add Loopback to LAN if no LAN defined 2022-07-21 09:26:18 +02:00
Joshua Boniface
be3d57ad41 Backport pull request #8115 from jellyfin/release-10.8.z
Update to dotnet 6.0.7

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

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Original-merge: d0fd23bb4b
2022-07-20 19:29:09 -04:00
Joshua Boniface
924b0740b1 Backport pull request #8104 from jellyfin/release-10.8.z
Add resolution text output for more resolutions

Authored-by: Shadowghost <Ghost_of_Stone@web.de>

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

Original-merge: 2b46917dcf
2022-07-20 19:29:08 -04:00
Joshua Boniface
adc08b5b4c Backport pull request #8092 from jellyfin/release-10.8.z
Change allow higher opus, vorbis transcode bitrates

Authored-by: Andy Walsh <andy.walsh44+github@gmail.com>

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

Original-merge: 7ef9e95d75
2022-07-20 19:29:07 -04:00
Joshua Boniface
a9449d0f23 Backport pull request #8078 from jellyfin/release-10.8.z
fix copy&paste error for requestedRangeTypes preventing stream copy

Authored-by: Andy Walsh <andy.walsh44+github@gmail.com>

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

Original-merge: 47c2c536e4
2022-07-20 19:29:06 -04:00
Joshua Boniface
b7206b4816 Backport pull request #8013 from jellyfin/release-10.8.z
Fix password change during parental control schedule

Authored-by: David Ullmer <davidullmer@outlook.de>

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

Original-merge: 84a1674f39
2022-07-20 19:29:06 -04:00
Shadowghost
05458a4a42 Fix some ssdp errors 2022-07-21 00:32:51 +02:00
Shadowghost
358642c2d9 Fix build, fix loopback binding, exclude unsupported IPs from bind 2022-07-20 21:51:12 +02:00
Shadowghost
2d3a16ad0f Simplify code 2022-07-20 21:19:35 +02:00
Shadowghost
8075cb4e99 Cleanup and sort NetworkConfiguration 2022-07-20 16:14:56 +02:00
Shadowghost
2281b8c997 Move away from using Collection, simplify code, add proper ordering 2022-07-20 14:29:30 +02:00
Shadowghost
a492082f4e Apply review suggestions and fix build 2022-07-20 11:47:48 +02:00
Shadowghost
2043a33f81 Small cleanup and logging fix 2022-07-20 09:50:41 +02:00
Shadowghost
748907b920 Remove workaround, this only applies to the IPs set by the middleware 2022-07-20 09:50:16 +02:00
Shadowghost
34d8e531e0 Properly handle subnets in KnownProxies 2022-07-20 09:48:20 +02:00
Shadowghost
64ffd5fd95 Move subnet parser to NetworkExtensions 2022-07-20 09:45:57 +02:00
Shadowghost
daf33143f6 Handle forwarded requests not having port set in GetSmartApiUrl 2022-07-20 09:44:15 +02:00
Shadowghost
1c6b6f5d36 Remove socket wrkaround 2022-07-20 07:42:52 +02:00
Nicolas Viviani
81e164ebc8 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-07-19 19:22:23 -04:00
Shadowghost
bdb1483167 Add generic IPAddress.Parse tests 2022-07-19 23:42:32 +02:00
Shadowghost
997aa3f1e7 Fix build 2022-07-19 21:53:10 +02:00
Shadowghost
066db8ac7f Migrate NetworkManager and Tests to native .NET IP objects 2022-07-19 21:28:04 +02:00
Joseph
54b3debd27 Add referer parameter to ffmpeg
As of https://trac.ffmpeg.org/ticket/2179, ffmpeg supports referer parameter which injects Referer header to the HTTP request for remote content. Have EncodingHelper pass this in if it's included in RemoteHttpHeaders.
2022-07-18 23:30:27 -07:00
Negulici-R. Barnabas
12ec0e285d Chapter Images:
- chapter image extraction intervals, limit count and resolutions can be set by the user from the server general settings;
2022-07-18 17:50:52 +03:00
Joshua M. Boniface
c2902dd108 Merge pull request #8118 from crobibero/jellyfin-10.9
Jellyfin 10.9.0
2022-07-16 15:39:51 -04:00
MaZe3D
0d45ccc99c Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2022-07-15 08:22:20 -04:00
Cody Robibero
40d3d8fb37 bump Jellyfin to 10.9 2022-07-13 21:00:56 -06:00
Maxim Titov
64c44baf2f Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2022-07-13 18:22:21 -04:00
Nicolas Viviani
6e18c10e51 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-07-13 18:22:21 -04:00
Bond-009
f12880397c Merge pull request #8107 from candrews/patch-1 2022-07-14 00:01:37 +02:00
JinYi-Tsinghua
a94aec9b32 Create Dockerfile.linux.musl-linux-arm64 2022-07-12 18:20:29 +08:00
JinYi-Tsinghua
9a5869ea82 Add static build file for musl-linux-arm64 2022-07-12 18:18:25 +08:00
Craig Andrews
ac5a4e62f4 Move transcodes to be under CachePath
Move transcodes to be under CachePath instead of ProgramDataPath.

Since transcodes are ephemeral (they're cleaned up periodically and recreated if they don't exist), they're more like cache data than program data. Systems can (and oftentimes do) have the cache directory on a different disk, use a different type of file system, or have a different backup policy for the cache path because it contains ephemeral data.
2022-07-11 12:56:58 -04:00
Muhammed Aljailane
61a7f69aeb Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2022-07-07 18:48:03 -04:00
Fedir Smilianets
004d4684a1 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2022-07-07 13:22:18 -04:00
blob03
2af00b2669 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-07-07 13:22:18 -04:00
Fedir Smilianets
f134f45d00 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2022-07-04 11:22:18 -04:00
Bond-009
ecae0982cc Merge pull request #8008 from revam/add-escape-hatch-for-series-merging 2022-07-03 21:30:34 +02:00
Mikal Stordal
8e1796f08a Add escape hatch for Series merging
This is an universal solution for plugins to override how series are merged.
The reason to override is so we can set the same provider id on multiple items without merging them, while using another id for merging them. Having an (optional) provider id not tied to any online database allows plugins to use their own rules for merging series.
2022-07-03 00:32:09 +02:00
Joshua Boniface
28594ececa Backport pull request #8038 from jellyfin/release-10.8.z
Remove mount and unmount permissions for jellyfin group from sudoers

Authored-by: Shadowghost <Ghost_of_Stone@web.de>

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Original-merge: 9cebdfdec0
2022-06-30 12:15:07 -04:00
adrez99
aadd8ee971 Merge branch 'master' into gzip 2022-06-30 17:24:40 +02:00
Utku Özdemir
d83b1c0f5a chore: add utkuozdemir to contributors.md
Signed-off-by: Utku Ozdemir <uoz@protonmail.com>
2022-06-30 13:36:46 +02:00
Utku Ozdemir
9ec42f8cf5 fix: single video folder during photos lib scan
Prevent a directory with a single video file to be detected as a movie directory when the library type is "Photos". Closes jellyfin/jellyfin#7825

Signed-off-by: Utku Ozdemir <uoz@protonmail.com>
2022-06-30 13:36:46 +02:00
Mikael Östergren
2c9b24a1e7 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2022-06-29 23:22:16 -04:00
Claus Vium
3e2fbb2685 Merge pull request #8001 from jellyfin/fix-yuvj420p-hwdec
Fix yuvj420p pixel format hardware decoding

(cherry picked from commit d342b79218)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:38 -04:00
Joshua M. Boniface
9c97c533ef Merge pull request #7994 from nyanmisaka/fix-throttler
(cherry picked from commit a7d45b5d3a)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:38 -04:00
Bond-009
d771205544 Merge pull request #7988 from jellyfin/external-streams-exceptions
(cherry picked from commit a71b190142)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:38 -04:00
Joshua M. Boniface
3061446c87 Merge pull request #7984 from crobibero/dotnet-6.0.6
Upgrade to dotnet 6.0.6, update remaining dependencies

(cherry picked from commit 56e7b323de)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:36 -04:00
Bond-009
7dab8b8f88 Merge pull request #7975 from jellyfin/libva-driver-env
(cherry picked from commit 910df89cce)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Bond-009
074d7dc6b6 Merge pull request #7968 from jellyfin/fix-hwa-bluray
(cherry picked from commit 5f15339919)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Joshua M. Boniface
fe32b5e333 Merge pull request #7964 from jellyfin/dovi-side-data
(cherry picked from commit 39d185c7b1)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Joshua M. Boniface
e61c80fed7 Merge pull request #7960 from Shadowghost/subrip-encoder-fix
(cherry picked from commit ae79bbc34c)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Joshua M. Boniface
c0e4a33a0b Merge pull request #7955 from nyanmisaka/fix-ext
(cherry picked from commit 52704e8dd0)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero
a99e87a00c Merge pull request #7954 from cvium/fix_7953_dlna_url
(cherry picked from commit 2c0c3eb3ee)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero
a65397ae14 Merge pull request #7950 from nyanmisaka/brighter-vpp-tonemap
(cherry picked from commit b36543275f)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:15 -04:00
Cody Robibero
38102499cb Merge pull request #7947 from nyanmisaka/video-range-condition
(cherry picked from commit f1d56aa5ce)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero
7f1223016d Merge pull request #7946 from cvium/svg
(cherry picked from commit 4ebe70cf6a)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero
a168040cc8 Merge pull request #7941 from jellyfin/fix-overflow
(cherry picked from commit fd4ffc6ba3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero
5b0af106c2 Merge pull request #7940 from Shadowghost/fix-recommendations
(cherry picked from commit 6749313249)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Joshua M. Boniface
669855e686 Merge pull request #7887 from joshuaboniface/fix-restart.sh
(cherry picked from commit 294ab0757e)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Cody Robibero
1ee1a05fc7 Merge pull request #7614 from mihawk90/fedora-spec-rework
(cherry picked from commit cb6e6879e2)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-06-29 01:26:14 -04:00
Stojan Jovanovic
f13cd26d67 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2022-06-28 22:22:15 -04:00
Aljaz S
2fbc50beec Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2022-06-28 22:22:15 -04:00
Ninjiner
6d31a362e1 Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gsw/
2022-06-28 22:22:14 -04:00
Jason Dove
fc74c8eecf tweak guid check
Co-authored-by: Bond-009 <bond.009@outlook.com>
2022-06-23 09:19:29 -05:00
liimee
7346878485 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2022-06-22 18:23:45 -04:00
Miko Dela Cruz
3f170116c4 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2022-06-20 09:22:11 -04:00
Christos Mak
c34c9d52b7 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2022-06-20 09:22:11 -04:00
adrez99
72893da4d8 Use System.IO.Compression instead of SharpCompress for gzips 2022-06-19 00:06:40 +02:00
Jason Dove
d06fda43c1 use null-forgiving operator to suppress warnings 2022-06-18 13:19:00 -05:00
Jason Dove
82df4c3242 update comments 2022-06-18 13:15:05 -05:00
Jason Dove
e4088ba0bd don't require a user id for items api call using api key 2022-06-18 13:10:50 -05:00
普鲁文
8af9b84745 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2022-06-16 03:22:10 -04:00
Cody Robibero
bee13d5644 Fix splashscreen (#7895) 2022-06-14 19:34:29 -04:00
Claus Vium
06b2e7bcf5 Merge pull request #7934 from Bond-009/xmlasync2
Enable XmlReaderSettings.Async, fixes #7929

(cherry picked from commit 1b8a251991)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero
9c5d30c217 Merge pull request #7925 from nyanmisaka/remove-mpeg4-amf
(cherry picked from commit b295b0478c)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero
db8047136d Merge pull request #7924 from jellyfin/improve-swdec-amf-tonemap
(cherry picked from commit 2888080098)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero
758b16691f Merge pull request #7913 from cvium/fix_response_logging
(cherry picked from commit 42aaea3556)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero
b6a0fe3378 Merge pull request #7911 from cvium/fix_keyframe_transcode
(cherry picked from commit 07b39655eb)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:32:09 -04:00
Cody Robibero
e4b095a766 Merge pull request #7894 from crobibero/search-hints
(cherry picked from commit 0f75f17736)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:30:59 -04:00
Cody Robibero
b35d608b19 Merge pull request #7892 from cvium/fix_tv_multi
(cherry picked from commit 21afec3225)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:30:59 -04:00
Claus Vium
8d1dcb3c05 Merge pull request #7885 from iwalton3/fix-navigation-buttons
Prevent 400 error when using navigation buttons.

(cherry picked from commit 8b69b0f521)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:30:59 -04:00
Bond-009
6702756e7b Merge pull request #7873 from cvium/fix_nfo_remoteimages
(cherry picked from commit 1a787e273a)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-14 19:30:59 -04:00
Joaquim de Oliveira
7dc5b69d21 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2022-06-14 13:22:10 -04:00
Bond_009
5b4e14940e Fix format string 2022-06-14 16:43:48 +02:00
Bond-009
a881733377 Merge pull request #7682 from 1337joe/test-preferred-audio-language 2022-06-14 15:23:40 +02:00
Aragon
9208055ca7 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2022-06-12 07:22:09 -04:00
Joshua M. Boniface
0e1a41f7e9 Merge pull request #7868 from cvium/disable_dlna
(cherry picked from commit aa0f6cb5eb)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-10 23:43:18 -04:00
Cody Robibero
5ddf4e031c Merge pull request #7867 from crobibero/name-guid-pair
(cherry picked from commit 69cc1e0bd8)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-10 23:43:18 -04:00
Cody Robibero
bacb41e142 Merge pull request #7854 from cvium/enable_mkv_keyframe_extraction
(cherry picked from commit 2a89683e80)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-10 23:43:18 -04:00
Bond-009
c19c787273 Merge pull request #7828 from nyanmisaka/fix-dovi-tonemap
Fix Dolby Vision profile 5 and 8 to SDR HW tone-mapping

(cherry picked from commit 8595a979a8)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-10 23:43:17 -04:00
hogenf
e2ae79be2b Change Country code is SE
SV is language code. SE country code.
2022-06-09 13:48:29 +02:00
Joshua M. Boniface
1a9919d487 Merge pull request #7852 from nyanmisaka/fix-skia
Fix the PNG image decoding issue in Skia

(cherry picked from commit 4bfadbc636)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-06 09:20:11 -04:00
Cody Robibero
a7b1132c92 Merge pull request #7842 from crobibero/dependency-backport
(cherry picked from commit df6c5b6d42)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-06 09:20:07 -04:00
Cody Robibero
eb55f47f2e Merge pull request #7810 from Bond-009/unaccpattern
(cherry picked from commit 5e343d30e1)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-06 09:16:11 -04:00
Cody Robibero
3a95d4b04e Merge pull request #7802 from jellyfin/external
(cherry picked from commit 9954cbd550)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-06 09:16:11 -04:00
Cody Robibero
b8722d02a3 Merge pull request #7781 from crobibero/live-tv-infinite
(cherry picked from commit 77c73e241f)
Signed-off-by: crobibero <cody@robibe.ro>
2022-06-06 09:16:11 -04:00
/dani
ad1e554141 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2022-06-06 06:22:06 -04:00
hogenf
5df2ee9e55 Add TV ratings Finland 2022-06-05 11:31:08 +02:00
hogenf
d89596591e Add cinema ratings for sv,fi,no 2022-06-05 11:25:55 +02:00
Ivan Kranjec
cf5017684a Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2022-06-04 14:22:06 -04:00
dependabot[bot]
3d1ca41e08 Bump PlaylistsNET from 1.1.3 to 1.2.1 (#7818)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 00:28:20 +02:00
dependabot[bot]
c181d818be Bump CommandLineParser from 2.8.0 to 2.9.1 (#7819)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 00:28:02 +02:00
dependabot[bot]
7ac06429d9 Bump Moq from 4.17.2 to 4.18.1 (#7820)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 00:27:45 +02:00
dependabot[bot]
2d506cea2d Bump prometheus-net.DotNetRuntime from 4.2.3 to 4.2.4 (#7821)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 00:27:27 +02:00
dependabot[bot]
5e728d6e01 Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.7 to 2.1.0 (#7817)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 00:27:11 +02:00
Slimane Selyan AMIRI
499b1df9cb Translated using Weblate (Kabyle)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kab/
2022-06-01 13:37:43 -04:00
Slimane Selyan AMIRI
4e9ffd37a9 Added translation using Weblate (Kabyle) 2022-06-01 07:43:04 -04:00
Waiyan Min Thant
6394e38b73 Translated using Weblate (Burmese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/my/
2022-05-29 02:22:04 -04:00
Cody Robibero
6178898f48 Merge pull request #7792 from crobibero/skia-native
Conditionally include platform specific Skia assets

(cherry picked from commit b507d1a780)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-26 13:38:51 -04:00
Cody Robibero
ea69213e5b Merge pull request #7785 from dmitrylyzo/clear-transcodinginfo
Clear TranscodingInfo if play method changed

(cherry picked from commit c9491cf317)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-26 13:36:46 -04:00
Cody Robibero
97b3166ead Merge pull request #7784 from crobibero/support-transcoding
(cherry picked from commit d471be8d92)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-26 13:36:46 -04:00
Bond_009
181b2760b8 Revert UPnP version to 1.0 2022-05-26 16:30:21 +02:00
dependabot[bot]
0f6bd264ae Bump Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0 (#7760)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-25 19:06:17 +02:00
Cody Robibero
a0331cdcf1 Merge pull request #7758 from jellyfin/dependabot/nuget/Microsoft.AspNetCore.Mvc.Testing-6.0.5 2022-05-24 14:01:52 -06:00
dependabot[bot]
08981f3a04 Bump Microsoft.AspNetCore.Mvc.Testing from 6.0.4 to 6.0.5
Bumps [Microsoft.AspNetCore.Mvc.Testing](https://github.com/dotnet/aspnetcore) from 6.0.4 to 6.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.4...v6.0.5)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Mvc.Testing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 14:01:43 +00:00
Cody Robibero
433853b24c Merge pull request #7762 from jellyfin/dependabot/github_actions/cirrus-actions/rebase-1.7 2022-05-24 08:00:46 -06:00
Cody Robibero
dd8609844f Merge pull request #7788 from jellyfin/dependabot/nuget/SkiaSharp-2.88.0
Bump SkiaSharp from 2.80.3 to 2.88.0
2022-05-24 07:59:26 -06:00
dependabot[bot]
714fd7d0a6 Bump SkiaSharp from 2.80.3 to 2.88.0
Bumps [SkiaSharp](https://github.com/mono/SkiaSharp) from 2.80.3 to 2.88.0.
- [Release notes](https://github.com/mono/SkiaSharp/releases)
- [Commits](https://github.com/mono/SkiaSharp/compare/v2.80.3...v2.88.0)

---
updated-dependencies:
- dependency-name: SkiaSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 12:01:01 +00:00
SASAGAWA, Kiyoshi
a914370d07 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2022-05-23 05:32:22 -04:00
Cody Robibero
b2d56c51ec Merge pull request #7780 from 1337joe/fix-tv-guide-search-2
(cherry picked from commit 492c6bbd7e)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-22 09:11:53 -04:00
Cody Robibero
d078daad39 Merge pull request #7775 from crobibero/openapi-version
(cherry picked from commit 4c0510ee6d)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-22 09:11:53 -04:00
Joshua M. Boniface
f205661b18 Merge pull request #7741 from LewkyB/fix-improperly-labeled-four-digit-episode-numbering
Fix to allow for episode numbering over 999 in certain scenarios

(cherry picked from commit 3ea67374ae)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:49:38 -04:00
Joshua M. Boniface
8e9c02f4c6 Merge pull request #7736 from jellyfin/fix-swscale-pgs
(cherry picked from commit 5da4bcc782)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:49:38 -04:00
Joshua M. Boniface
3515c76ca1 Merge pull request #7724 from jtcasper/perms
(cherry picked from commit 884a59da07)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:49:38 -04:00
Cody Robibero
b611afe34c Merge pull request #7774 from crobibero/api-authinfo
(cherry picked from commit 825e6460c9)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:00:22 -04:00
Joshua M. Boniface
bc1a78575a Merge pull request #7766 from crobibero/dotnet-6.0.5
(cherry picked from commit 71bf567045)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-05-20 23:00:15 -04:00
Joshua M. Boniface
1b020b8abb Merge pull request #7749 from cvium/disable_auto_add_collection
(cherry picked from commit 8119e4a573)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:32:47 -04:00
Cody Robibero
cd5610ecc3 Merge pull request #7723 from crobibero/tmdb-lib
(cherry picked from commit 39196bb5e2)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:32:42 -04:00
Bond-009
b1b83d8111 Merge pull request #7718 from jellyfin/dovi-hevc-remux
(cherry picked from commit f7ef7d9eda)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Cody Robibero
1922ee153e Merge pull request #7716 from Shadowghost/opus-fix
Respect limited opus sampling rates when building trancoding command

(cherry picked from commit 5a9afb0874)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Joshua M. Boniface
47d150565d Merge pull request #7712 from jellyfin/fix-hevc-disable-option
(cherry picked from commit 5a9e5e0d5d)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Joshua M. Boniface
2d8f7b46f1 Merge pull request #7699 from Shadowghost/streambuilder-fix
(cherry picked from commit b46d61dfdf)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Cody Robibero
abd3f411bd Merge pull request #7693 from crobibero/auth-migrate
(cherry picked from commit 3229ba4918)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:57 -04:00
Bond-009
2b1a915ead Merge pull request #7604 from Jellifi007/fixes-diactritics
Co-authored-by: Cody Robibero <cody@robibe.ro>
(cherry picked from commit 8d1d973438)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:56 -04:00
Cody Robibero
e263e9c2b1 Merge pull request #7544 from jaantaponen/long-filename-fix
(cherry picked from commit 8a1eca0913)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:56 -04:00
Cody Robibero
efcdab116f Merge pull request #7529 from Shadowghost/strm-ffprobe-external-fix
(cherry picked from commit 60affd0965)
Signed-off-by: crobibero <cody@robibe.ro>
2022-05-20 18:30:56 -04:00
Nicolas Peugnet
5e593cf29c Fix Matrix badge link to space instead of community (#7744) 2022-05-20 16:46:13 +02:00
Sherlock
216be48802 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2022-05-18 15:13:56 -04:00
Joe Rogers
644e774040 Fix default audio selection ignoring type 2022-05-17 21:03:51 +02:00
José Albano
3d38b92b6e Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2022-05-17 01:13:55 -04:00
José Albano
eeb5ddd04a Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2022-05-17 01:13:55 -04:00
dependabot[bot]
159a5dae4e Bump cirrus-actions/rebase from 1.5 to 1.7
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.5 to 1.7.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.5...1.7)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 12:06:15 +00:00
marcantoinem
9de99eafc9 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2022-05-15 08:11:32 -04:00
Òscar Casajuana
07fc99d6fa Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2022-05-14 13:13:55 -04:00
Weevild
8f268bbeb7 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2022-05-13 10:13:54 -04:00
Niket Chaudhari
97246b579b Translated using Weblate (Marathi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/mr/
2022-05-09 20:14:52 -04:00
dependabot[bot]
d90983c311 Bump PlaylistsNET from 1.1.3 to 1.2.1 (#7728)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 15:24:39 +02:00
dependabot[bot]
812841d01e Bump StyleCop.Analyzers from 1.2.0-beta.406 to 1.2.0-beta.435 (#7726)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 15:24:09 +02:00
dependabot[bot]
37b87bc231 Bump xunit.runner.visualstudio from 2.4.3 to 2.4.5 (#7727)
Bumps [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) from 2.4.3 to 2.4.5.
- [Release notes](https://github.com/xunit/visualstudio.xunit/releases)
- [Commits](https://github.com/xunit/visualstudio.xunit/commits)

---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 15:23:45 +02:00
Weevild
8c3ef5b5ce Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2022-05-07 12:13:52 -04:00
WWWesten
a6edeaa6b3 Translated using Weblate (Uzbek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uz/
2022-05-06 07:13:52 -04:00
lee89tw14
7508ac4b8e Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2022-05-06 07:13:52 -04:00
WWWesten
26b7ed06aa Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2022-05-06 07:13:52 -04:00
Julien Veyssier
933481c839 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-05-06 07:13:52 -04:00
Weevild
a1894c2fdf Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2022-05-04 01:03:51 -04:00
WWWesten
a9e2dab5c3 Added translation using Weblate (Uzbek) 2022-05-04 01:03:51 -04:00
Cody Robibero
5085ae4164 Merge pull request #7698 from jellyfin/dependabot/github_actions/github/codeql-action-2 2022-05-02 07:40:31 -06:00
dependabot[bot]
cbf5a33666 Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 12:06:55 +00:00
Alexander Brissman
0457616055 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2022-04-30 14:13:50 -04:00
Joe Rogers
e89d1a3be5 Add tests for preferred audio language selection 2022-04-30 15:36:09 +02:00
Marthinus Bosman
537fbec458 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2022-04-28 13:13:50 -04:00
Cody Robibero
13df026f6b Merge pull request #7654 from Shadowghost/nfo-provider-fix
Prefer MetadataProvider enum as provider id key over arbitrary strings

(cherry picked from commit a2abae3014)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Joshua M. Boniface
d16e36d5a3 Merge pull request #7648 from jellyfin/libssl3-jammy
Add libssl3 as an alternative dependency for Ubuntu 22.04 LTS

(cherry picked from commit e87240b374)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero
76cfb8c903 Merge pull request #7643 from jellyfin/h264-level
(cherry picked from commit 12f9132975)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero
e5e7c10b81 Merge pull request #7638 from 1337joe/fix-quick-connect-tests
(cherry picked from commit 7c91543694)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero
8568913df0 Merge pull request #7634 from neilsb/patch-1
Correct LocalTrailerCount in API

(cherry picked from commit fcb65ac38d)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero
2e3c5ed346 Merge pull request #7625 from crobibero/xml-cache-delete
(cherry picked from commit ec6f7bdcff)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
Cody Robibero
1ed57f48a5 Merge pull request #7624 from nielsvanvelzen/quickconnect-enable-d
(cherry picked from commit 1d5961126e)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-28 09:26:45 -04:00
dependabot[bot]
28921f09e4 Bump Swashbuckle.AspNetCore.ReDoc from 6.3.0 to 6.3.1 (#7659)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 12:06:20 +02:00
James Kerber
fa255cc1e6 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2022-04-25 20:13:48 -04:00
Irving Reyes
5176f3ee89 Translated using Weblate (Spanish (Dominican Republic))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_DO/
2022-04-24 05:13:48 -04:00
Oskari Lavinto
81fcc33fca Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2022-04-24 05:13:47 -04:00
hoanghuy309
3fc8652c26 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2022-04-21 01:13:46 -04:00
Pedro
df618439a0 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2022-04-18 10:33:36 -04:00
Cody Robibero
900b630f5b Merge pull request #7605 from crobibero/playback-start-stop
Add missing properties to PlaybackStart, PlaybackStop

(cherry picked from commit 9beb3aff4e)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:51 -04:00
Cody Robibero
8203e933d5 Merge pull request #7592 from 1337joe/live-tv-fixes
(cherry picked from commit cd93f49fa8)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:51 -04:00
Cody Robibero
d6197139af Merge pull request #7591 from 1337joe/update-xmltv
(cherry picked from commit 93009682b3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:51 -04:00
Joshua M. Boniface
96d2d2428a Merge pull request #7590 from crobibero/dotnet-6.0.4
(cherry picked from commit 5778541d2f)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:47 -04:00
Cody Robibero
fe3dbabbff Merge pull request #7580 from jellyfin/external-audio-map
(cherry picked from commit c5212a20a3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero
09ea59e1d5 Merge pull request #7578 from Shadowghost/extension-parser-fix
Remove mp2 from video file extensions

(cherry picked from commit cba6a4e3f3)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Joshua M. Boniface
a277318e80 Merge pull request #7569 from crobibero/repo-auth
(cherry picked from commit a7abdca47a)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero
435fc7ade9 Merge pull request #7567 from cvium/fix_xmltv_caching
(cherry picked from commit 385a0b9437)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero
7424f0ca8c Merge pull request #7561 from DMouse10462/named-config-api-fix
Fix NamedConfiguration API Generation

(cherry picked from commit d7c548f3db)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero
834fe85185 Merge pull request #7543 from daullmer/nfo-datefix
(cherry picked from commit a280ff603f)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:11 -04:00
Cody Robibero
688553b9a8 Merge pull request #7537 from dmitrylyzo/fix-streambuilder
(cherry picked from commit 5833c70725)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:10 -04:00
Cody Robibero
97bf6c7364 Merge pull request #7521 from 1337joe/image-mime-fallback
Add fallback for image downloads with bad reported MediaType

(cherry picked from commit bf1ccf7493)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-04-17 15:45:10 -04:00
zero0200
02e06acb71 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2022-04-17 10:13:45 -04:00
Josip Kotarac
49d5fdb33f Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2022-04-15 16:13:44 -04:00
Khaled Ebrahim
2db5d0ed78 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2022-04-15 16:13:44 -04:00
Николай Иванов
e4f9ceba8b Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2022-04-12 18:13:44 -04:00
Cody Robibero
21234ff08d Merge pull request #7584 from jellyfin/dependabot/github_actions/actions/upload-artifact-3 2022-04-12 13:40:56 -06:00
Cody Robibero
99e5775339 Merge pull request #7585 from jellyfin/dependabot/github_actions/actions/download-artifact-3 2022-04-12 13:40:45 -06:00
Cody Robibero
c7fd7a29f8 Merge pull request #7575 from Bond-009/md5 2022-04-12 13:40:15 -06:00
dependabot[bot]
63d58c4d61 Bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:11:05 +00:00
dependabot[bot]
5049a482d0 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:11:01 +00:00
Bond_009
5012c09368 Optimize GetMD5 function
|                       Method |     Mean |   Error |  StdDev |  Gen 0 | Allocated |
|----------------------------- |---------:|--------:|--------:|-------:|----------:|
|                          Old | 795.1 ns | 5.90 ns | 4.61 ns | 0.0029 |     312 B |
| HashDataInsteadOfComputeHash | 396.1 ns | 1.36 ns | 1.13 ns | 0.0014 |     152 B |
|      StackallocedDestination | 395.8 ns | 1.80 ns | 1.60 ns | 0.0014 |     152 B |
|                   RentBuffer | 498.8 ns | 3.35 ns | 2.97 ns |      - |      40 B |

Tested multiple possible speedups, in the end the simplest of them all won
2022-04-09 20:17:07 +02:00
EstebanRestoy
e4af11d53a Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2022-04-08 10:13:42 -04:00
Cody Robibero
a2f1ec23ce Merge pull request #7557 from jellyfin/pgs-qsv-iris655
(cherry picked from commit 620625c4c1)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
0d0a5c2edf Merge pull request #7551 from cvium/fix_trailertype
fix: remove (incorrect) negation of bool expression
(cherry picked from commit fec2cf5060)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
94a69c8a8b Merge pull request #7549 from cvium/fix_isinlocalnetwork
(cherry picked from commit bdb85aeecf)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
04cac23a11 Merge pull request #7548 from 1337joe/comparer-null-fix
(cherry picked from commit 72aca15191)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
1425ef3cb4 Merge pull request #7542 from 1337joe/make-recording-stop
Make recording stop at scheduled stop time

(cherry picked from commit 132c85e554)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
9e380768dd Merge pull request #7527 from Shadowghost/mediaresolver-fix
(cherry picked from commit aa1b1c6bbb)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
e086eebb71 Merge pull request #7525 from 1337joe/fix-duplicate-library-media-paths
(cherry picked from commit bebe1808ce)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
1960b5bdce Merge pull request #7523 from crobibero/null-stream
Allow media without streams to playback 

(cherry picked from commit 577325b788)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:58 -04:00
Cody Robibero
820c75c833 Merge pull request #7519 from nielsvanvelzen/resolverpriority-plugin2
(cherry picked from commit 1d585146d6)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:57 -04:00
Cody Robibero
cec9befbed Merge pull request #7507 from crobibero/studio-image-plugin
Fix StudioImageProvider

(cherry picked from commit 5de2db9f52)
Signed-off-by: crobibero <cody@robibe.ro>
2022-04-07 12:54:57 -04:00
newton181
d5cc2ad6a8 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2022-04-06 18:13:42 -04:00
newton181
aa3b547a78 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_MX/
2022-04-06 18:13:42 -04:00
dependabot[bot]
dc535c4481 Bump sharpcompress from 0.30.1 to 0.31.0 (#7553)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-04 17:11:48 +02:00
dependabot[bot]
d7c9cf3fea Bump MimeTypes from 2.3.0 to 2.4.0 (#7552)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-04 16:38:25 +02:00
dependabot[bot]
c78248ef80 Bump Mono.Nat from 3.0.2 to 3.0.3 (#7554)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-04 16:36:53 +02:00
Joe Rogers
6bf71c0fd3 Combine verify calls
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2022-04-03 23:36:33 +02:00
Joe Rogers
b03f56c3d6 Remove warnings 2022-04-03 23:36:32 +02:00
Joe Rogers
6e4710d048 Fix review comment
Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-04-03 23:36:32 +02:00
Joe Rogers
ac675318f8 Simplify RefreshSingleItem 2022-04-03 23:36:32 +02:00
Joe Rogers
ee5bd0daa6 Implement tests on ProviderManager.RefreshSingleItem 2022-04-03 23:36:32 +02:00
Joe Rogers
bdce435b09 Reorder and flatten provider filtering 2022-04-03 23:36:30 +02:00
Joe Rogers
6ab64f4930 Switch to nameof to simplify theory signatures 2022-04-03 23:34:50 +02:00
Joe Rogers
a7c009e2eb Pass TypeOptions instead of full LibraryOptions 2022-04-03 23:34:49 +02:00
Joe Rogers
d5e2c2fb5e Implement CanRefreshMetadata tests for GetMetadataProviders
Cleanup tests, extract common blocks
2022-04-03 23:34:49 +02:00
Joe Rogers
e7df72de49 Improve metadata provider sorting
Extract configured order up front instead of for each provider
Non-IHasOrder providers default to middle, not beginning
Merge image and metadata sort helper methods
2022-04-03 23:34:49 +02:00
Joe Rogers
91e706d387 Implement sort test for ProviderManager.GetMetadataProviders 2022-04-03 23:34:49 +02:00
Joe Rogers
11c7c24f0e Clarify naming, minor method ordering improvement 2022-04-03 23:34:49 +02:00
Joe Rogers
56900d0fc3 Implement CanRefresh tests for ProviderManager.GetImageProviders 2022-04-03 23:34:48 +02:00
Joe Rogers
6221991c63 Add nullable annotations 2022-04-03 23:34:48 +02:00
Joe Rogers
8515e8fbd1 Improve image provider sorting
Remove irrelevant check for ILocalImageProvider
Providers that are not IHasOrder default to middle, not beginning
2022-04-03 23:34:48 +02:00
Joe Rogers
785cc1bb6e Implement sort test for ProviderManager.GetImageProviders 2022-04-03 23:34:48 +02:00
Joe Rogers
4ace7f5c53 Fix unused var, log typo 2022-04-03 23:34:47 +02:00
Joe Rogers
2e2a594e19 Move Get*Providers definitions to interface 2022-04-03 23:34:47 +02:00
Punisher01
657eee04b1 Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2022-04-02 15:13:40 -04:00
Beersteddy
36cebc7ea9 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2022-04-02 15:13:40 -04:00
erikasne6152
2eeded560d Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2022-04-02 15:13:40 -04:00
Simas Kurmis
f65e9d746e Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2022-04-02 15:13:40 -04:00
Arpan Kumar Pariyar
fdec2eded5 Translated using Weblate (Nepali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ne/
2022-03-31 08:31:20 -04:00
Jacob Søndergaard
ff0d2d397f Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2022-03-31 08:31:20 -04:00
Cody Robibero
c2a8294ac9 Merge pull request #7510 from jellyfin/dependabot/github_actions/peter-evans/create-or-update-comment-2
Bump peter-evans/create-or-update-comment from 1.4.5 to 2
2022-03-30 19:09:07 -06:00
Cody Robibero
b010d99139 Merge pull request #7509 from jellyfin/dependabot/github_actions/peter-evans/find-comment-2
Bump peter-evans/find-comment from 1 to 2
2022-03-30 19:08:51 -06:00
Arpan Kumar Pariyar
1fdef1248a Translated using Weblate (Nepali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ne/
2022-03-30 06:47:59 -04:00
Franco Castillo
dfd6a575f1 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2022-03-30 06:47:59 -04:00
sriyadi
88e73244dd Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2022-03-29 20:31:29 -04:00
ariqfadlan
db51b51248 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2022-03-29 14:04:26 -04:00
Larvitar
02cc0c10ba Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2022-03-29 14:04:26 -04:00
sriyadi
d20777bf59 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2022-03-29 14:04:26 -04:00
Cody Robibero
cc608c17bd Merge pull request #7512 from crobibero/update-plugin
(cherry picked from commit ca67a48140)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-03-29 02:24:51 -04:00
Claus Vium
a6273253c3 Merge pull request #7506 from crobibero/set-permissions
Safely get/set User permission/preference

(cherry picked from commit d2ce315c1d)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-03-29 02:24:51 -04:00
newton181
e778877f55 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2022-03-28 22:19:33 -04:00
Joe Rogers
8e58f713a9 Add 10.8.0 to issue template (#7513) 2022-03-28 20:28:33 +02:00
4d1m
9d2726cccd Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2022-03-28 12:07:18 -04:00
4d1m
02604ecb1d Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2022-03-28 11:16:25 -04:00
dependabot[bot]
11d882c0c2 Bump peter-evans/create-or-update-comment from 1.4.5 to 2
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 1.4.5 to 2.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v1.4.5...v2)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 12:07:08 +00:00
dependabot[bot]
c3aacf1c4d Bump peter-evans/find-comment from 1 to 2
Bumps [peter-evans/find-comment](https://github.com/peter-evans/find-comment) from 1 to 2.
- [Release notes](https://github.com/peter-evans/find-comment/releases)
- [Commits](https://github.com/peter-evans/find-comment/compare/v1...v2)

---
updated-dependencies:
- dependency-name: peter-evans/find-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 12:07:06 +00:00
Floris
772c65bcb0 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2022-03-27 17:12:00 -04:00
Robin
93b29ce1a3 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2022-03-27 17:12:00 -04:00
Bond_009
09e897d372 Clean up DLNA profile code 2022-03-19 00:45:43 +01:00
Bond_009
cafeedcadf Rework SsdpHttpClient 2022-03-08 23:00:43 +01:00
h1dden-da3m0n
25fc8a1c93 ci: unify name to web equivalent workflow
see jellyfin/jellyfin-web#2897 for reference
2021-09-12 21:52:14 +02:00
h1dden-da3m0n
9923ea6151 change to address review feedback 2021-06-27 13:20:54 +02:00
h1dden-da3m0n
24d99bdc3e add auto-bump_version workflow 2021-06-27 00:21:22 +02:00
1710 changed files with 71253 additions and 87981 deletions

View File

@@ -1,93 +0,0 @@
parameters:
- name: Packages
type: object
default: {}
- name: LinuxImage
type: string
default: "ubuntu-latest"
- name: DotNetSdkVersion
type: string
default: 6.0.x
jobs:
- job: CompatibilityCheck
displayName: Compatibility Check
dependsOn: Build
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber'])
pool:
vmImage: "${{ parameters.LinuxImage }}"
strategy:
matrix:
${{ each Package in parameters.Packages }}:
${{ Package.key }}:
NugetPackageName: ${{ Package.value.NugetPackageName }}
AssemblyFileName: ${{ Package.value.AssemblyFileName }}
maxParallel: 2
steps:
- checkout: none
- task: UseDotNet@2
displayName: "Update DotNet"
inputs:
packageType: sdk
version: ${{ parameters.DotNetSdkVersion }}
- task: DotNetCoreCLI@2
displayName: 'Install ABI CompatibilityChecker Tool'
inputs:
command: custom
custom: tool
arguments: 'update compatibilitychecker -g'
- task: DownloadPipelineArtifact@2
displayName: 'Download New Assembly Build Artifact'
inputs:
source: 'current'
artifact: "$(NugetPackageName)"
path: "$(System.ArtifactsDirectory)/new-artifacts"
runVersion: "latest"
- task: CopyFiles@2
displayName: 'Copy New Assembly Build Artifact'
inputs:
sourceFolder: $(System.ArtifactsDirectory)/new-artifacts
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/new-release
cleanTargetFolder: true
overWrite: true
flattenFolders: true
- task: DownloadPipelineArtifact@2
displayName: 'Download Reference Assembly Build Artifact'
enabled: false
inputs:
source: "specific"
artifact: "$(NugetPackageName)"
path: "$(System.ArtifactsDirectory)/current-artifacts"
project: "$(System.TeamProjectId)"
pipeline: "$(System.DefinitionId)"
runVersion: "latestFromBranch"
runBranch: "refs/heads/$(System.PullRequest.TargetBranch)"
- task: CopyFiles@2
displayName: 'Copy Reference Assembly Build Artifact'
enabled: false
inputs:
sourceFolder: $(System.ArtifactsDirectory)/current-artifacts
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/current-release
cleanTargetFolder: true
overWrite: true
flattenFolders: true
- task: DotNetCoreCLI@2
displayName: 'Execute ABI Compatibility Check Tool'
enabled: false
inputs:
command: custom
custom: compat
arguments: 'current-release/$(AssemblyFileName) new-release/$(AssemblyFileName) --azure-pipelines --warnings-only'
workingDirectory: $(System.ArtifactsDirectory)

View File

@@ -1,100 +0,0 @@
parameters:
LinuxImage: 'ubuntu-latest'
RestoreBuildProjects: 'Jellyfin.Server/Jellyfin.Server.csproj'
DotNetSdkVersion: 6.0.x
jobs:
- job: Build
displayName: Build
strategy:
matrix:
Release:
BuildConfiguration: Release
Debug:
BuildConfiguration: Debug
pool:
vmImage: '${{ parameters.LinuxImage }}'
steps:
- checkout: self
clean: true
submodules: true
persistCredentials: true
- task: DownloadPipelineArtifact@2
displayName: 'Download Web Branch'
condition: in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion')
inputs:
path: '$(Agent.TempDirectory)'
artifact: 'jellyfin-web-production'
source: 'specific'
project: 'jellyfin'
pipeline: 'Jellyfin Web'
runBranch: variables['Build.SourceBranch']
- task: DownloadPipelineArtifact@2
displayName: 'Download Web Target'
condition: eq(variables['Build.Reason'], 'PullRequest')
inputs:
path: '$(Agent.TempDirectory)'
artifact: 'jellyfin-web-production'
source: 'specific'
project: 'jellyfin'
pipeline: 'Jellyfin Web'
runBranch: variables['System.PullRequest.TargetBranch']
- task: ExtractFiles@1
displayName: 'Extract Web Client'
inputs:
archiveFilePatterns: '$(Agent.TempDirectory)/*.zip'
destinationFolder: '$(Build.SourcesDirectory)/MediaBrowser.WebDashboard'
cleanDestinationFolder: false
- task: UseDotNet@2
displayName: 'Update DotNet'
inputs:
packageType: sdk
version: ${{ parameters.DotNetSdkVersion }}
- task: DotNetCoreCLI@2
displayName: 'Publish Server'
inputs:
command: publish
publishWebProjects: false
projects: '${{ parameters.RestoreBuildProjects }}'
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact Naming'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Emby.Naming.dll'
artifactName: 'Jellyfin.Naming'
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact Controller'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Controller.dll'
artifactName: 'Jellyfin.Controller'
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact Model'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Model.dll'
artifactName: 'Jellyfin.Model'
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact Common'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Common.dll'
artifactName: 'Jellyfin.Common'
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact Extensions'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Jellyfin.Extensions.dll'
artifactName: 'Jellyfin.Extensions'

View File

@@ -1,269 +0,0 @@
jobs:
- job: BuildPackage
displayName: 'Build Packages'
strategy:
matrix:
CentOS.amd64:
BuildConfiguration: centos.amd64
Fedora.amd64:
BuildConfiguration: fedora.amd64
Debian.amd64:
BuildConfiguration: debian.amd64
Debian.arm64:
BuildConfiguration: debian.arm64
Debian.armhf:
BuildConfiguration: debian.armhf
Ubuntu.amd64:
BuildConfiguration: ubuntu.amd64
Ubuntu.arm64:
BuildConfiguration: ubuntu.arm64
Ubuntu.armhf:
BuildConfiguration: ubuntu.armhf
Linux.amd64:
BuildConfiguration: linux.amd64
Linux.amd64-musl:
BuildConfiguration: linux.amd64-musl
Linux.arm64:
BuildConfiguration: linux.arm64
Linux.armhf:
BuildConfiguration: linux.armhf
Windows.amd64:
BuildConfiguration: windows.amd64
MacOS:
BuildConfiguration: macos
Portable:
BuildConfiguration: portable
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
- script: 'docker build -f deployment/Dockerfile.$(BuildConfiguration) -t jellyfin-server-$(BuildConfiguration) deployment'
displayName: 'Build Dockerfile'
- script: 'docker image ls -a && docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e IS_UNSTABLE="yes" -e BUILD_ID=$(Build.BuildNumber) jellyfin-server-$(BuildConfiguration)'
displayName: 'Run Dockerfile (unstable)'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
- script: 'docker image ls -a && docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e IS_UNSTABLE="no" -e BUILD_ID=$(Build.BuildNumber) jellyfin-server-$(BuildConfiguration)'
displayName: 'Run Dockerfile (stable)'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
- task: PublishPipelineArtifact@1
displayName: 'Publish Release'
inputs:
targetPath: '$(Build.SourcesDirectory)/deployment/dist'
artifactName: 'jellyfin-server-$(BuildConfiguration)'
- task: SSH@0
displayName: 'Create target directory on repository server'
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: 'mkdir -p /srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
- task: CopyFilesOverSSH@0
displayName: 'Upload artifacts to repository server'
inputs:
sshEndpoint: repository
sourceFolder: '$(Build.SourcesDirectory)/deployment/dist'
contents: '**'
targetFolder: '/srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
- job: OpenAPISpec
dependsOn: Test
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'),startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))
displayName: 'Push OpenAPI Spec to repository'
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
- task: DownloadPipelineArtifact@2
displayName: 'Download OpenAPI Spec'
inputs:
source: 'current'
artifact: "OpenAPI Spec"
path: "$(System.ArtifactsDirectory)/openapispec"
runVersion: "latest"
- task: SSH@0
displayName: 'Create target directory on repository server'
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: 'mkdir -p /srv/repository/incoming/azure/$(Build.BuildNumber)'
- task: CopyFilesOverSSH@0
displayName: 'Upload artifacts to repository server'
inputs:
sshEndpoint: repository
sourceFolder: '$(System.ArtifactsDirectory)/openapispec'
contents: 'openapi.json'
targetFolder: '/srv/repository/incoming/azure/$(Build.BuildNumber)'
- job: BuildDocker
displayName: 'Build Docker'
strategy:
matrix:
amd64:
BuildConfiguration: amd64
arm64:
BuildConfiguration: arm64
armhf:
BuildConfiguration: armhf
pool:
vmImage: 'ubuntu-latest'
variables:
- name: JellyfinVersion
value: 0.0.0
steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
- task: Docker@2
displayName: 'Push Unstable Image'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
repository: 'jellyfin/jellyfin-server'
command: buildAndPush
buildContext: '.'
Dockerfile: 'deployment/Dockerfile.docker.$(BuildConfiguration)'
containerRegistry: Docker Hub
tags: |
unstable-$(Build.BuildNumber)-$(BuildConfiguration)
unstable-$(BuildConfiguration)
- task: Docker@2
displayName: 'Push Stable Image'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
repository: 'jellyfin/jellyfin-server'
command: buildAndPush
buildContext: '.'
Dockerfile: 'deployment/Dockerfile.docker.$(BuildConfiguration)'
containerRegistry: Docker Hub
tags: |
stable-$(Build.BuildNumber)-$(BuildConfiguration)
$(JellyfinVersion)-$(BuildConfiguration)
- job: CollectArtifacts
timeoutInMinutes: 20
displayName: 'Collect Artifacts'
continueOnError: true
dependsOn:
- BuildPackage
- BuildDocker
pool:
vmImage: 'ubuntu-latest'
steps:
- task: SSH@0
displayName: 'Update Unstable Repository'
continueOnError: true
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
sshEndpoint: repository
runOptions: 'commands'
commands: nohup sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber) unstable &
- task: SSH@0
displayName: 'Update Stable Repository'
continueOnError: true
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
sshEndpoint: repository
runOptions: 'commands'
commands: nohup sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber) $(Build.SourceBranch) &
- job: PublishNuget
displayName: 'Publish NuGet packages'
pool:
vmImage: 'ubuntu-latest'
variables:
- name: JellyfinVersion
value: $[replace(variables['Build.SourceBranch'],'refs/tags/v','')]
steps:
- task: UseDotNet@2
displayName: 'Use .NET 6.0 sdk'
inputs:
packageType: 'sdk'
version: '6.0.x'
- task: DotNetCoreCLI@2
displayName: 'Build Stable Nuget packages'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
command: 'custom'
projects: |
Jellyfin.Data/Jellyfin.Data.csproj
MediaBrowser.Common/MediaBrowser.Common.csproj
MediaBrowser.Controller/MediaBrowser.Controller.csproj
MediaBrowser.Model/MediaBrowser.Model.csproj
Emby.Naming/Emby.Naming.csproj
src/Jellyfin.Extensions/Jellyfin.Extensions.csproj
custom: 'pack'
arguments: -o $(Build.ArtifactStagingDirectory) -p:Version=$(JellyfinVersion)
- task: DotNetCoreCLI@2
displayName: 'Build Unstable Nuget packages'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
command: 'custom'
projects: |
Jellyfin.Data/Jellyfin.Data.csproj
MediaBrowser.Common/MediaBrowser.Common.csproj
MediaBrowser.Controller/MediaBrowser.Controller.csproj
MediaBrowser.Model/MediaBrowser.Model.csproj
Emby.Naming/Emby.Naming.csproj
src/Jellyfin.Extensions/Jellyfin.Extensions.csproj
custom: 'pack'
arguments: '--version-suffix $(Build.BuildNumber) -o $(Build.ArtifactStagingDirectory) -p:Stability=Unstable'
- task: PublishBuildArtifacts@1
displayName: 'Publish Nuget packages'
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: Jellyfin Nuget Packages
- task: NuGetCommand@2
displayName: 'Push Nuget packages to stable feed'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
nuGetFeedType: 'external'
publishFeedCredentials: 'NugetOrg'
allowPackageConflicts: true # This ignores an error if the version already exists
- task: NuGetAuthenticate@0
displayName: 'Authenticate to unstable Nuget feed'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
- task: NuGetCommand@2
displayName: 'Push Nuget packages to unstable feed'
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # No symbols since Azure Artifact does not support it
nuGetFeedType: 'internal'
publishVstsFeed: '7cce6c46-d610-45e3-9fb7-65a6bfd1b671/a5746b79-f369-42db-93ff-59cd066f9327'
allowPackageConflicts: true # This ignores an error if the version already exists

View File

@@ -1,98 +0,0 @@
parameters:
- name: ImageNames
type: object
default:
Linux: "ubuntu-latest"
Windows: "windows-latest"
macOS: "macos-latest"
- name: TestProjects
type: string
default: "tests/**/*Tests.csproj"
- name: DotNetSdkVersion
type: string
default: 6.0.x
jobs:
- job: Test
displayName: Test
strategy:
matrix:
${{ each imageName in parameters.ImageNames }}:
${{ imageName.key }}:
ImageName: ${{ imageName.value }}
pool:
vmImage: "$(ImageName)"
steps:
- checkout: self
clean: true
submodules: true
persistCredentials: false
# This is required for the SonarCloud analyzer
- task: UseDotNet@2
displayName: "Install .NET SDK 5.x"
condition: eq(variables['ImageName'], 'ubuntu-latest')
inputs:
packageType: sdk
version: '5.x'
- task: UseDotNet@2
displayName: "Update DotNet"
inputs:
packageType: sdk
version: ${{ parameters.DotNetSdkVersion }}
- task: SonarCloudPrepare@1
displayName: 'Prepare analysis on SonarCloud'
condition: eq(variables['ImageName'], 'ubuntu-latest')
enabled: false
inputs:
SonarCloud: 'Sonarcloud for Jellyfin'
organization: 'jellyfin'
projectKey: 'jellyfin_jellyfin'
- task: DotNetCoreCLI@2
displayName: 'Run CLI Tests'
inputs:
command: "test"
projects: ${{ parameters.TestProjects }}
arguments: '--configuration Release --collect:"XPlat Code Coverage" --settings tests/coverletArgs.runsettings --verbosity minimal'
publishTestResults: true
testRunTitle: $(Agent.JobName)
workingDirectory: "$(Build.SourcesDirectory)"
- task: SonarCloudAnalyze@1
displayName: 'Run Code Analysis'
condition: eq(variables['ImageName'], 'ubuntu-latest')
enabled: false
- task: SonarCloudPublish@1
displayName: 'Publish Quality Gate Result'
condition: eq(variables['ImageName'], 'ubuntu-latest')
enabled: false
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) # !! THIS is for V1 only V2 will/should support merging
displayName: 'Run ReportGenerator'
inputs:
reports: "$(Agent.TempDirectory)/**/coverage.cobertura.xml"
targetdir: "$(Agent.TempDirectory)/merged/"
reporttypes: "Cobertura"
## V2 is already in the repository but it does not work "wrong number of segments" YAML error.
- task: PublishCodeCoverageResults@1
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) # !! THIS is for V1 only V2 will/should support merging
displayName: 'Publish Code Coverage'
inputs:
codeCoverageTool: "cobertura"
#summaryFileLocation: '$(Agent.TempDirectory)/**/coverage.cobertura.xml' # !!THIS IS FOR V2
summaryFileLocation: "$(Agent.TempDirectory)/merged/**.xml"
pathToSources: $(Build.SourcesDirectory)
failIfCoverageEmpty: true
- task: PublishPipelineArtifact@1
displayName: 'Publish OpenAPI Artifact'
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
inputs:
targetPath: "tests/Jellyfin.Server.Integration.Tests/bin/Release/net6.0/openapi.json"
artifactName: 'OpenAPI Spec'

View File

@@ -1,64 +0,0 @@
name: $(Date:yyyyMMdd)$(Rev:.r)
variables:
- name: TestProjects
value: 'tests/**/*Tests.csproj'
- name: RestoreBuildProjects
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
pr:
autoCancel: true
trigger:
batch: true
branches:
include:
- '*'
tags:
include:
- 'v*'
jobs:
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) }}:
- template: azure-pipelines-main.yml
parameters:
LinuxImage: 'ubuntu-latest'
RestoreBuildProjects: $(RestoreBuildProjects)
- ${{ if not(or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- template: azure-pipelines-test.yml
parameters:
ImageNames:
Linux: 'ubuntu-latest'
Windows: 'windows-latest'
macOS: 'macos-latest'
- ${{ if or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master')) }}:
- template: azure-pipelines-test.yml
parameters:
ImageNames:
Linux: 'ubuntu-latest'
- ${{ if not(or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- template: azure-pipelines-abi.yml
parameters:
Packages:
Naming:
NugetPackageName: Jellyfin.Naming
AssemblyFileName: Emby.Naming.dll
Controller:
NugetPackageName: Jellyfin.Controller
AssemblyFileName: MediaBrowser.Controller.dll
Model:
NugetPackageName: Jellyfin.Model
AssemblyFileName: MediaBrowser.Model.dll
Common:
NugetPackageName: Jellyfin.Common
AssemblyFileName: MediaBrowser.Common.dll
Extensions:
NugetPackageName: Jellyfin.Extensions
AssemblyFileName: Jellyfin.Extensions.dll
LinuxImage: 'ubuntu-latest'
- ${{ if or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master')) }}:
- template: azure-pipelines-package.yml

12
.config/dotnet-tools.json Normal file
View File

@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "8.0.4",
"commands": [
"dotnet-ef"
]
}
}
}

1
.copr
View File

@@ -1 +0,0 @@
fedora

View File

@@ -0,0 +1,28 @@
{
"name": "Development Jellyfin Server - FFmpeg",
"image":"mcr.microsoft.com/devcontainers/dotnet:8.0-jammy",
// restores nuget packages, installs the dotnet workloads and installs the dev https certificate
"postStartCommand": "dotnet restore; dotnet workload update; dotnet dev-certs https --trust; sudo bash \"./.devcontainer/Dev - Server Ffmpeg/install-ffmpeg.sh\"",
// reads the extensions list and installs them
"postAttachCommand": "cat .vscode/extensions.json | jq -r .recommendations[] | xargs -n 1 code --install-extension",
"features": {
"ghcr.io/devcontainers/features/dotnet:2": {
"version": "none",
"dotnetRuntimeVersions": "8.0",
"aspNetCoreRuntimeVersions": "8.0"
},
"ghcr.io/devcontainers-contrib/features/apt-packages:1": {
"preserve_apt_list": false,
"packages": ["libfontconfig1"]
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"dockerDashComposeVersion": "v2"
},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}
},
"hostRequirements": {
"memory": "8gb",
"cpus": 4
}
}

View File

@@ -0,0 +1,32 @@
#!/bin/bash
## configure the following for a manuall install of a specific version from the repo
# wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/6.0.1-1/jellyfin-ffmpeg6_6.0.1-1-jammy_amd64.deb -O ffmpeg.deb
# sudo apt update
# sudo apt install -f ./ffmpeg.deb -y
# rm ffmpeg.deb
## Add the jellyfin repo
sudo apt install curl gnupg -y
sudo apt-get install software-properties-common -y
sudo add-apt-repository universe -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
export VERSION_OS="$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )"
export VERSION_CODENAME="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
export DPKG_ARCHITECTURE="$( dpkg --print-architecture )"
cat <<EOF | sudo tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/${VERSION_OS}
Suites: ${VERSION_CODENAME}
Components: main
Architectures: ${DPKG_ARCHITECTURE}
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF
sudo apt update -y
sudo apt install jellyfin-ffmpeg6 -y

View File

@@ -0,0 +1,28 @@
{
"name": "Development Jellyfin Server",
"image":"mcr.microsoft.com/devcontainers/dotnet:8.0-jammy",
// restores nuget packages, installs the dotnet workloads and installs the dev https certificate
"postStartCommand": "dotnet restore; dotnet workload update; dotnet dev-certs https --trust",
// reads the extensions list and installs them
"postAttachCommand": "cat .vscode/extensions.json | jq -r .recommendations[] | xargs -n 1 code --install-extension",
"features": {
"ghcr.io/devcontainers/features/dotnet:2": {
"version": "none",
"dotnetRuntimeVersions": "8.0",
"aspNetCoreRuntimeVersions": "8.0"
},
"ghcr.io/devcontainers-contrib/features/apt-packages:1": {
"preserve_apt_list": false,
"packages": ["libfontconfig1"]
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"dockerDashComposeVersion": "v2"
},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}
},
"hostRequirements": {
"memory": "8gb",
"cpus": 4
}
}

View File

@@ -6,7 +6,11 @@ body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much detail as necessary, most questions may not be applicable to you. If you need real-time help, join us on [Matrix](https://matrix.to/#/#jellyfin-troubleshooting:matrix.org) or [Discord](https://discord.gg/zHBxVSXdBV).
Thanks for taking the time to report an issue. Before submitting a report, please do the following:
1. Please head to our forum or chat rooms and troubleshoot with volunteers if you haven't already. Links can be found here: https://jellyfin.org/contact/
2. Please search the bug tracker for similar issues. If you do find one, please comment there instead of opening a new bug report.
3. If you decide to open a new report, please provide as much detail as possible.
4. Please **ONLY** report **ONE** issue per report. If you are experiencing multiple issues, please open multiple reports.
- type: textarea
id: what-happened
attributes:
@@ -14,14 +18,18 @@ body:
description: Also tell us, what did you expect to happen?
placeholder: |
The more information that you are able to provide, the better. Did you do anything before this happened? Did you upgrade or change anything? Any screenshots or logs you can provide will be helpful.
This is my issue.
Steps to Reproduce
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
If you are using an old release of Jellyfin, please also explain why.
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: Reproduction Steps
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: dropdown
@@ -30,10 +38,10 @@ body:
label: Jellyfin Version
description: What version of Jellyfin are you running?
options:
- 10.7.7
- 10.7.z
- 10.6.4
- Other
- 10.8.13
- 10.8.12
- 10.8.11 or older (please specify)
- Unstable (master branch)
validations:
required: true
- type: input
@@ -46,13 +54,15 @@ body:
label: Environment
description: |
Examples:
- **OS**: [e.g. Debian, Windows]
- **OS**: [e.g. Debian 11, Windows 10]
- **Linux Kernel**: [e.g. none, 5.15, 6.1, etc.]
- **Virtualization**: [e.g. Docker, KVM, LXC]
- **Clients**: [Browser, Android, Fire Stick, etc.]
- **Browser**: [e.g. Firefox 91, Chrome 93, Safari 13]
- **FFmpeg Version**: [e.g. 4.3.2-Jellyfin]
- **FFmpeg Version**: [e.g. 5.1.2-Jellyfin]
- **Playback**: [Direct Play, Remux, Direct Stream, Transcode]
- **Hardware Acceleration**: [e.g. none, VAAPI, NVENC, etc.]
- **GPU Model**: [e.g. none, UHD630, GTX1050, etc.]
- **Installed Plugins**: [e.g. none, Fanart, Anime, etc.]
- **Reverse Proxy**: [e.g. none, nginx, apache, etc.]
- **Base URL**: [e.g. none, yes: /example]
@@ -60,18 +70,32 @@ body:
- **Storage**: [e.g. local, NFS, cloud]
value: |
- OS:
- Linux Kernel:
- Virtualization:
- Clients:
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- GPU Model:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:
render: markdown
validations:
required: true
- type: markdown
attributes:
value: |
When providing logs, please keep the following things in mind.
1. **DO NOT** use external paste services.
2. Please provide complete logs.
- For server logs, include everything you think is important plus *10 lines before and after*
- For ffmpeg logs, please provide the entire file unmodified.
3. Please do not run logs through any translation program. Especially beware if your browser translates pages by default.
4. Please do not include logs as screenshots, with the only exception being client logs in browsers.
- type: textarea
id: logs
attributes:
@@ -79,12 +103,14 @@ body:
description: Please copy and paste any relevant log output. This can be found in Dashboard > Logs.
placeholder: For playback issues, browser/client and FFmpeg logs may be more useful.
render: shell
validations:
required: true
- type: textarea
id: ffmpeg-logs
attributes:
label: FFmpeg logs
description: Please copy and paste any relevant log output. This can be found in Dashboard > Logs.
placeholder: It's important to include the specific codec details. If no FFmpeg logs appear, the file was Direct Played and did not use FFmpeg.
description: Please copy and paste recent FFmpeg log output. This can be found in Dashboard > Logs > FFmpeg*.log.
placeholder: This field is mandatory for debugging hardware transcoding issues. It's important to include the specific codec details. If no FFmpeg logs appear, the file was Direct Played and did not use FFmpeg.
render: shell
- type: textarea
id: browserlogs

View File

@@ -1,34 +0,0 @@
---
name: Media playback issue
about: Create a media playback issue report
title: ''
labels: mediaplayback
assignees: ''
---
**Media Info of the file**
<!-- Use the Media Info tool (set to text format, download here: https://mediaarea.net/en/MediaInfo) or copy the info from the web ui for the file with the playback issue. -->
**Logs**
<!-- Please paste any log messages from during the playback issue. -->
**FFmpeg Logs**
<!-- Please paste any FFmpeg logs if remuxing or transcoding appears to be part of the issue. -->
**Stats for Nerds Screenshots**
<!-- If available, add screenshots of the stats for nerds screen to help show the issue problem. -->
**Server System (please complete the following information):**
- OS: [e.g. Docker on Linux, Docker on Windows, Debian, Windows]
- Jellyfin Version: [e.g. 10.0.1]
- Hardware settings & device: [e.g. NVENC on GTX1060, VAAPI on Intel i7 8700K]
- Reverse proxy: [e.g. no, nginx, apache, etc.]
- Other hardware notes: [e.g. Media mounted in CIFS/SMB share, Media mounted from Google Drive]
**Client System (please complete the following information):**
- Device: [e.g. Apple iPhone XS, Xbox One S, LG OLED55C8, Samsung Galaxy Note9, Custom HTPC]
- OS: [e.g. iOS, Android, Windows, macOS]
- Client: [e.g. Web/Browser, webOS, Android, Android TV, Electron]
- Browser (if Web client): [e.g. Firefox, Chrome, Safari]
- Client and Browser Version: [e.g. 10.3.4 and 68.0]

View File

@@ -1,15 +0,0 @@
version: 2
updates:
- package-ecosystem: nuget
directory: "/"
schedule:
interval: weekly
time: '12:00'
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: '/'
schedule:
interval: weekly
time: '12:00'
open-pull-requests-limit: 10

6
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"github>jellyfin/.github//renovate-presets/dotnet"
]
}

View File

@@ -20,18 +20,18 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v2
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Setup .NET
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
with:
dotnet-version: '6.0.x'
dotnet-version: '8.0.x'
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
with:
languages: ${{ matrix.language }}
queries: +security-extended
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6

271
.github/workflows/ci-openapi.yml vendored Normal file
View File

@@ -0,0 +1,271 @@
name: OpenAPI
on:
push:
branches:
- master
tags:
- 'v*'
pull_request_target:
permissions: {}
jobs:
openapi-head:
name: OpenAPI - HEAD
runs-on: ubuntu-latest
permissions: read-all
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup .NET
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
with:
dotnet-version: '8.0.x'
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: openapi-head
retention-days: 14
if-no-files-found: error
path: tests/Jellyfin.Server.Integration.Tests/bin/Release/net8.0/openapi.json
openapi-base:
name: OpenAPI - BASE
if: ${{ github.base_ref != '' }}
runs-on: ubuntu-latest
permissions: read-all
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Checkout common ancestor
env:
HEAD_REF: ${{ github.head_ref }}
run: |
git remote add upstream https://github.com/${{ github.event.pull_request.base.repo.full_name }}
git -c protocol.version=2 fetch --prune --progress --no-recurse-submodules upstream +refs/heads/*:refs/remotes/upstream/* +refs/tags/*:refs/tags/*
ANCESTOR_REF=$(git merge-base upstream/${{ github.base_ref }} origin/$HEAD_REF)
git checkout --progress --force $ANCESTOR_REF
- name: Setup .NET
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
with:
dotnet-version: '8.0.x'
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: openapi-base
retention-days: 14
if-no-files-found: error
path: tests/Jellyfin.Server.Integration.Tests/bin/Release/net8.0/openapi.json
openapi-diff:
permissions:
pull-requests: write # to create or update comment (peter-evans/create-or-update-comment)
name: OpenAPI - Difference
if: ${{ github.event_name == 'pull_request_target' }}
runs-on: ubuntu-latest
needs:
- openapi-head
- openapi-base
steps:
- name: Download openapi-head
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: openapi-head
path: openapi-head
- name: Download openapi-base
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: openapi-base
path: openapi-base
- name: Workaround openapi-diff issue
run: |
sed -i 's/"allOf"/"oneOf"/g' openapi-head/openapi.json
sed -i 's/"allOf"/"oneOf"/g' openapi-base/openapi.json
- name: Calculate OpenAPI difference
uses: docker://openapitools/openapi-diff
continue-on-error: true
with:
args: --fail-on-changed --markdown openapi-changes.md openapi-base/openapi.json openapi-head/openapi.json
- id: read-diff
name: Read openapi-diff output
run: |
# Read and fix markdown
body=$(cat openapi-changes.md)
# Write to workflow summary
echo "$body" >> $GITHUB_STEP_SUMMARY
# Set ApiChanged var
if [ "$body" != '' ]; then
echo "ApiChanged=1" >> "$GITHUB_OUTPUT"
else
echo "ApiChanged=0" >> "$GITHUB_OUTPUT"
fi
# Add header/footer for diff comment
echo '<!--openapi-diff-workflow-comment-->' > openapi-changes-reply.md
echo "<details>" >> openapi-changes-reply.md
echo "<summary>Changes in OpenAPI specification found. Expand to see details.</summary>" >> openapi-changes-reply.md
echo "" >> openapi-changes-reply.md
echo "$body" >> openapi-changes-reply.md
echo "" >> openapi-changes-reply.md
echo "</details>" >> openapi-changes-reply.md
- name: Find difference comment
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3.1.0
id: find-comment
with:
issue-number: ${{ github.event.pull_request.number }}
direction: last
body-includes: openapi-diff-workflow-comment
- name: Reply or edit difference comment (changed)
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ steps.read-diff.outputs.ApiChanged == '1' }}
with:
issue-number: ${{ github.event.pull_request.number }}
comment-id: ${{ steps.find-comment.outputs.comment-id }}
edit-mode: replace
body-path: openapi-changes-reply.md
- name: Edit difference comment (unchanged)
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ steps.read-diff.outputs.ApiChanged == '0' && steps.find-comment.outputs.comment-id != '' }}
with:
issue-number: ${{ github.event.pull_request.number }}
comment-id: ${{ steps.find-comment.outputs.comment-id }}
edit-mode: replace
body: |
<!--openapi-diff-workflow-comment-->
No changes to OpenAPI specification found. See history of this comment for previous changes.
publish-unstable:
name: OpenAPI - Publish Unstable Spec
if: ${{ github.event_name != 'pull_request_target' && !startsWith(github.ref, 'refs/tags/v') && contains(github.repository_owner, 'jellyfin') }}
runs-on: ubuntu-latest
needs:
- openapi-head
steps:
- name: Set unstable dated version
id: version
run: |-
echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
- name: Download openapi-head
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: openapi-head
path: openapi-head
- name: Upload openapi.json (unstable) to repository server
uses: appleboy/scp-action@917f8b81dfc1ccd331fef9e2d61bdc6c8be94634 # v0.1.7
with:
host: "${{ secrets.REPO_HOST }}"
username: "${{ secrets.REPO_USER }}"
key: "${{ secrets.REPO_KEY }}"
source: openapi-head/openapi.json
strip_components: 1
target: "/srv/incoming/openapi/unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}"
- name: Move openapi.json (unstable) into place
uses: appleboy/ssh-action@029f5b4aeeeb58fdfe1410a5d17f967dacf36262 # v1.0.3
with:
host: "${{ secrets.REPO_HOST }}"
username: "${{ secrets.REPO_USER }}"
key: "${{ secrets.REPO_KEY }}"
debug: false
script_stop: false
script: |
if ! test -d /run/workflows; then
sudo mkdir -p /run/workflows
sudo chown ${{ secrets.REPO_USER }} /run/workflows
fi
(
flock -x -w 300 200 || exit 1
TGT_DIR="/srv/repository/main/openapi"
LAST_SPEC="$( ls -lt ${TGT_DIR}/unstable/ | grep 'jellyfin-openapi' | head -1 | awk '{ print $NF }' )"
# If new and previous spec don't differ (diff retcode 0), remove incoming and finish
if diff /srv/incoming/openapi/unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}/openapi.json ${TGT_DIR}/unstable/${LAST_SPEC} &>/dev/null; then
rm -r /srv/incoming/openapi/unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}
exit 0
fi
# Move new spec into place
sudo mv /srv/incoming/openapi/unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}/openapi.json ${TGT_DIR}/unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}.json
# Delete previous jellyfin-openapi-unstable_previous.json
sudo rm ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
# Move current jellyfin-openapi-unstable.json symlink to jellyfin-openapi-unstable_previous.json
sudo mv ${TGT_DIR}/jellyfin-openapi-unstable.json ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
# Create new jellyfin-openapi-unstable.json symlink
sudo ln -s unstable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}.json ${TGT_DIR}/jellyfin-openapi-unstable.json
# Check that the previous openapi unstable spec link is correct
if [[ "$( readlink ${TGT_DIR}/jellyfin-openapi-unstable_previous.json )" != "unstable/${LAST_SPEC}" ]]; then
sudo rm ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
sudo ln -s unstable/${LAST_SPEC} ${TGT_DIR}/jellyfin-openapi-unstable_previous.json
fi
) 200>/run/workflows/openapi-unstable.lock
publish-stable:
name: OpenAPI - Publish Stable Spec
if: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.repository_owner, 'jellyfin') }}
runs-on: ubuntu-latest
needs:
- openapi-head
steps:
- name: Set version number
id: version
run: |-
echo "JELLYFIN_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Download openapi-head
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: openapi-head
path: openapi-head
- name: Upload openapi.json (stable) to repository server
uses: appleboy/scp-action@917f8b81dfc1ccd331fef9e2d61bdc6c8be94634 # v0.1.7
with:
host: "${{ secrets.REPO_HOST }}"
username: "${{ secrets.REPO_USER }}"
key: "${{ secrets.REPO_KEY }}"
source: openapi-head/openapi.json
strip_components: 1
target: "/srv/incoming/openapi/stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}"
- name: Move openapi.json (stable) into place
uses: appleboy/ssh-action@029f5b4aeeeb58fdfe1410a5d17f967dacf36262 # v1.0.3
with:
host: "${{ secrets.REPO_HOST }}"
username: "${{ secrets.REPO_USER }}"
key: "${{ secrets.REPO_KEY }}"
debug: false
script_stop: false
script: |
if ! test -d /run/workflows; then
sudo mkdir -p /run/workflows
sudo chown ${{ secrets.REPO_USER }} /run/workflows
fi
(
flock -x -w 300 200 || exit 1
TGT_DIR="/srv/repository/main/openapi"
LAST_SPEC="$( ls -lt ${TGT_DIR}/stable/ | grep 'jellyfin-openapi' | head -1 | awk '{ print $NF }' )"
# If new and previous spec don't differ (diff retcode 0), remove incoming and finish
if diff /srv/incoming/openapi/stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}/openapi.json ${TGT_DIR}/stable/${LAST_SPEC} &>/dev/null; then
rm -r /srv/incoming/openapi/stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}
exit 0
fi
# Move new spec into place
sudo mv /srv/incoming/openapi/stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}/openapi.json ${TGT_DIR}/stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}.json
# Delete previous jellyfin-openapi-stable_previous.json
sudo rm ${TGT_DIR}/jellyfin-openapi-stable_previous.json
# Move current jellyfin-openapi-stable.json symlink to jellyfin-openapi-stable_previous.json
sudo mv ${TGT_DIR}/jellyfin-openapi-stable.json ${TGT_DIR}/jellyfin-openapi-stable_previous.json
# Create new jellyfin-openapi-stable.json symlink
sudo ln -s stable/jellyfin-openapi-${{ env.JELLYFIN_VERSION }}.json ${TGT_DIR}/jellyfin-openapi-stable.json
# Check that the previous openapi stable spec link is correct
if [[ "$( readlink ${TGT_DIR}/jellyfin-openapi-stable_previous.json )" != "stable/${LAST_SPEC}" ]]; then
sudo rm ${TGT_DIR}/jellyfin-openapi-stable_previous.json
sudo ln -s stable/${LAST_SPEC} ${TGT_DIR}/jellyfin-openapi-stable_previous.json
fi
) 200>/run/workflows/openapi-stable.lock

44
.github/workflows/ci-tests.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Tests
on:
push:
branches:
- master
# Run tests against the forked branch, but
# do not allow access to secrets
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories
pull_request:
env:
SDK_VERSION: "8.0.x"
jobs:
run-tests:
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
runs-on: "${{ matrix.os }}"
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
with:
dotnet-version: ${{ env.SDK_VERSION }}
- name: Run DotNet CLI Tests
run: >
dotnet test Jellyfin.sln
--configuration Release
--collect:"XPlat Code Coverage"
--settings tests/coverletArgs.runsettings
--verbosity minimal
- name: Merge code coverage results
uses: danielpalme/ReportGenerator-GitHub-Action@6b06171d1a131e7fd85121120a1c00c1ed03e033 # 5.3.0
with:
reports: "**/coverage.cobertura.xml"
targetdir: "merged/"
reporttypes: "Cobertura"
# TODO - which action / tool to use to publish code coverage results?
# - name: Publish code coverage results

View File

@@ -9,6 +9,7 @@ on:
- labeled
- synchronize
permissions: {}
jobs:
rebase:
name: Rebase
@@ -16,30 +17,33 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Notify as seen
uses: peter-evans/create-or-update-comment@v1.4.5
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.JF_BOT_TOKEN }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Checkout the latest code
uses: actions/checkout@v3
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
token: ${{ secrets.JF_BOT_TOKEN }}
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.5
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
check-backport:
permissions:
contents: read
name: Check Backport
if: ${{ ( github.event.issue.pull_request && contains(github.event.comment.body, '@jellyfin-bot check backport') ) || github.event.label.name == 'stable backport' || contains(github.event.pull_request.labels.*.name, 'stable backport' ) }}
runs-on: ubuntu-latest
steps:
- name: Notify as seen
uses: peter-evans/create-or-update-comment@v1.4.5
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ github.event.comment != null }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
@@ -47,14 +51,14 @@ jobs:
reactions: eyes
- name: Checkout the latest code
uses: actions/checkout@v3
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
token: ${{ secrets.JF_BOT_TOKEN }}
fetch-depth: 0
- name: Notify as running
id: comment_running
uses: peter-evans/create-or-update-comment@v1.4.5
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ github.event.comment != null }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
@@ -89,7 +93,7 @@ jobs:
exit ${retcode}
- name: Notify with result success
uses: peter-evans/create-or-update-comment@v1.4.5
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ github.event.comment != null && success() }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
@@ -104,7 +108,7 @@ jobs:
reactions: hooray
- name: Notify with result failure
uses: peter-evans/create-or-update-comment@v1.4.5
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ github.event.comment != null && failure() }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
@@ -117,3 +121,28 @@ jobs:
${{ steps.run_tests.outputs.output }}
reactions: confused
rename:
name: Rename
if: contains(github.event.comment.body, '@jellyfin-bot rename') && github.event.comment.author_association == 'MEMBER'
runs-on: ubuntu-latest
steps:
- name: pull in script
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
repository: jellyfin/jellyfin-triage-script
- name: install python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: '3.12'
cache: 'pip'
- name: install python packages
run: pip install -r rename/requirements.txt
- name: run rename script
run: python3 rename.py
working-directory: ./rename
env:
GH_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
GH_REPO: ${{ github.repository }}
ISSUE: ${{ github.event.issue.number }}
COMMENT_ID: ${{ github.event.comment.id }}

35
.github/workflows/issue-stale.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Stale Issue Labeler
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
actions: write
jobs:
issues:
name: Check for stale issues
runs-on: ubuntu-latest
if: ${{ contains(github.repository, 'jellyfin/') }}
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
ascending: true
days-before-stale: 120
days-before-pr-stale: -1
days-before-close: 21
days-before-pr-close: -1
operations-per-run: 500
exempt-issue-labels: regression,security,roadmap,future,feature,enhancement,confirmed
stale-issue-label: stale
stale-issue-message: |-
This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.
If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
close-issue-message: |-
This issue was closed due to inactivity.

View File

@@ -0,0 +1,29 @@
name: Check Issue Template
on:
issues:
types:
- opened
jobs:
check_issue:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: pull in script
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
repository: jellyfin/jellyfin-triage-script
- name: install python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: '3.12'
cache: 'pip'
- name: install python packages
run: pip install -r main-repo-triage/requirements.txt
- name: check and comment issue
working-directory: ./main-repo-triage
run: python3 single_issue_gha.py
env:
GH_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
GH_REPO: ${{ github.repository }}
ISSUE: ${{ github.event.issue.number }}

View File

@@ -1,124 +0,0 @@
name: OpenAPI
on:
push:
branches:
- master
pull_request_target:
jobs:
openapi-head:
name: OpenAPI - HEAD
runs-on: ubuntu-latest
permissions: read-all
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup .NET Core
uses: actions/setup-dotnet@v2
with:
dotnet-version: '6.0.x'
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@v2
with:
name: openapi-head
retention-days: 14
if-no-files-found: error
path: tests/Jellyfin.Server.Integration.Tests/bin/Release/net6.0/openapi.json
openapi-base:
name: OpenAPI - BASE
if: ${{ github.base_ref != '' }}
runs-on: ubuntu-latest
permissions: read-all
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.base_ref }}
- name: Setup .NET Core
uses: actions/setup-dotnet@v2
with:
dotnet-version: '6.0.x'
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@v2
with:
name: openapi-base
retention-days: 14
if-no-files-found: error
path: tests/Jellyfin.Server.Integration.Tests/bin/Release/net6.0/openapi.json
openapi-diff:
name: OpenAPI - Difference
if: ${{ github.event_name == 'pull_request_target' }}
runs-on: ubuntu-latest
needs:
- openapi-head
- openapi-base
steps:
- name: Download openapi-head
uses: actions/download-artifact@v2
with:
name: openapi-head
path: openapi-head
- name: Download openapi-base
uses: actions/download-artifact@v2
with:
name: openapi-base
path: openapi-base
- name: Workaround openapi-diff issue
run: |
sed -i 's/"allOf"/"oneOf"/g' openapi-head/openapi.json
sed -i 's/"allOf"/"oneOf"/g' openapi-base/openapi.json
- name: Calculate OpenAPI difference
uses: docker://openapitools/openapi-diff
continue-on-error: true
with:
args: --fail-on-changed --markdown openapi-changes.md openapi-base/openapi.json openapi-head/openapi.json
- id: read-diff
name: Read openapi-diff output
run: |
body=$(cat openapi-changes.md)
body="${body//'%'/'%25'}"
body="${body//$'\n'/'%0A'}"
body="${body//$'\r'/'%0D'}"
echo ::set-output name=body::$body
- name: Find difference comment
uses: peter-evans/find-comment@v1
id: find-comment
with:
issue-number: ${{ github.event.pull_request.number }}
direction: last
body-includes: openapi-diff-workflow-comment
- name: Reply or edit difference comment (changed)
uses: peter-evans/create-or-update-comment@v1.4.5
if: ${{ steps.read-diff.outputs.body != '' }}
with:
issue-number: ${{ github.event.pull_request.number }}
comment-id: ${{ steps.find-comment.outputs.comment-id }}
edit-mode: replace
body: |
<!--openapi-diff-workflow-comment-->
<details>
<summary>Changes in OpenAPI specification found. Expand to see details.</summary>
${{ steps.read-diff.outputs.body }}
</details>
- name: Edit difference comment (unchanged)
uses: peter-evans/create-or-update-comment@v1.4.5
if: ${{ steps.read-diff.outputs.body == '' && steps.find-comment.outputs.comment-id != '' }}
with:
issue-number: ${{ github.event.pull_request.number }}
comment-id: ${{ steps.find-comment.outputs.comment-id }}
edit-mode: replace
body: |
<!--openapi-diff-workflow-comment-->
No changes to OpenAPI specification found. See history of this comment for previous changes.

View File

@@ -1,4 +1,4 @@
name: Automation
name: Project Automation
on:
push:
@@ -7,26 +7,15 @@ on:
pull_request_target:
issue_comment:
permissions: {}
jobs:
label:
name: Labeling
runs-on: ubuntu-latest
if: ${{ github.repository == 'jellyfin/jellyfin' }}
steps:
- name: Apply label
uses: eps1lon/actions-label-merge-conflict@v2.0.1
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request_target'}}
with:
dirtyLabel: 'merge conflict'
repoToken: ${{ secrets.JF_BOT_TOKEN }}
project:
name: Project board
runs-on: ubuntu-latest
if: ${{ github.repository == 'jellyfin/jellyfin' }}
steps:
- name: Remove from 'Current Release' project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 # v0.9.0
if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
continue-on-error: true
with:
@@ -35,7 +24,7 @@ jobs:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add to 'Release Next' project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 # v0.9.0
if: (github.event.pull_request || github.event.issue.pull_request) && github.event.action == 'opened'
continue-on-error: true
with:
@@ -44,7 +33,7 @@ jobs:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add to 'Current Release' project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 # v0.9.0
if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
continue-on-error: true
with:
@@ -58,7 +47,7 @@ jobs:
run: echo "::set-output name=number::$(curl -s ${{ github.event.issue.comments_url }} | jq '.[] | select(.author_association == "MEMBER") | .author_association' | wc -l)"
- name: Move issue to needs triage
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 # v0.9.0
if: github.event.issue.pull_request == '' && github.event.comment.author_association == 'MEMBER' && steps.member_comments.outputs.number <= 1
continue-on-error: true
with:
@@ -67,7 +56,7 @@ jobs:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add issue to triage project
uses: alex-page/github-project-automation-plus@v0.8.1
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 # v0.9.0
if: github.event.issue.pull_request == '' && github.event.action == 'opened'
continue-on-error: true
with:

View File

@@ -0,0 +1,23 @@
name: Merge Conflict Labeler
on:
push:
branches:
- master
pull_request_target:
issue_comment:
permissions: {}
jobs:
label:
name: Labeling
runs-on: ubuntu-latest
if: ${{ github.repository == 'jellyfin/jellyfin' }}
steps:
- name: Apply label
uses: eps1lon/actions-label-merge-conflict@6d74047dcef155976a15e4a124dde2c7fe0c5522 # v3.0.1
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request_target'}}
with:
dirtyLabel: 'merge conflict'
commentOnDirty: 'This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.'
repoToken: ${{ secrets.JF_BOT_TOKEN }}

View File

@@ -0,0 +1,30 @@
name: Stale PR Check
on:
schedule:
- cron: '30 */12 * * *'
workflow_dispatch:
permissions:
pull-requests: write
actions: write
jobs:
prs-stale-conflicts:
name: Check PRs with merge conflicts
runs-on: ubuntu-latest
if: ${{ contains(github.repository, 'jellyfin/') }}
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
ascending: true
operations-per-run: 150
# The merge conflict action will remove the label when updated
remove-stale-when-updated: false
days-before-stale: -1
days-before-close: 90
days-before-issue-close: -1
stale-pr-label: merge conflict
close-pr-message: |-
This PR has been closed due to having unresolved merge conflicts.

View File

@@ -0,0 +1,82 @@
name: '🆙 Auto bump_version'
on:
release:
types:
- published
workflow_dispatch:
inputs:
TAG_BRANCH:
required: true
description: release-x.y.z
NEXT_VERSION:
required: true
description: x.y.z
jobs:
auto_bump_version:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'release' && !contains(github.event.release.tag_name, 'rc') }}
env:
TAG_BRANCH: ${{ github.event.release.target_commitish }}
steps:
- name: Wait for deploy checks to finish
uses: jitterbit/await-check-suites@292a541bb7618078395b2ce711a0d89cfb8a568a # v1
with:
ref: ${{ env.TAG_BRANCH }}
intervalSeconds: 60
timeoutSeconds: 3600
- name: Setup YQ
uses: chrisdickinson/setup-yq@latest
with:
yq-version: v4.9.8
- name: Checkout Repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ env.TAG_BRANCH }}
- name: Setup EnvVars
run: |-
CURRENT_VERSION=$(yq e '.version' build.yaml)
CURRENT_MAJOR_MINOR=${CURRENT_VERSION%.*}
CURRENT_PATCH=${CURRENT_VERSION##*.}
echo "CURRENT_VERSION=${CURRENT_VERSION}" >> $GITHUB_ENV
echo "CURRENT_MAJOR_MINOR=${CURRENT_MAJOR_MINOR}" >> $GITHUB_ENV
echo "CURRENT_PATCH=${CURRENT_PATCH}" >> $GITHUB_ENV
echo "NEXT_VERSION=${CURRENT_MAJOR_MINOR}.$(($CURRENT_PATCH + 1))" >> $GITHUB_ENV
- name: Run bump_version
run: ./bump_version ${{ env.NEXT_VERSION }}
- name: Commit Changes
run: |-
git config user.name "jellyfin-bot"
git config user.email "team@jellyfin.org"
git checkout ${{ env.TAG_BRANCH }}
git commit -am "Bump version to ${{ env.NEXT_VERSION }}"
git push origin ${{ env.TAG_BRANCH }}
manual_bump_version:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' }}
env:
TAG_BRANCH: ${{ github.event.inputs.TAG_BRANCH }}
NEXT_VERSION: ${{ github.event.inputs.NEXT_VERSION }}
steps:
- name: Checkout Repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ env.TAG_BRANCH }}
- name: Run bump_version
run: ./bump_version ${{ env.NEXT_VERSION }}
- name: Commit Changes
run: |-
git config user.name "jellyfin-bot"
git config user.email "team@jellyfin.org"
git checkout ${{ env.TAG_BRANCH }}
git commit -am "Bump version to ${{ env.NEXT_VERSION }}"
git push origin ${{ env.TAG_BRANCH }}

View File

@@ -1,27 +0,0 @@
name: Issue Stale Check
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ contains(github.repository, 'jellyfin/') }}
steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
days-before-stale: 120
days-before-pr-stale: -1
days-before-close: 21
days-before-pr-close: -1
exempt-issue-labels: regression,security,roadmap,future,feature,enhancement,confirmed
stale-issue-label: stale
stale-issue-message: |-
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).

4
.gitignore vendored
View File

@@ -150,8 +150,6 @@ publish/
*.pubxml
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
# packages/
dlls/
dllssigned/
@@ -166,7 +164,6 @@ AppPackages/
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
@@ -276,7 +273,6 @@ BenchmarkDotNet.Artifacts
# Ignore web artifacts from native builds
web/
web-src.*
MediaBrowser.WebDashboard/jellyfin-web
apiclient/generated
# Omnisharp crash logs

3
.npmrc
View File

@@ -1,3 +0,0 @@
registry=https://registry.npmjs.org/
@jellyfin:registry=https://pkgs.dev.azure.com/jellyfin-project/jellyfin/_packaging/unstable/npm/registry/
always-auth=true

View File

@@ -1,13 +1,11 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"ms-dotnettools.csharp",
"editorconfig.editorconfig"
"editorconfig.editorconfig",
"github.vscode-github-actions",
"ms-dotnettools.vscode-dotnet-runtime",
"ms-dotnettools.csdevkit"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
]

22
.vscode/launch.json vendored
View File

@@ -2,11 +2,11 @@
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"name": ".NET Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net6.0/jellyfin.dll",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net8.0/jellyfin.dll",
"args": [],
"cwd": "${workspaceFolder}/Jellyfin.Server",
"console": "internalConsole",
@@ -18,11 +18,11 @@
}
},
{
"name": ".NET Core Launch (nowebclient)",
"name": ".NET Launch (nowebclient)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net6.0/jellyfin.dll",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net8.0/jellyfin.dll",
"args": ["--nowebclient"],
"cwd": "${workspaceFolder}/Jellyfin.Server",
"console": "internalConsole",
@@ -30,7 +30,19 @@
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"name": "ghcs .NET Launch (nowebclient, ffmpeg)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net8.0/jellyfin.dll",
"args": ["--nowebclient", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"],
"cwd": "${workspaceFolder}/Jellyfin.Server",
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"

View File

@@ -4,6 +4,7 @@
- [97carmine](https://github.com/97carmine)
- [Abbe98](https://github.com/Abbe98)
- [agrenott](https://github.com/agrenott)
- [alltilla](https://github.com/alltilla)
- [AndreCarvalho](https://github.com/AndreCarvalho)
- [anthonylavado](https://github.com/anthonylavado)
- [Artiume](https://github.com/Artiume)
@@ -27,6 +28,7 @@
- [cvium](https://github.com/cvium)
- [dannymichel](https://github.com/dannymichel)
- [DaveChild](https://github.com/DaveChild)
- [DavidFair](https://github.com/DavidFair)
- [Delgan](https://github.com/Delgan)
- [dcrdev](https://github.com/dcrdev)
- [dhartung](https://github.com/dhartung)
@@ -36,6 +38,8 @@
- [dmitrylyzo](https://github.com/dmitrylyzo)
- [DMouse10462](https://github.com/DMouse10462)
- [DrPandemic](https://github.com/DrPandemic)
- [eglia](https://github.com/eglia)
- [EgorBakanov](https://github.com/EgorBakanov)
- [EraYaN](https://github.com/EraYaN)
- [escabe](https://github.com/escabe)
- [excelite](https://github.com/excelite)
@@ -54,7 +58,9 @@
- [hawken93](https://github.com/hawken93)
- [HelloWorld017](https://github.com/HelloWorld017)
- [ikomhoog](https://github.com/ikomhoog)
- [iwalton3](https://github.com/iwalton3)
- [jftuga](https://github.com/jftuga)
- [jmshrv](https://github.com/jmshrv)
- [joern-h](https://github.com/joern-h)
- [joshuaboniface](https://github.com/joshuaboniface)
- [JustAMan](https://github.com/JustAMan)
@@ -72,10 +78,12 @@
- [Marenz](https://github.com/Marenz)
- [marius-luca-87](https://github.com/marius-luca-87)
- [mark-monteiro](https://github.com/mark-monteiro)
- [MarkCiliaVincenti](https://github.com/MarkCiliaVincenti)
- [Matt07211](https://github.com/Matt07211)
- [Maxr1998](https://github.com/Maxr1998)
- [mcarlton00](https://github.com/mcarlton00)
- [mitchfizz05](https://github.com/mitchfizz05)
- [mohd-akram](https://github.com/mohd-akram)
- [MrTimscampi](https://github.com/MrTimscampi)
- [n8225](https://github.com/n8225)
- [Nalsai](https://github.com/Nalsai)
@@ -84,6 +92,7 @@
- [neilsb](https://github.com/neilsb)
- [nevado](https://github.com/nevado)
- [Nickbert7](https://github.com/Nickbert7)
- [nicknsy](https://github.com/nicknsy)
- [nvllsvm](https://github.com/nvllsvm)
- [nyanmisaka](https://github.com/nyanmisaka)
- [OancaAndrei](https://github.com/OancaAndrei)
@@ -122,6 +131,7 @@
- [SuperSandro2000](https://github.com/SuperSandro2000)
- [tbraeutigam](https://github.com/tbraeutigam)
- [teacupx](https://github.com/teacupx)
- [TelepathicWalrus](https://github.com/TelepathicWalrus)
- [Terror-Gene](https://github.com/Terror-Gene)
- [ThatNerdyPikachu](https://github.com/ThatNerdyPikachu)
- [ThibaultNocchi](https://github.com/ThibaultNocchi)
@@ -147,6 +157,7 @@
- [xosdy](https://github.com/xosdy)
- [XVicarious](https://github.com/XVicarious)
- [YouKnowBlom](https://github.com/YouKnowBlom)
- [ZachPhelan](https://github.com/ZachPhelan)
- [KristupasSavickas](https://github.com/KristupasSavickas)
- [Pusta](https://github.com/pusta)
- [nielsvanvelzen](https://github.com/nielsvanvelzen)
@@ -157,6 +168,22 @@
- [jonas-resch](https://github.com/jonas-resch)
- [vgambier](https://github.com/vgambier)
- [MinecraftPlaye](https://github.com/MinecraftPlaye)
- [RealGreenDragon](https://github.com/RealGreenDragon)
- [ipitio](https://github.com/ipitio)
- [TheTyrius](https://github.com/TheTyrius)
- [tallbl0nde](https://github.com/tallbl0nde)
- [sleepycatcoding](https://github.com/sleepycatcoding)
- [scampower3](https://github.com/scampower3)
- [Chris-Codes-It](https://github.com/Chris-Codes-It)
- [Pithaya](https://github.com/Pithaya)
- [Çağrı Sakaoğlu](https://github.com/ilovepilav)
- [Barasingha](https://github.com/MaVdbussche)
- [Gauvino](https://github.com/Gauvino)
- [felix920506](https://github.com/felix920506)
- [btopherjohnson](https://github.com/btopherjohnson)
- [GeorgeH005](https://github.com/GeorgeH005)
- [Vedant](https://github.com/viktory36/)
- [NotSaifA](https://github.com/NotSaifA)
# Emby Contributors
@@ -225,3 +252,8 @@
- [gnuyent](https://github.com/gnuyent)
- [Matthew Jones](https://github.com/matthew-jones-uk)
- [Jakob Kukla](https://github.com/jakobkukla)
- [Utku Özdemir](https://github.com/utkuozdemir)
- [JPUC1143](https://github.com/Jpuc1143/)
- [0x25CBFC4F](https://github.com/0x25CBFC4F)
- [Robert Lützner](https://github.com/rluetzner)
- [Nathan McCrina](https://github.com/nfmccrina)

View File

@@ -15,7 +15,8 @@
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="$(SolutionDir)/BannedSymbols.txt" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory)/BannedSymbols.txt" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory)/stylecop.json" />
</ItemGroup>
</Project>

92
Directory.Packages.props Normal file
View File

@@ -0,0 +1,92 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<!-- Run "dotnet list package (dash,dash)outdated" to see the latest versions of each package.-->
<ItemGroup Label="Package Dependencies">
<PackageVersion Include="AsyncKeyedLock" Version="6.4.2" />
<PackageVersion Include="AutoFixture.AutoMoq" Version="4.18.1" />
<PackageVersion Include="AutoFixture.Xunit2" Version="4.18.1" />
<PackageVersion Include="AutoFixture" Version="4.18.1" />
<PackageVersion Include="BDInfo" Version="0.8.0" />
<PackageVersion Include="BlurHashSharp.SkiaSharp" Version="1.3.2" />
<PackageVersion Include="BlurHashSharp" Version="1.3.2" />
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<PackageVersion Include="Diacritics" Version="3.3.29" />
<PackageVersion Include="DiscUtils.Udf" Version="0.16.13" />
<PackageVersion Include="DotNet.Glob" Version="3.1.3" />
<PackageVersion Include="EFCoreSecondLevelCacheInterceptor" Version="4.4.3" />
<PackageVersion Include="FsCheck.Xunit" Version="2.16.6" />
<PackageVersion Include="HarfBuzzSharp.NativeAssets.Linux" Version="7.3.0.2" />
<PackageVersion Include="ICU4N.Transliterator" Version="60.1.0-alpha.356" />
<PackageVersion Include="IDisposableAnalyzers" Version="4.0.7" />
<PackageVersion Include="Jellyfin.XmlTv" Version="10.8.0" />
<PackageVersion Include="libse" Version="4.0.5" />
<PackageVersion Include="LrcParser" Version="2023.524.0" />
<PackageVersion Include="MetaBrainz.MusicBrainz" Version="6.1.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="8.0.4" />
<PackageVersion Include="Microsoft.AspNetCore.HttpOverrides" Version="2.2.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.4" />
<PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.4" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.4" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="8.0.4" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="8.0.4" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageVersion Include="MimeTypes" Version="2.4.0" />
<PackageVersion Include="Mono.Nat" Version="3.0.4" />
<PackageVersion Include="Moq" Version="4.18.4" />
<PackageVersion Include="NEbml" Version="0.11.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="PlaylistsNET" Version="1.4.1" />
<PackageVersion Include="prometheus-net.AspNetCore" Version="8.2.1" />
<PackageVersion Include="prometheus-net.DotNetRuntime" Version="4.4.0" />
<PackageVersion Include="prometheus-net" Version="8.2.1" />
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.1" />
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageVersion Include="Serilog.Settings.Configuration" Version="8.0.0" />
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageVersion Include="Serilog.Sinks.Console" Version="5.0.1" />
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageVersion Include="Serilog.Sinks.Graylog" Version="3.1.1" />
<PackageVersion Include="SerilogAnalyzer" Version="0.15.0" />
<PackageVersion Include="SharpFuzz" Version="2.1.1" />
<PackageVersion Include="SkiaSharp" Version="2.88.8" />
<PackageVersion Include="SkiaSharp.HarfBuzz" Version="2.88.8" />
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.8" />
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<PackageVersion Include="Svg.Skia" Version="1.0.0.18" />
<PackageVersion Include="Swashbuckle.AspNetCore.ReDoc" Version="6.5.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageVersion Include="System.Globalization" Version="4.3.0" />
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageVersion Include="System.Text.Json" Version="8.0.3" />
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="8.0.0" />
<PackageVersion Include="TagLibSharp" Version="2.3.0" />
<PackageVersion Include="TMDbLib" Version="2.2.0" />
<PackageVersion Include="UTF.Unknown" Version="2.5.1" />
<PackageVersion Include="Xunit.Priority" Version="1.1.6" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.8" />
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />
<PackageVersion Include="xunit" Version="2.7.1" />
</ItemGroup>
</Project>

View File

@@ -1,92 +0,0 @@
# DESIGNED FOR BUILDING ON AMD64 ONLY
#####################################
# Requires binfm_misc registration
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
ARG DOTNET_VERSION=6.0
FROM node:lts-alpine as web-builder
ARG JELLYFIN_WEB_VERSION=master
RUN apk add curl git zlib zlib-dev autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python3 \
&& curl -L https://github.com/jellyfin/jellyfin-web/archive/${JELLYFIN_WEB_VERSION}.tar.gz | tar zxf - \
&& cd jellyfin-web-* \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
# http://stackoverflow.com/questions/48162574/ddg#49462622
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(Native-GPU-Support)
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
# https://github.com/intel/compute-runtime/releases
ARG GMMLIB_VERSION=22.0.2
ARG IGC_VERSION=1.0.10395
ARG NEO_VERSION=22.08.22549
ARG LEVEL_ZERO_VERSION=1.3.22549
# Install dependencies:
# mesa-va-drivers: needed for AMD VAAPI. Mesa >= 20.1 is required for HEVC transcoding.
# curl: healthcheck
RUN apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg wget apt-transport-https curl \
&& wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | apt-key add - \
&& echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | tee /etc/apt/sources.list.d/jellyfin.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
mesa-va-drivers \
jellyfin-ffmpeg \
openssl \
locales \
# Intel VAAPI Tone mapping dependencies:
# Prefer NEO to Beignet since the latter one doesn't support Comet Lake or newer for now.
# Do not use the intel-opencl-icd package from repo since they will not build with RELEASE_WITH_REGKEYS enabled.
&& mkdir intel-compute-runtime \
&& cd intel-compute-runtime \
&& wget https://github.com/intel/compute-runtime/releases/download/${NEO_VERSION}/intel-gmmlib_${GMMLIB_VERSION}_amd64.deb \
&& wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-${IGC_VERSION}/intel-igc-core_${IGC_VERSION}_amd64.deb \
&& wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-${IGC_VERSION}/intel-igc-opencl_${IGC_VERSION}_amd64.deb \
&& wget https://github.com/intel/compute-runtime/releases/download/${NEO_VERSION}/intel-opencl-icd_${NEO_VERSION}_amd64.deb \
&& wget https://github.com/intel/compute-runtime/releases/download/${NEO_VERSION}/intel-level-zero-gpu_${LEVEL_ZERO_VERSION}_amd64.deb \
&& dpkg -i *.deb \
&& cd .. \
&& rm -rf intel-compute-runtime \
&& apt-get remove gnupg wget apt-transport-https -y \
&& apt-get clean autoclean -y \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /cache /config /media \
&& chmod 777 /cache /config /media \
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
# ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} as builder
WORKDIR /repo
COPY . .
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
# because of changes in docker and systemd we need to not build in parallel at the moment
# see https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting
RUN dotnet publish Jellyfin.Server --disable-parallel --configuration Release --output="/jellyfin" --self-contained --runtime linux-x64 "-p:DebugSymbols=false;DebugType=none"
FROM app
ENV HEALTHCHECK_URL=http://localhost:8096/health
COPY --from=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
EXPOSE 8096
VOLUME /cache /config
ENTRYPOINT ["./jellyfin/jellyfin", \
"--datadir", "/config", \
"--cachedir", "/cache", \
"--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"]
HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=3 \
CMD curl -Lk "${HEALTHCHECK_URL}" || exit 1

View File

@@ -1,84 +0,0 @@
# DESIGNED FOR BUILDING ON ARM ONLY
#####################################
# Requires binfm_misc registration
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
ARG DOTNET_VERSION=6.0
FROM node:lts-alpine as web-builder
ARG JELLYFIN_WEB_VERSION=master
RUN apk add curl git zlib zlib-dev autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python3 \
&& curl -L https://github.com/jellyfin/jellyfin-web/archive/${JELLYFIN_WEB_VERSION}.tar.gz | tar zxf - \
&& cd jellyfin-web-* \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM multiarch/qemu-user-static:x86_64-arm as qemu
FROM arm32v7/debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
# http://stackoverflow.com/questions/48162574/ddg#49462622
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(Native-GPU-Support)
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
COPY --from=qemu /usr/bin/qemu-arm-static /usr/bin
# curl: setup & healthcheck
RUN apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg curl && \
curl -ks https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | apt-key add - && \
curl -ks https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
echo 'deb [arch=armhf] https://repo.jellyfin.org/debian buster main' > /etc/apt/sources.list.d/jellyfin.list && \
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa/ubuntu bionic main">> /etc/apt/sources.list.d/raspbins.list && \
apt-get update && \
apt-get install --no-install-recommends --no-install-suggests -y \
jellyfin-ffmpeg \
libssl-dev \
libfontconfig1 \
libfreetype6 \
libomxil-bellagio0 \
libomxil-bellagio-bin \
libraspberrypi0 \
vainfo \
libva2 \
locales \
&& apt-get remove gnupg -y \
&& apt-get clean autoclean -y \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /cache /config /media \
&& chmod 777 /cache /config /media \
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
# ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} as builder
WORKDIR /repo
COPY . .
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
# Discard objs - may cause failures if exists
RUN find . -type d -name obj | xargs -r rm -r
# Build
RUN dotnet publish Jellyfin.Server --configuration Release --output="/jellyfin" --self-contained --runtime linux-arm "-p:DebugSymbols=false;DebugType=none"
FROM app
ENV HEALTHCHECK_URL=http://localhost:8096/health
COPY --from=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
EXPOSE 8096
VOLUME /cache /config
ENTRYPOINT ["./jellyfin/jellyfin", \
"--datadir", "/config", \
"--cachedir", "/cache", \
"--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"]
HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=3 \
CMD curl -Lk "${HEALTHCHECK_URL}" || exit 1

View File

@@ -1,75 +0,0 @@
# DESIGNED FOR BUILDING ON ARM64 ONLY
#####################################
# Requires binfm_misc registration
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
ARG DOTNET_VERSION=6.0
FROM node:lts-alpine as web-builder
ARG JELLYFIN_WEB_VERSION=master
RUN apk add curl git zlib zlib-dev autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python3 \
&& curl -L https://github.com/jellyfin/jellyfin-web/archive/${JELLYFIN_WEB_VERSION}.tar.gz | tar zxf - \
&& cd jellyfin-web-* \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
FROM arm64v8/debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
# http://stackoverflow.com/questions/48162574/ddg#49462622
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(Native-GPU-Support)
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
COPY --from=qemu /usr/bin/qemu-aarch64-static /usr/bin
# curl: healcheck
RUN apt-get update && apt-get install --no-install-recommends --no-install-suggests -y \
ffmpeg \
libssl-dev \
ca-certificates \
libfontconfig1 \
libfreetype6 \
libomxil-bellagio0 \
libomxil-bellagio-bin \
locales \
curl \
&& apt-get clean autoclean -y \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /cache /config /media \
&& chmod 777 /cache /config /media \
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
# ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} as builder
WORKDIR /repo
COPY . .
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
# Discard objs - may cause failures if exists
RUN find . -type d -name obj | xargs -r rm -r
# Build
RUN dotnet publish Jellyfin.Server --configuration Release --output="/jellyfin" --self-contained --runtime linux-arm64 "-p:DebugSymbols=false;DebugType=none"
FROM app
ENV HEALTHCHECK_URL=http://localhost:8096/health
COPY --from=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
EXPOSE 8096
VOLUME /cache /config
ENTRYPOINT ["./jellyfin/jellyfin", \
"--datadir", "/config", \
"--cachedir", "/cache", \
"--ffmpeg", "/usr/bin/ffmpeg"]
HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=3 \
CMD curl -Lk "${HEALTHCHECK_URL}" || exit 1

View File

@@ -1,25 +0,0 @@
#pragma warning disable CS1591
using System.Buffers.Binary;
using System.IO;
namespace DvdLib
{
public class BigEndianBinaryReader : BinaryReader
{
public BigEndianBinaryReader(Stream input)
: base(input)
{
}
public override ushort ReadUInt16()
{
return BinaryPrimitives.ReadUInt16BigEndian(base.ReadBytes(2));
}
public override uint ReadUInt32()
{
return BinaryPrimitives.ReadUInt32BigEndian(base.ReadBytes(4));
}
}
}

View File

@@ -1,20 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- ProjectGuid is only included as a requirement for SonarQube analysis -->
<PropertyGroup>
<ProjectGuid>{713F42B5-878E-499D-A878-E4C652B1D5E8}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\SharedVersion.cs" />
</ItemGroup>
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AnalysisMode>AllDisabledByDefault</AnalysisMode>
<Nullable>disable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -1,23 +0,0 @@
#pragma warning disable CS1591
using System.IO;
namespace DvdLib.Ifo
{
public class Cell
{
public CellPlaybackInfo PlaybackInfo { get; private set; }
public CellPositionInfo PositionInfo { get; private set; }
internal void ParsePlayback(BinaryReader br)
{
PlaybackInfo = new CellPlaybackInfo(br);
}
internal void ParsePosition(BinaryReader br)
{
PositionInfo = new CellPositionInfo(br);
}
}
}

View File

@@ -1,52 +0,0 @@
#pragma warning disable CS1591
using System.IO;
namespace DvdLib.Ifo
{
public enum BlockMode
{
NotInBlock = 0,
FirstCell = 1,
InBlock = 2,
LastCell = 3,
}
public enum BlockType
{
Normal = 0,
Angle = 1,
}
public enum PlaybackMode
{
Normal = 0,
StillAfterEachVOBU = 1,
}
public class CellPlaybackInfo
{
public readonly BlockMode Mode;
public readonly BlockType Type;
public readonly bool SeamlessPlay;
public readonly bool Interleaved;
public readonly bool STCDiscontinuity;
public readonly bool SeamlessAngle;
public readonly PlaybackMode PlaybackMode;
public readonly bool Restricted;
public readonly byte StillTime;
public readonly byte CommandNumber;
public readonly DvdTime PlaybackTime;
public readonly uint FirstSector;
public readonly uint FirstILVUEndSector;
public readonly uint LastVOBUStartSector;
public readonly uint LastSector;
internal CellPlaybackInfo(BinaryReader br)
{
br.BaseStream.Seek(0x4, SeekOrigin.Current);
PlaybackTime = new DvdTime(br.ReadBytes(4));
br.BaseStream.Seek(0x10, SeekOrigin.Current);
}
}
}

View File

@@ -1,19 +0,0 @@
#pragma warning disable CS1591
using System.IO;
namespace DvdLib.Ifo
{
public class CellPositionInfo
{
public readonly ushort VOBId;
public readonly byte CellId;
internal CellPositionInfo(BinaryReader br)
{
VOBId = br.ReadUInt16();
br.ReadByte();
CellId = br.ReadByte();
}
}
}

View File

@@ -1,20 +0,0 @@
#pragma warning disable CS1591
namespace DvdLib.Ifo
{
public class Chapter
{
public ushort ProgramChainNumber { get; private set; }
public ushort ProgramNumber { get; private set; }
public uint ChapterNumber { get; private set; }
public Chapter(ushort pgcNum, ushort programNum, uint chapterNum)
{
ProgramChainNumber = pgcNum;
ProgramNumber = programNum;
ChapterNumber = chapterNum;
}
}
}

View File

@@ -1,167 +0,0 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
namespace DvdLib.Ifo
{
public class Dvd
{
private readonly ushort _titleSetCount;
public readonly List<Title> Titles;
private ushort _titleCount;
public readonly Dictionary<ushort, string> VTSPaths = new Dictionary<ushort, string>();
public Dvd(string path)
{
Titles = new List<Title>();
var allFiles = new DirectoryInfo(path).GetFiles(path, SearchOption.AllDirectories);
var vmgPath = allFiles.FirstOrDefault(i => string.Equals(i.Name, "VIDEO_TS.IFO", StringComparison.OrdinalIgnoreCase)) ??
allFiles.FirstOrDefault(i => string.Equals(i.Name, "VIDEO_TS.BUP", StringComparison.OrdinalIgnoreCase));
if (vmgPath == null)
{
foreach (var ifo in allFiles)
{
if (!string.Equals(ifo.Extension, ".ifo", StringComparison.OrdinalIgnoreCase))
{
continue;
}
var nums = ifo.Name.Split('_', StringSplitOptions.RemoveEmptyEntries);
if (nums.Length >= 2 && ushort.TryParse(nums[1], out var ifoNumber))
{
ReadVTS(ifoNumber, ifo.FullName);
}
}
}
else
{
using (var vmgFs = new FileStream(vmgPath.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (var vmgRead = new BigEndianBinaryReader(vmgFs))
{
vmgFs.Seek(0x3E, SeekOrigin.Begin);
_titleSetCount = vmgRead.ReadUInt16();
// read address of TT_SRPT
vmgFs.Seek(0xC4, SeekOrigin.Begin);
uint ttSectorPtr = vmgRead.ReadUInt32();
vmgFs.Seek(ttSectorPtr * 2048, SeekOrigin.Begin);
ReadTT_SRPT(vmgRead);
}
}
for (ushort titleSetNum = 1; titleSetNum <= _titleSetCount; titleSetNum++)
{
ReadVTS(titleSetNum, allFiles);
}
}
}
private void ReadTT_SRPT(BinaryReader read)
{
_titleCount = read.ReadUInt16();
read.BaseStream.Seek(6, SeekOrigin.Current);
for (uint titleNum = 1; titleNum <= _titleCount; titleNum++)
{
var t = new Title(titleNum);
t.ParseTT_SRPT(read);
Titles.Add(t);
}
}
private void ReadVTS(ushort vtsNum, IReadOnlyList<FileInfo> allFiles)
{
var filename = string.Format(CultureInfo.InvariantCulture, "VTS_{0:00}_0.IFO", vtsNum);
var vtsPath = allFiles.FirstOrDefault(i => string.Equals(i.Name, filename, StringComparison.OrdinalIgnoreCase)) ??
allFiles.FirstOrDefault(i => string.Equals(i.Name, Path.ChangeExtension(filename, ".bup"), StringComparison.OrdinalIgnoreCase));
if (vtsPath == null)
{
throw new FileNotFoundException("Unable to find VTS IFO file");
}
ReadVTS(vtsNum, vtsPath.FullName);
}
private void ReadVTS(ushort vtsNum, string vtsPath)
{
VTSPaths[vtsNum] = vtsPath;
using (var vtsFs = new FileStream(vtsPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (var vtsRead = new BigEndianBinaryReader(vtsFs))
{
// Read VTS_PTT_SRPT
vtsFs.Seek(0xC8, SeekOrigin.Begin);
uint vtsPttSrptSecPtr = vtsRead.ReadUInt32();
uint baseAddr = (vtsPttSrptSecPtr * 2048);
vtsFs.Seek(baseAddr, SeekOrigin.Begin);
ushort numTitles = vtsRead.ReadUInt16();
vtsRead.ReadUInt16();
uint endaddr = vtsRead.ReadUInt32();
uint[] offsets = new uint[numTitles];
for (ushort titleNum = 0; titleNum < numTitles; titleNum++)
{
offsets[titleNum] = vtsRead.ReadUInt32();
}
for (uint titleNum = 0; titleNum < numTitles; titleNum++)
{
uint chapNum = 1;
vtsFs.Seek(baseAddr + offsets[titleNum], SeekOrigin.Begin);
var t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum + 1));
if (t == null)
{
continue;
}
do
{
t.Chapters.Add(new Chapter(vtsRead.ReadUInt16(), vtsRead.ReadUInt16(), chapNum));
if (titleNum + 1 < numTitles && vtsFs.Position == (baseAddr + offsets[titleNum + 1]))
{
break;
}
chapNum++;
}
while (vtsFs.Position < (baseAddr + endaddr));
}
// Read VTS_PGCI
vtsFs.Seek(0xCC, SeekOrigin.Begin);
uint vtsPgciSecPtr = vtsRead.ReadUInt32();
vtsFs.Seek(vtsPgciSecPtr * 2048, SeekOrigin.Begin);
long startByte = vtsFs.Position;
ushort numPgcs = vtsRead.ReadUInt16();
vtsFs.Seek(6, SeekOrigin.Current);
for (ushort pgcNum = 1; pgcNum <= numPgcs; pgcNum++)
{
byte pgcCat = vtsRead.ReadByte();
bool entryPgc = (pgcCat & 0x80) != 0;
uint titleNum = (uint)(pgcCat & 0x7F);
vtsFs.Seek(3, SeekOrigin.Current);
uint vtsPgcOffset = vtsRead.ReadUInt32();
var t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum));
if (t != null)
{
t.AddPgc(vtsRead, startByte + vtsPgcOffset, entryPgc, pgcNum);
}
}
}
}
}
}
}

View File

@@ -1,39 +0,0 @@
#pragma warning disable CS1591
using System;
namespace DvdLib.Ifo
{
public class DvdTime
{
public readonly byte Hour, Minute, Second, Frames, FrameRate;
public DvdTime(byte[] data)
{
Hour = GetBCDValue(data[0]);
Minute = GetBCDValue(data[1]);
Second = GetBCDValue(data[2]);
Frames = GetBCDValue((byte)(data[3] & 0x3F));
if ((data[3] & 0x80) != 0)
{
FrameRate = 30;
}
else if ((data[3] & 0x40) != 0)
{
FrameRate = 25;
}
}
private static byte GetBCDValue(byte data)
{
return (byte)((((data & 0xF0) >> 4) * 10) + (data & 0x0F));
}
public static explicit operator TimeSpan(DvdTime time)
{
int ms = (int)(((1.0 / (double)time.FrameRate) * time.Frames) * 1000.0);
return new TimeSpan(0, time.Hour, time.Minute, time.Second, ms);
}
}
}

View File

@@ -1,16 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
namespace DvdLib.Ifo
{
public class Program
{
public IReadOnlyList<Cell> Cells { get; }
public Program(List<Cell> cells)
{
Cells = cells;
}
}
}

View File

@@ -1,121 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace DvdLib.Ifo
{
public enum ProgramPlaybackMode
{
Sequential,
Random,
Shuffle
}
public class ProgramChain
{
private byte _programCount;
public readonly List<Program> Programs;
private byte _cellCount;
public readonly List<Cell> Cells;
public DvdTime PlaybackTime { get; private set; }
public UserOperation ProhibitedUserOperations { get; private set; }
public byte[] AudioStreamControl { get; private set; } // 8*2 entries
public byte[] SubpictureStreamControl { get; private set; } // 32*4 entries
private ushort _nextProgramNumber;
private ushort _prevProgramNumber;
private ushort _goupProgramNumber;
public ProgramPlaybackMode PlaybackMode { get; private set; }
public uint ProgramCount { get; private set; }
public byte StillTime { get; private set; }
public byte[] Palette { get; private set; } // 16*4 entries
private ushort _commandTableOffset;
private ushort _programMapOffset;
private ushort _cellPlaybackOffset;
private ushort _cellPositionOffset;
public readonly uint VideoTitleSetIndex;
internal ProgramChain(uint vtsPgcNum)
{
VideoTitleSetIndex = vtsPgcNum;
Cells = new List<Cell>();
Programs = new List<Program>();
}
internal void ParseHeader(BinaryReader br)
{
long startPos = br.BaseStream.Position;
br.ReadUInt16();
_programCount = br.ReadByte();
_cellCount = br.ReadByte();
PlaybackTime = new DvdTime(br.ReadBytes(4));
ProhibitedUserOperations = (UserOperation)br.ReadUInt32();
AudioStreamControl = br.ReadBytes(16);
SubpictureStreamControl = br.ReadBytes(128);
_nextProgramNumber = br.ReadUInt16();
_prevProgramNumber = br.ReadUInt16();
_goupProgramNumber = br.ReadUInt16();
StillTime = br.ReadByte();
byte pbMode = br.ReadByte();
if (pbMode == 0)
{
PlaybackMode = ProgramPlaybackMode.Sequential;
}
else
{
PlaybackMode = ((pbMode & 0x80) == 0) ? ProgramPlaybackMode.Random : ProgramPlaybackMode.Shuffle;
}
ProgramCount = (uint)(pbMode & 0x7F);
Palette = br.ReadBytes(64);
_commandTableOffset = br.ReadUInt16();
_programMapOffset = br.ReadUInt16();
_cellPlaybackOffset = br.ReadUInt16();
_cellPositionOffset = br.ReadUInt16();
// read position info
br.BaseStream.Seek(startPos + _cellPositionOffset, SeekOrigin.Begin);
for (int cellNum = 0; cellNum < _cellCount; cellNum++)
{
var c = new Cell();
c.ParsePosition(br);
Cells.Add(c);
}
br.BaseStream.Seek(startPos + _cellPlaybackOffset, SeekOrigin.Begin);
for (int cellNum = 0; cellNum < _cellCount; cellNum++)
{
Cells[cellNum].ParsePlayback(br);
}
br.BaseStream.Seek(startPos + _programMapOffset, SeekOrigin.Begin);
var cellNumbers = new List<int>();
for (int progNum = 0; progNum < _programCount; progNum++) cellNumbers.Add(br.ReadByte() - 1);
for (int i = 0; i < cellNumbers.Count; i++)
{
int max = (i + 1 == cellNumbers.Count) ? _cellCount : cellNumbers[i + 1];
Programs.Add(new Program(Cells.Where((c, idx) => idx >= cellNumbers[i] && idx < max).ToList()));
}
}
}
}

View File

@@ -1,70 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using System.IO;
namespace DvdLib.Ifo
{
public class Title
{
public uint TitleNumber { get; private set; }
public uint AngleCount { get; private set; }
public ushort ChapterCount { get; private set; }
public byte VideoTitleSetNumber { get; private set; }
private ushort _parentalManagementMask;
private byte _titleNumberInVTS;
private uint _vtsStartSector; // relative to start of entire disk
public ProgramChain EntryProgramChain { get; private set; }
public readonly List<ProgramChain> ProgramChains;
public readonly List<Chapter> Chapters;
public Title(uint titleNum)
{
ProgramChains = new List<ProgramChain>();
Chapters = new List<Chapter>();
Chapters = new List<Chapter>();
TitleNumber = titleNum;
}
public bool IsVTSTitle(uint vtsNum, uint vtsTitleNum)
{
return (vtsNum == VideoTitleSetNumber && vtsTitleNum == _titleNumberInVTS);
}
internal void ParseTT_SRPT(BinaryReader br)
{
byte titleType = br.ReadByte();
// TODO parse Title Type
AngleCount = br.ReadByte();
ChapterCount = br.ReadUInt16();
_parentalManagementMask = br.ReadUInt16();
VideoTitleSetNumber = br.ReadByte();
_titleNumberInVTS = br.ReadByte();
_vtsStartSector = br.ReadUInt32();
}
internal void AddPgc(BinaryReader br, long startByte, bool entryPgc, uint pgcNum)
{
long curPos = br.BaseStream.Position;
br.BaseStream.Seek(startByte, SeekOrigin.Begin);
var pgc = new ProgramChain(pgcNum);
pgc.ParseHeader(br);
ProgramChains.Add(pgc);
if (entryPgc)
{
EntryProgramChain = pgc;
}
br.BaseStream.Seek(curPos, SeekOrigin.Begin);
}
}
}

View File

@@ -1,37 +0,0 @@
#pragma warning disable CS1591
using System;
namespace DvdLib.Ifo
{
[Flags]
public enum UserOperation
{
None = 0,
TitleOrTimePlay = 1,
ChapterSearchOrPlay = 2,
TitlePlay = 4,
Stop = 8,
GoUp = 16,
TimeOrChapterSearch = 32,
PrevOrTopProgramSearch = 64,
NextProgramSearch = 128,
ForwardScan = 256,
BackwardScan = 512,
TitleMenuCall = 1024,
RootMenuCall = 2048,
SubpictureMenuCall = 4096,
AudioMenuCall = 8192,
AngleMenuCall = 16384,
ChapterMenuCall = 32768,
Resume = 65536,
ButtonSelectOrActive = 131072,
StillOff = 262144,
PauseOn = 524288,
AudioStreamChange = 1048576,
SubpictureStreamChange = 2097152,
AngleChange = 4194304,
KaraokeAudioPresentationModeChange = 8388608,
VideoPresentationModeChange = 16777216,
}
}

View File

@@ -1,21 +0,0 @@
using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DvdLib")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Jellyfin Project")]
[assembly: AssemblyProduct("Jellyfin Server")]
[assembly: AssemblyCopyright("Copyright © 2019 Jellyfin Contributors. Code released under the GNU General Public License")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

View File

@@ -1,23 +0,0 @@
namespace Emby.Dlna.Common
{
/// <summary>
/// DLNA Query parameter type, used when querying DLNA devices via SOAP.
/// </summary>
public class Argument
{
/// <summary>
/// Gets or sets name of the DLNA argument.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the direction of the parameter.
/// </summary>
public string Direction { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the related DLNA state variable for this argument.
/// </summary>
public string RelatedStateVariable { get; set; } = string.Empty;
}
}

View File

@@ -1,41 +0,0 @@
using System.Globalization;
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="DeviceIcon" />.
/// </summary>
public class DeviceIcon
{
/// <summary>
/// Gets or sets the Url.
/// </summary>
public string Url { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the MimeType.
/// </summary>
public string MimeType { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the Width.
/// </summary>
public int Width { get; set; }
/// <summary>
/// Gets or sets the Height.
/// </summary>
public int Height { get; set; }
/// <summary>
/// Gets or sets the Depth.
/// </summary>
public string Depth { get; set; } = string.Empty;
/// <inheritdoc />
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "{0}x{1}", Height, Width);
}
}
}

View File

@@ -1,36 +0,0 @@
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="DeviceService" />.
/// </summary>
public class DeviceService
{
/// <summary>
/// Gets or sets the Service Type.
/// </summary>
public string ServiceType { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the Service Id.
/// </summary>
public string ServiceId { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the Scpd Url.
/// </summary>
public string ScpdUrl { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the Control Url.
/// </summary>
public string ControlUrl { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the EventSubUrl.
/// </summary>
public string EventSubUrl { get; set; } = string.Empty;
/// <inheritdoc />
public override string ToString() => ServiceId;
}
}

View File

@@ -1,31 +0,0 @@
using System.Collections.Generic;
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="ServiceAction" />.
/// </summary>
public class ServiceAction
{
/// <summary>
/// Initializes a new instance of the <see cref="ServiceAction"/> class.
/// </summary>
public ServiceAction()
{
ArgumentList = new List<Argument>();
}
/// <summary>
/// Gets or sets the name of the action.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets the ArgumentList.
/// </summary>
public List<Argument> ArgumentList { get; }
/// <inheritdoc />
public override string ToString() => Name;
}
}

View File

@@ -1,34 +0,0 @@
using System;
using System.Collections.Generic;
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="StateVariable" />.
/// </summary>
public class StateVariable
{
/// <summary>
/// Gets or sets the name of the state variable.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the data type of the state variable.
/// </summary>
public string DataType { get; set; } = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether it sends events.
/// </summary>
public bool SendsEvents { get; set; }
/// <summary>
/// Gets or sets the allowed values range.
/// </summary>
public IReadOnlyList<string> AllowedValues { get; set; } = Array.Empty<string>();
/// <inheritdoc />
public override string ToString() => Name;
}
}

View File

@@ -1,92 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna.Configuration
{
/// <summary>
/// The DlnaOptions class contains the user definable parameters for the dlna subsystems.
/// </summary>
public class DlnaOptions
{
/// <summary>
/// Initializes a new instance of the <see cref="DlnaOptions"/> class.
/// </summary>
public DlnaOptions()
{
EnablePlayTo = true;
EnableServer = false;
BlastAliveMessages = true;
SendOnlyMatchedHost = true;
ClientDiscoveryIntervalSeconds = 60;
AliveMessageIntervalSeconds = 1800;
}
/// <summary>
/// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna playTo subsystem.
/// </summary>
public bool EnablePlayTo { get; set; }
/// <summary>
/// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna server subsystem.
/// </summary>
public bool EnableServer { get; set; }
/// <summary>
/// Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log.
/// If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work.
/// </summary>
public bool EnableDebugLog { get; set; }
/// <summary>
/// Gets or sets a value indicating whether whether detailed playTo debug logs are sent to the console/log.
/// If the setting "Emby.Dlna.PlayTo": "Debug" msut be set in logging.default.json for this property to work.
/// </summary>
public bool EnablePlayToTracing { get; set; }
/// <summary>
/// Gets or sets the ssdp client discovery interval time (in seconds).
/// This is the time after which the server will send a ssdp search request.
/// </summary>
public int ClientDiscoveryIntervalSeconds { get; set; }
/// <summary>
/// Gets or sets the frequency at which ssdp alive notifications are transmitted.
/// </summary>
public int AliveMessageIntervalSeconds { get; set; }
/// <summary>
/// Gets or sets the frequency at which ssdp alive notifications are transmitted. MIGRATING - TO BE REMOVED ONCE WEB HAS BEEN ALTERED.
/// </summary>
public int BlastAliveMessageIntervalSeconds
{
get
{
return AliveMessageIntervalSeconds;
}
set
{
AliveMessageIntervalSeconds = value;
}
}
/// <summary>
/// Gets or sets the default user account that the dlna server uses.
/// </summary>
public string? DefaultUserId { get; set; }
/// <summary>
/// Gets or sets a value indicating whether playTo device profiles should be created.
/// </summary>
public bool AutoCreatePlayToProfiles { get; set; }
/// <summary>
/// Gets or sets a value indicating whether to blast alive messages.
/// </summary>
public bool BlastAliveMessages { get; set; } = true;
/// <summary>
/// gets or sets a value indicating whether to send only matched host.
/// </summary>
public bool SendOnlyMatchedHost { get; set; } = true;
}
}

View File

@@ -1,15 +0,0 @@
#pragma warning disable CS1591
using Emby.Dlna.Configuration;
using MediaBrowser.Common.Configuration;
namespace Emby.Dlna
{
public static class ConfigurationExtension
{
public static DlnaOptions GetDlnaConfiguration(this IConfigurationManager manager)
{
return manager.GetConfiguration<DlnaOptions>("dlna");
}
}
}

View File

@@ -1,53 +0,0 @@
#pragma warning disable CS1591
using System.Net.Http;
using System.Threading.Tasks;
using Emby.Dlna.Service;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ConnectionManager
{
/// <summary>
/// Defines the <see cref="ConnectionManagerService" />.
/// </summary>
public class ConnectionManagerService : BaseService, IConnectionManager
{
private readonly IDlnaManager _dlna;
private readonly IServerConfigurationManager _config;
/// <summary>
/// Initializes a new instance of the <see cref="ConnectionManagerService"/> class.
/// </summary>
/// <param name="dlna">The <see cref="IDlnaManager"/> for use with the <see cref="ConnectionManagerService"/> instance.</param>
/// <param name="config">The <see cref="IServerConfigurationManager"/> for use with the <see cref="ConnectionManagerService"/> instance.</param>
/// <param name="logger">The <see cref="ILogger{ConnectionManagerService}"/> for use with the <see cref="ConnectionManagerService"/> instance..</param>
/// <param name="httpClientFactory">The <see cref="IHttpClientFactory"/> for use with the <see cref="ConnectionManagerService"/> instance..</param>
public ConnectionManagerService(
IDlnaManager dlna,
IServerConfigurationManager config,
ILogger<ConnectionManagerService> logger,
IHttpClientFactory httpClientFactory)
: base(logger, httpClientFactory)
{
_dlna = dlna;
_config = config;
}
/// <inheritdoc />
public string GetServiceXml()
{
return ConnectionManagerXmlBuilder.GetXml();
}
/// <inheritdoc />
public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
{
var profile = _dlna.GetProfile(request.Headers) ??
_dlna.GetDefaultProfile();
return new ControlHandler(_config, Logger, profile).ProcessControlRequestAsync(request);
}
}
}

View File

@@ -1,121 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
using Emby.Dlna.Service;
namespace Emby.Dlna.ConnectionManager
{
/// <summary>
/// Defines the <see cref="ConnectionManagerXmlBuilder" />.
/// </summary>
public static class ConnectionManagerXmlBuilder
{
/// <summary>
/// Gets the ConnectionManager:1 service template.
/// See http://upnp.org/specs/av/UPnP-av-ConnectionManager-v1-Service.pdf.
/// </summary>
/// <returns>An XML description of this service.</returns>
public static string GetXml()
{
return new ServiceXmlBuilder().GetXml(ServiceActionListBuilder.GetActions(), GetStateVariables());
}
/// <summary>
/// Get the list of state variables for this invocation.
/// </summary>
/// <returns>The <see cref="IEnumerable{StateVariable}"/>.</returns>
private static IEnumerable<StateVariable> GetStateVariables()
{
var list = new List<StateVariable>
{
new StateVariable
{
Name = "SourceProtocolInfo",
DataType = "string",
SendsEvents = true
},
new StateVariable
{
Name = "SinkProtocolInfo",
DataType = "string",
SendsEvents = true
},
new StateVariable
{
Name = "CurrentConnectionIDs",
DataType = "string",
SendsEvents = true
},
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionStatus",
DataType = "string",
SendsEvents = false,
AllowedValues = new[]
{
"OK",
"ContentFormatMismatch",
"InsufficientBandwidth",
"UnreliableChannel",
"Unknown"
}
},
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionManager",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_Direction",
DataType = "string",
SendsEvents = false,
AllowedValues = new[]
{
"Output",
"Input"
}
},
new StateVariable
{
Name = "A_ARG_TYPE_ProtocolInfo",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionID",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_AVTransportID",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_RcsID",
DataType = "ui4",
SendsEvents = false
}
};
return list;
}
}
}

View File

@@ -1,55 +0,0 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Xml;
using Emby.Dlna.Service;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Dlna;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ConnectionManager
{
/// <summary>
/// Defines the <see cref="ControlHandler" />.
/// </summary>
public class ControlHandler : BaseControlHandler
{
private readonly DeviceProfile _profile;
/// <summary>
/// Initializes a new instance of the <see cref="ControlHandler"/> class.
/// </summary>
/// <param name="config">The <see cref="IServerConfigurationManager"/> for use with the <see cref="ControlHandler"/> instance.</param>
/// <param name="logger">The <see cref="ILogger"/> for use with the <see cref="ControlHandler"/> instance.</param>
/// <param name="profile">The <see cref="DeviceProfile"/> for use with the <see cref="ControlHandler"/> instance.</param>
public ControlHandler(IServerConfigurationManager config, ILogger logger, DeviceProfile profile)
: base(config, logger)
{
_profile = profile;
}
/// <inheritdoc />
protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
{
if (string.Equals(methodName, "GetProtocolInfo", StringComparison.OrdinalIgnoreCase))
{
HandleGetProtocolInfo(xmlWriter);
return;
}
throw new ResourceNotFoundException("Unexpected control request name: " + methodName);
}
/// <summary>
/// Builds the response to the GetProtocolInfo request.
/// </summary>
/// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
private void HandleGetProtocolInfo(XmlWriter xmlWriter)
{
xmlWriter.WriteElementString("Source", _profile.ProtocolInfo);
xmlWriter.WriteElementString("Sink", string.Empty);
}
}
}

View File

@@ -1,234 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
namespace Emby.Dlna.ConnectionManager
{
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
/// <summary>
/// Returns an enumerable of the ConnectionManagar:1 DLNA actions.
/// </summary>
/// <returns>An <see cref="IEnumerable{ServiceAction}"/>.</returns>
public static IEnumerable<ServiceAction> GetActions()
{
var list = new List<ServiceAction>
{
GetCurrentConnectionInfo(),
GetProtocolInfo(),
GetCurrentConnectionIDs(),
ConnectionComplete(),
PrepareForConnection()
};
return list;
}
/// <summary>
/// Returns the action details for "PrepareForConnection".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction PrepareForConnection()
{
var action = new ServiceAction
{
Name = "PrepareForConnection"
};
action.ArgumentList.Add(new Argument
{
Name = "RemoteProtocolInfo",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ProtocolInfo"
});
action.ArgumentList.Add(new Argument
{
Name = "PeerConnectionManager",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ConnectionManager"
});
action.ArgumentList.Add(new Argument
{
Name = "PeerConnectionID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
});
action.ArgumentList.Add(new Argument
{
Name = "Direction",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Direction"
});
action.ArgumentList.Add(new Argument
{
Name = "ConnectionID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
});
action.ArgumentList.Add(new Argument
{
Name = "AVTransportID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_AVTransportID"
});
action.ArgumentList.Add(new Argument
{
Name = "RcsID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_RcsID"
});
return action;
}
/// <summary>
/// Returns the action details for "GetCurrentConnectionInfo".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetCurrentConnectionInfo()
{
var action = new ServiceAction
{
Name = "GetCurrentConnectionInfo"
};
action.ArgumentList.Add(new Argument
{
Name = "ConnectionID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
});
action.ArgumentList.Add(new Argument
{
Name = "RcsID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_RcsID"
});
action.ArgumentList.Add(new Argument
{
Name = "AVTransportID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_AVTransportID"
});
action.ArgumentList.Add(new Argument
{
Name = "ProtocolInfo",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_ProtocolInfo"
});
action.ArgumentList.Add(new Argument
{
Name = "PeerConnectionManager",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_ConnectionManager"
});
action.ArgumentList.Add(new Argument
{
Name = "PeerConnectionID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
});
action.ArgumentList.Add(new Argument
{
Name = "Direction",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Direction"
});
action.ArgumentList.Add(new Argument
{
Name = "Status",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_ConnectionStatus"
});
return action;
}
/// <summary>
/// Returns the action details for "GetProtocolInfo".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetProtocolInfo()
{
var action = new ServiceAction
{
Name = "GetProtocolInfo"
};
action.ArgumentList.Add(new Argument
{
Name = "Source",
Direction = "out",
RelatedStateVariable = "SourceProtocolInfo"
});
action.ArgumentList.Add(new Argument
{
Name = "Sink",
Direction = "out",
RelatedStateVariable = "SinkProtocolInfo"
});
return action;
}
/// <summary>
/// Returns the action details for "GetCurrentConnectionIDs".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetCurrentConnectionIDs()
{
var action = new ServiceAction
{
Name = "GetCurrentConnectionIDs"
};
action.ArgumentList.Add(new Argument
{
Name = "ConnectionIDs",
Direction = "out",
RelatedStateVariable = "CurrentConnectionIDs"
});
return action;
}
/// <summary>
/// Returns the action details for "ConnectionComplete".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction ConnectionComplete()
{
var action = new ServiceAction
{
Name = "ConnectionComplete"
};
action.ArgumentList.Add(new Argument
{
Name = "ConnectionID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
});
return action;
}
}
}

View File

@@ -1,176 +0,0 @@
#pragma warning disable CS1591
using System;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using Emby.Dlna.Service;
using Jellyfin.Data.Entities;
using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.TV;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Globalization;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ContentDirectory
{
/// <summary>
/// Defines the <see cref="ContentDirectoryService" />.
/// </summary>
public class ContentDirectoryService : BaseService, IContentDirectory
{
private readonly ILibraryManager _libraryManager;
private readonly IImageProcessor _imageProcessor;
private readonly IUserDataManager _userDataManager;
private readonly IDlnaManager _dlna;
private readonly IServerConfigurationManager _config;
private readonly IUserManager _userManager;
private readonly ILocalizationManager _localization;
private readonly IMediaSourceManager _mediaSourceManager;
private readonly IUserViewManager _userViewManager;
private readonly IMediaEncoder _mediaEncoder;
private readonly ITVSeriesManager _tvSeriesManager;
/// <summary>
/// Initializes a new instance of the <see cref="ContentDirectoryService"/> class.
/// </summary>
/// <param name="dlna">The <see cref="IDlnaManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="userDataManager">The <see cref="IUserDataManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="imageProcessor">The <see cref="IImageProcessor"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="libraryManager">The <see cref="ILibraryManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="config">The <see cref="IServerConfigurationManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="userManager">The <see cref="IUserManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="logger">The <see cref="ILogger{ContentDirectoryService}"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="httpClient">The <see cref="IHttpClientFactory"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="localization">The <see cref="ILocalizationManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="mediaSourceManager">The <see cref="IMediaSourceManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="userViewManager">The <see cref="IUserViewManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="mediaEncoder">The <see cref="IMediaEncoder"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
/// <param name="tvSeriesManager">The <see cref="ITVSeriesManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
public ContentDirectoryService(
IDlnaManager dlna,
IUserDataManager userDataManager,
IImageProcessor imageProcessor,
ILibraryManager libraryManager,
IServerConfigurationManager config,
IUserManager userManager,
ILogger<ContentDirectoryService> logger,
IHttpClientFactory httpClient,
ILocalizationManager localization,
IMediaSourceManager mediaSourceManager,
IUserViewManager userViewManager,
IMediaEncoder mediaEncoder,
ITVSeriesManager tvSeriesManager)
: base(logger, httpClient)
{
_dlna = dlna;
_userDataManager = userDataManager;
_imageProcessor = imageProcessor;
_libraryManager = libraryManager;
_config = config;
_userManager = userManager;
_localization = localization;
_mediaSourceManager = mediaSourceManager;
_userViewManager = userViewManager;
_mediaEncoder = mediaEncoder;
_tvSeriesManager = tvSeriesManager;
}
/// <summary>
/// Gets the system id. (A unique id which changes on when our definition changes.)
/// </summary>
private static int SystemUpdateId
{
get
{
var now = DateTime.UtcNow;
return now.Year + now.DayOfYear + now.Hour;
}
}
/// <inheritdoc />
public string GetServiceXml()
{
return ContentDirectoryXmlBuilder.GetXml();
}
/// <inheritdoc />
public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
{
if (request == null)
{
throw new ArgumentNullException(nameof(request));
}
var profile = _dlna.GetProfile(request.Headers) ?? _dlna.GetDefaultProfile();
var serverAddress = request.RequestedUrl.Substring(0, request.RequestedUrl.IndexOf("/dlna", StringComparison.OrdinalIgnoreCase));
var user = GetUser(profile);
return new ControlHandler(
Logger,
_libraryManager,
profile,
serverAddress,
null,
_imageProcessor,
_userDataManager,
user,
SystemUpdateId,
_config,
_localization,
_mediaSourceManager,
_userViewManager,
_mediaEncoder,
_tvSeriesManager)
.ProcessControlRequestAsync(request);
}
/// <summary>
/// Get the user stored in the device profile.
/// </summary>
/// <param name="profile">The <see cref="DeviceProfile"/>.</param>
/// <returns>The <see cref="User"/>.</returns>
private User? GetUser(DeviceProfile profile)
{
if (!string.IsNullOrEmpty(profile.UserId))
{
var user = _userManager.GetUserById(Guid.Parse(profile.UserId));
if (user != null)
{
return user;
}
}
var userId = _config.GetDlnaConfiguration().DefaultUserId;
if (!string.IsNullOrEmpty(userId))
{
var user = _userManager.GetUserById(Guid.Parse(userId));
if (user != null)
{
return user;
}
}
foreach (var user in _userManager.Users)
{
if (user.HasPermission(PermissionKind.IsAdministrator))
{
return user;
}
}
return _userManager.Users.FirstOrDefault();
}
}
}

View File

@@ -1,161 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
using Emby.Dlna.Service;
namespace Emby.Dlna.ContentDirectory
{
/// <summary>
/// Defines the <see cref="ContentDirectoryXmlBuilder" />.
/// </summary>
public static class ContentDirectoryXmlBuilder
{
/// <summary>
/// Gets the ContentDirectory:1 service template.
/// See http://upnp.org/specs/av/UPnP-av-ContentDirectory-v1-Service.pdf.
/// </summary>
/// <returns>An XML description of this service.</returns>
public static string GetXml()
{
return new ServiceXmlBuilder().GetXml(ServiceActionListBuilder.GetActions(), GetStateVariables());
}
/// <summary>
/// Get the list of state variables for this invocation.
/// </summary>
/// <returns>The <see cref="IEnumerable{StateVariable}"/>.</returns>
private static IEnumerable<StateVariable> GetStateVariables()
{
var list = new List<StateVariable>
{
new StateVariable
{
Name = "A_ARG_TYPE_Filter",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_SortCriteria",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_Index",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_Count",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_UpdateID",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "SearchCapabilities",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "SortCapabilities",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "SystemUpdateID",
DataType = "ui4",
SendsEvents = true
},
new StateVariable
{
Name = "A_ARG_TYPE_SearchCriteria",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_ObjectID",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_BrowseFlag",
DataType = "string",
SendsEvents = false,
AllowedValues = new[]
{
"BrowseMetadata",
"BrowseDirectChildren"
}
},
new StateVariable
{
Name = "A_ARG_TYPE_BrowseLetter",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_CategoryType",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_RID",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_PosSec",
DataType = "ui4",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_Featurelist",
DataType = "string",
SendsEvents = false
}
};
return list;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,39 +0,0 @@
using MediaBrowser.Controller.Entities;
namespace Emby.Dlna.ContentDirectory
{
/// <summary>
/// Defines the <see cref="ServerItem" />.
/// </summary>
internal class ServerItem
{
/// <summary>
/// Initializes a new instance of the <see cref="ServerItem"/> class.
/// </summary>
/// <param name="item">The <see cref="BaseItem"/>.</param>
/// <param name="stubType">The stub type.</param>
public ServerItem(BaseItem item, StubType? stubType)
{
Item = item;
if (stubType.HasValue)
{
StubType = stubType;
}
else if (item is IItemByName and not Folder)
{
StubType = Dlna.ContentDirectory.StubType.Folder;
}
}
/// <summary>
/// Gets the underlying base item.
/// </summary>
public BaseItem Item { get; }
/// <summary>
/// Gets the DLNA item type.
/// </summary>
public StubType? StubType { get; }
}
}

View File

@@ -1,415 +0,0 @@
using System.Collections.Generic;
using Emby.Dlna.Common;
namespace Emby.Dlna.ContentDirectory
{
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
/// <summary>
/// Returns a list of services that this instance provides.
/// </summary>
/// <returns>An <see cref="IEnumerable{ServiceAction}"/>.</returns>
public static IEnumerable<ServiceAction> GetActions()
{
return new[]
{
GetSearchCapabilitiesAction(),
GetSortCapabilitiesAction(),
GetGetSystemUpdateIDAction(),
GetBrowseAction(),
GetSearchAction(),
GetX_GetFeatureListAction(),
GetXSetBookmarkAction(),
GetBrowseByLetterAction()
};
}
/// <summary>
/// Returns the action details for "GetSystemUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetSystemUpdateIDAction()
{
var action = new ServiceAction
{
Name = "GetSystemUpdateID"
};
action.ArgumentList.Add(new Argument
{
Name = "Id",
Direction = "out",
RelatedStateVariable = "SystemUpdateID"
});
return action;
}
/// <summary>
/// Returns the action details for "GetSearchCapabilities".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSearchCapabilitiesAction()
{
var action = new ServiceAction
{
Name = "GetSearchCapabilities"
};
action.ArgumentList.Add(new Argument
{
Name = "SearchCaps",
Direction = "out",
RelatedStateVariable = "SearchCapabilities"
});
return action;
}
/// <summary>
/// Returns the action details for "GetSortCapabilities".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSortCapabilitiesAction()
{
var action = new ServiceAction
{
Name = "GetSortCapabilities"
};
action.ArgumentList.Add(new Argument
{
Name = "SortCaps",
Direction = "out",
RelatedStateVariable = "SortCapabilities"
});
return action;
}
/// <summary>
/// Returns the action details for "X_GetFeatureList".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetX_GetFeatureListAction()
{
var action = new ServiceAction
{
Name = "X_GetFeatureList"
};
action.ArgumentList.Add(new Argument
{
Name = "FeatureList",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Featurelist"
});
return action;
}
/// <summary>
/// Returns the action details for "Search".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSearchAction()
{
var action = new ServiceAction
{
Name = "Search"
};
action.ArgumentList.Add(new Argument
{
Name = "ContainerID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ObjectID"
});
action.ArgumentList.Add(new Argument
{
Name = "SearchCriteria",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_SearchCriteria"
});
action.ArgumentList.Add(new Argument
{
Name = "Filter",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Filter"
});
action.ArgumentList.Add(new Argument
{
Name = "StartingIndex",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Index"
});
action.ArgumentList.Add(new Argument
{
Name = "RequestedCount",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "SortCriteria",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
});
action.ArgumentList.Add(new Argument
{
Name = "Result",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Result"
});
action.ArgumentList.Add(new Argument
{
Name = "NumberReturned",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "TotalMatches",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "UpdateID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_UpdateID"
});
return action;
}
/// <summary>
/// Returns the action details for "Browse".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetBrowseAction()
{
var action = new ServiceAction
{
Name = "Browse"
};
action.ArgumentList.Add(new Argument
{
Name = "ObjectID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ObjectID"
});
action.ArgumentList.Add(new Argument
{
Name = "BrowseFlag",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_BrowseFlag"
});
action.ArgumentList.Add(new Argument
{
Name = "Filter",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Filter"
});
action.ArgumentList.Add(new Argument
{
Name = "StartingIndex",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Index"
});
action.ArgumentList.Add(new Argument
{
Name = "RequestedCount",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "SortCriteria",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
});
action.ArgumentList.Add(new Argument
{
Name = "Result",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Result"
});
action.ArgumentList.Add(new Argument
{
Name = "NumberReturned",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "TotalMatches",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "UpdateID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_UpdateID"
});
return action;
}
/// <summary>
/// Returns the action details for "X_BrowseByLetter".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetBrowseByLetterAction()
{
var action = new ServiceAction
{
Name = "X_BrowseByLetter"
};
action.ArgumentList.Add(new Argument
{
Name = "ObjectID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ObjectID"
});
action.ArgumentList.Add(new Argument
{
Name = "BrowseFlag",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_BrowseFlag"
});
action.ArgumentList.Add(new Argument
{
Name = "Filter",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Filter"
});
action.ArgumentList.Add(new Argument
{
Name = "StartingLetter",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_BrowseLetter"
});
action.ArgumentList.Add(new Argument
{
Name = "RequestedCount",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "SortCriteria",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
});
action.ArgumentList.Add(new Argument
{
Name = "Result",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Result"
});
action.ArgumentList.Add(new Argument
{
Name = "NumberReturned",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "TotalMatches",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Count"
});
action.ArgumentList.Add(new Argument
{
Name = "UpdateID",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_UpdateID"
});
action.ArgumentList.Add(new Argument
{
Name = "StartingIndex",
Direction = "out",
RelatedStateVariable = "A_ARG_TYPE_Index"
});
return action;
}
/// <summary>
/// Returns the action details for "X_SetBookmark".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetXSetBookmarkAction()
{
var action = new ServiceAction
{
Name = "X_SetBookmark"
};
action.ArgumentList.Add(new Argument
{
Name = "CategoryType",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_CategoryType"
});
action.ArgumentList.Add(new Argument
{
Name = "RID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_RID"
});
action.ArgumentList.Add(new Argument
{
Name = "ObjectID",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_ObjectID"
});
action.ArgumentList.Add(new Argument
{
Name = "PosSecond",
Direction = "in",
RelatedStateVariable = "A_ARG_TYPE_PosSec"
});
return action;
}
}
}

View File

@@ -1,30 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna.ContentDirectory
{
/// <summary>
/// Defines the DLNA item types.
/// </summary>
public enum StubType
{
Folder = 0,
Latest = 2,
Playlists = 3,
Albums = 4,
AlbumArtists = 5,
Artists = 6,
Songs = 7,
Genres = 8,
FavoriteSongs = 9,
FavoriteArtists = 10,
FavoriteAlbums = 11,
ContinueWatching = 12,
Movies = 13,
Collections = 14,
Favorites = 15,
NextUp = 16,
Series = 17,
FavoriteSeries = 18,
FavoriteEpisodes = 19
}
}

View File

@@ -1,25 +0,0 @@
#nullable disable
#pragma warning disable CS1591
using System.IO;
using Microsoft.AspNetCore.Http;
namespace Emby.Dlna
{
public class ControlRequest
{
public ControlRequest(IHeaderDictionary headers)
{
Headers = headers;
}
public IHeaderDictionary Headers { get; }
public Stream InputXml { get; set; }
public string TargetServerUuId { get; set; }
public string RequestedUrl { get; set; }
}
}

View File

@@ -1,28 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
namespace Emby.Dlna
{
public class ControlResponse
{
public ControlResponse(string xml, bool isSuccessful)
{
Headers = new Dictionary<string, string>();
Xml = xml;
IsSuccessful = isSuccessful;
}
public IDictionary<string, string> Headers { get; }
public string Xml { get; set; }
public bool IsSuccessful { get; set; }
/// <inheritdoc />
public override string ToString()
{
return Xml;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +0,0 @@
#pragma warning disable CS1591
using System;
namespace Emby.Dlna.Didl
{
public class Filter
{
private readonly string[] _fields;
private readonly bool _all;
public Filter()
: this("*")
{
}
public Filter(string filter)
{
_all = string.Equals(filter, "*", StringComparison.OrdinalIgnoreCase);
_fields = filter.Split(',', StringSplitOptions.RemoveEmptyEntries);
}
public bool Contains(string field)
{
return _all || Array.Exists(_fields, x => x.Equals(field, StringComparison.OrdinalIgnoreCase));
}
}
}

View File

@@ -1,58 +0,0 @@
#pragma warning disable CS1591
#pragma warning disable CA1305
using System;
using System.IO;
using System.Text;
namespace Emby.Dlna.Didl
{
public class StringWriterWithEncoding : StringWriter
{
private readonly Encoding? _encoding;
public StringWriterWithEncoding()
{
}
public StringWriterWithEncoding(IFormatProvider formatProvider)
: base(formatProvider)
{
}
public StringWriterWithEncoding(StringBuilder sb)
: base(sb)
{
}
public StringWriterWithEncoding(StringBuilder sb, IFormatProvider formatProvider)
: base(sb, formatProvider)
{
}
public StringWriterWithEncoding(Encoding encoding)
{
_encoding = encoding;
}
public StringWriterWithEncoding(IFormatProvider formatProvider, Encoding encoding)
: base(formatProvider)
{
_encoding = encoding;
}
public StringWriterWithEncoding(StringBuilder sb, Encoding encoding)
: base(sb)
{
_encoding = encoding;
}
public StringWriterWithEncoding(StringBuilder sb, IFormatProvider formatProvider, Encoding encoding)
: base(sb, formatProvider)
{
_encoding = encoding;
}
public override Encoding Encoding => _encoding ?? base.Encoding;
}
}

View File

@@ -1,23 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Configuration;
using MediaBrowser.Common.Configuration;
namespace Emby.Dlna
{
public class DlnaConfigurationFactory : IConfigurationFactory
{
public IEnumerable<ConfigurationStore> GetConfigurations()
{
return new[]
{
new ConfigurationStore
{
Key = "dlna",
ConfigurationType = typeof(DlnaOptions)
}
};
}
}
}

View File

@@ -1,567 +0,0 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Emby.Dlna.Profiles;
using Emby.Dlna.Server;
using Jellyfin.Extensions.Json;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Primitives;
namespace Emby.Dlna
{
public class DlnaManager : IDlnaManager
{
private readonly IApplicationPaths _appPaths;
private readonly IXmlSerializer _xmlSerializer;
private readonly IFileSystem _fileSystem;
private readonly ILogger<DlnaManager> _logger;
private readonly IServerApplicationHost _appHost;
private static readonly Assembly _assembly = typeof(DlnaManager).Assembly;
private readonly JsonSerializerOptions _jsonOptions = JsonDefaults.Options;
private readonly Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>> _profiles = new Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>>(StringComparer.Ordinal);
public DlnaManager(
IXmlSerializer xmlSerializer,
IFileSystem fileSystem,
IApplicationPaths appPaths,
ILoggerFactory loggerFactory,
IServerApplicationHost appHost)
{
_xmlSerializer = xmlSerializer;
_fileSystem = fileSystem;
_appPaths = appPaths;
_logger = loggerFactory.CreateLogger<DlnaManager>();
_appHost = appHost;
}
private string UserProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user");
private string SystemProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system");
public async Task InitProfilesAsync()
{
try
{
await ExtractSystemProfilesAsync().ConfigureAwait(false);
LoadProfiles();
}
catch (Exception ex)
{
_logger.LogError(ex, "Error extracting DLNA profiles.");
}
}
private void LoadProfiles()
{
var list = GetProfiles(UserProfilesPath, DeviceProfileType.User)
.OrderBy(i => i.Name)
.ToList();
list.AddRange(GetProfiles(SystemProfilesPath, DeviceProfileType.System)
.OrderBy(i => i.Name));
}
public IEnumerable<DeviceProfile> GetProfiles()
{
lock (_profiles)
{
return _profiles.Values
.OrderBy(i => i.Item1.Info.Type == DeviceProfileType.User ? 0 : 1)
.ThenBy(i => i.Item1.Info.Name)
.Select(i => i.Item2)
.ToList();
}
}
/// <inheritdoc />
public DeviceProfile GetDefaultProfile()
{
return new DefaultProfile();
}
/// <inheritdoc />
public DeviceProfile? GetProfile(DeviceIdentification deviceInfo)
{
if (deviceInfo == null)
{
throw new ArgumentNullException(nameof(deviceInfo));
}
var profile = GetProfiles()
.FirstOrDefault(i => i.Identification != null && IsMatch(deviceInfo, i.Identification));
if (profile == null)
{
_logger.LogInformation("No matching device profile found. The default will need to be used. \n{@Profile}", deviceInfo);
}
else
{
_logger.LogDebug("Found matching device profile: {ProfileName}", profile.Name);
}
return profile;
}
/// <summary>
/// Attempts to match a device with a profile.
/// Rules:
/// - If the profile field has no value, the field matches irregardless of its contents.
/// - the profile field can be an exact match, or a reg exp.
/// </summary>
/// <param name="deviceInfo">The <see cref="DeviceIdentification"/> of the device.</param>
/// <param name="profileInfo">The <see cref="DeviceIdentification"/> of the profile.</param>
/// <returns><b>True</b> if they match.</returns>
public bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
{
return IsRegexOrSubstringMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName)
&& IsRegexOrSubstringMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)
&& IsRegexOrSubstringMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl)
&& IsRegexOrSubstringMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription)
&& IsRegexOrSubstringMatch(deviceInfo.ModelName, profileInfo.ModelName)
&& IsRegexOrSubstringMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber)
&& IsRegexOrSubstringMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl)
&& IsRegexOrSubstringMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber);
}
private bool IsRegexOrSubstringMatch(string input, string pattern)
{
if (string.IsNullOrEmpty(pattern))
{
// In profile identification: An empty pattern matches anything.
return true;
}
if (string.IsNullOrEmpty(input))
{
// The profile contains a value, and the device doesn't.
return false;
}
try
{
return input.Equals(pattern, StringComparison.OrdinalIgnoreCase)
|| Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
}
catch (ArgumentException ex)
{
_logger.LogError(ex, "Error evaluating regex pattern {Pattern}", pattern);
return false;
}
}
/// <inheritdoc />
public DeviceProfile? GetProfile(IHeaderDictionary headers)
{
if (headers == null)
{
throw new ArgumentNullException(nameof(headers));
}
var profile = GetProfiles().FirstOrDefault(i => i.Identification != null && IsMatch(headers, i.Identification));
if (profile == null)
{
_logger.LogDebug("No matching device profile found. {@Headers}", headers);
}
else
{
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
}
return profile;
}
private bool IsMatch(IHeaderDictionary headers, DeviceIdentification profileInfo)
{
return profileInfo.Headers.Any(i => IsMatch(headers, i));
}
private bool IsMatch(IHeaderDictionary headers, HttpHeaderInfo header)
{
// Handle invalid user setup
if (string.IsNullOrEmpty(header.Name))
{
return false;
}
if (headers.TryGetValue(header.Name, out StringValues value))
{
switch (header.Match)
{
case HeaderMatchType.Equals:
return string.Equals(value, header.Value, StringComparison.OrdinalIgnoreCase);
case HeaderMatchType.Substring:
var isMatch = value.ToString().IndexOf(header.Value, StringComparison.OrdinalIgnoreCase) != -1;
// _logger.LogDebug("IsMatch-Substring value: {0} testValue: {1} isMatch: {2}", value, header.Value, isMatch);
return isMatch;
case HeaderMatchType.Regex:
return Regex.IsMatch(value, header.Value, RegexOptions.IgnoreCase);
default:
throw new ArgumentException("Unrecognized HeaderMatchType");
}
}
return false;
}
private IEnumerable<DeviceProfile> GetProfiles(string path, DeviceProfileType type)
{
try
{
return _fileSystem.GetFilePaths(path)
.Where(i => string.Equals(Path.GetExtension(i), ".xml", StringComparison.OrdinalIgnoreCase))
.Select(i => ParseProfileFile(i, type))
.Where(i => i != null)
.ToList()!; // We just filtered out all the nulls
}
catch (IOException)
{
return Array.Empty<DeviceProfile>();
}
}
private DeviceProfile? ParseProfileFile(string path, DeviceProfileType type)
{
lock (_profiles)
{
if (_profiles.TryGetValue(path, out Tuple<InternalProfileInfo, DeviceProfile>? profileTuple))
{
return profileTuple.Item2;
}
try
{
var tempProfile = (DeviceProfile)_xmlSerializer.DeserializeFromFile(typeof(DeviceProfile), path);
var profile = ReserializeProfile(tempProfile);
profile.Id = path.ToLowerInvariant().GetMD5().ToString("N", CultureInfo.InvariantCulture);
_profiles[path] = new Tuple<InternalProfileInfo, DeviceProfile>(GetInternalProfileInfo(_fileSystem.GetFileInfo(path), type), profile);
return profile;
}
catch (Exception ex)
{
_logger.LogError(ex, "Error parsing profile file: {Path}", path);
return null;
}
}
}
/// <inheritdoc />
public DeviceProfile? GetProfile(string id)
{
if (string.IsNullOrEmpty(id))
{
throw new ArgumentNullException(nameof(id));
}
var info = GetProfileInfosInternal().FirstOrDefault(i => string.Equals(i.Info.Id, id, StringComparison.OrdinalIgnoreCase));
if (info == null)
{
return null;
}
return ParseProfileFile(info.Path, info.Info.Type);
}
private IEnumerable<InternalProfileInfo> GetProfileInfosInternal()
{
lock (_profiles)
{
return _profiles.Values
.Select(i => i.Item1)
.OrderBy(i => i.Info.Type == DeviceProfileType.User ? 0 : 1)
.ThenBy(i => i.Info.Name);
}
}
/// <inheritdoc />
public IEnumerable<DeviceProfileInfo> GetProfileInfos()
{
return GetProfileInfosInternal().Select(i => i.Info);
}
private InternalProfileInfo GetInternalProfileInfo(FileSystemMetadata file, DeviceProfileType type)
{
return new InternalProfileInfo(
new DeviceProfileInfo
{
Id = file.FullName.ToLowerInvariant().GetMD5().ToString("N", CultureInfo.InvariantCulture),
Name = _fileSystem.GetFileNameWithoutExtension(file),
Type = type
},
file.FullName);
}
private async Task ExtractSystemProfilesAsync()
{
var namespaceName = GetType().Namespace + ".Profiles.Xml.";
var systemProfilesPath = SystemProfilesPath;
foreach (var name in _assembly.GetManifestResourceNames())
{
if (!name.StartsWith(namespaceName, StringComparison.Ordinal))
{
continue;
}
var path = Path.Join(
systemProfilesPath,
Path.GetFileName(name.AsSpan()).Slice(namespaceName.Length));
// The stream should exist as we just got its name from GetManifestResourceNames
using (var stream = _assembly.GetManifestResourceStream(name)!)
{
var length = stream.Length;
var fileInfo = _fileSystem.GetFileInfo(path);
if (!fileInfo.Exists || fileInfo.Length != length)
{
Directory.CreateDirectory(systemProfilesPath);
var fileOptions = AsyncFile.WriteOptions;
fileOptions.Mode = FileMode.Create;
fileOptions.PreallocationSize = length;
var fileStream = new FileStream(path, fileOptions);
await using (fileStream.ConfigureAwait(false))
{
await stream.CopyToAsync(fileStream).ConfigureAwait(false);
}
}
}
}
// Not necessary, but just to make it easy to find
Directory.CreateDirectory(UserProfilesPath);
}
/// <inheritdoc />
public void DeleteProfile(string id)
{
var info = GetProfileInfosInternal().First(i => string.Equals(id, i.Info.Id, StringComparison.OrdinalIgnoreCase));
if (info.Info.Type == DeviceProfileType.System)
{
throw new ArgumentException("System profiles cannot be deleted.");
}
_fileSystem.DeleteFile(info.Path);
lock (_profiles)
{
_profiles.Remove(info.Path);
}
}
/// <inheritdoc />
public void CreateProfile(DeviceProfile profile)
{
profile = ReserializeProfile(profile);
if (string.IsNullOrEmpty(profile.Name))
{
throw new ArgumentException("Profile is missing Name");
}
var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".xml";
var path = Path.Combine(UserProfilesPath, newFilename);
SaveProfile(profile, path, DeviceProfileType.User);
}
/// <inheritdoc />
public void UpdateProfile(string profileId, DeviceProfile profile)
{
profile = ReserializeProfile(profile);
if (string.IsNullOrEmpty(profile.Id))
{
throw new ArgumentException("Profile is missing Id");
}
if (string.IsNullOrEmpty(profile.Name))
{
throw new ArgumentException("Profile is missing Name");
}
var current = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, profileId, StringComparison.OrdinalIgnoreCase));
var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".xml";
var path = Path.Combine(UserProfilesPath, newFilename);
if (!string.Equals(path, current.Path, StringComparison.Ordinal) &&
current.Info.Type != DeviceProfileType.System)
{
_fileSystem.DeleteFile(current.Path);
}
SaveProfile(profile, path, DeviceProfileType.User);
}
private void SaveProfile(DeviceProfile profile, string path, DeviceProfileType type)
{
lock (_profiles)
{
_profiles[path] = new Tuple<InternalProfileInfo, DeviceProfile>(GetInternalProfileInfo(_fileSystem.GetFileInfo(path), type), profile);
}
SerializeToXml(profile, path);
}
internal void SerializeToXml(DeviceProfile profile, string path)
{
_xmlSerializer.SerializeToFile(profile, path);
}
/// <summary>
/// Recreates the object using serialization, to ensure it's not a subclass.
/// If it's a subclass it may not serialize properly to xml (different root element tag name).
/// </summary>
/// <param name="profile">The device profile.</param>
/// <returns>The re-serialized device profile.</returns>
private DeviceProfile ReserializeProfile(DeviceProfile profile)
{
if (profile.GetType() == typeof(DeviceProfile))
{
return profile;
}
var json = JsonSerializer.Serialize(profile, _jsonOptions);
// Output can't be null if the input isn't null
return JsonSerializer.Deserialize<DeviceProfile>(json, _jsonOptions)!;
}
/// <inheritdoc />
public string GetServerDescriptionXml(IHeaderDictionary headers, string serverUuId, string serverAddress)
{
var profile = GetProfile(headers) ?? GetDefaultProfile();
var serverId = _appHost.SystemId;
return new DescriptionXmlBuilder(profile, serverUuId, serverAddress, _appHost.FriendlyName, serverId).GetXml();
}
/// <inheritdoc />
public ImageStream? GetIcon(string filename)
{
var format = filename.EndsWith(".png", StringComparison.OrdinalIgnoreCase)
? ImageFormat.Png
: ImageFormat.Jpg;
var resource = GetType().Namespace + ".Images." + filename.ToLowerInvariant();
var stream = _assembly.GetManifestResourceStream(resource);
if (stream == null)
{
return null;
}
return new ImageStream(stream)
{
Format = format
};
}
private class InternalProfileInfo
{
internal InternalProfileInfo(DeviceProfileInfo info, string path)
{
Info = info;
Path = path;
}
internal DeviceProfileInfo Info { get; }
internal string Path { get; }
}
}
/*
class DlnaProfileEntryPoint : IServerEntryPoint
{
private readonly IApplicationPaths _appPaths;
private readonly IFileSystem _fileSystem;
private readonly IXmlSerializer _xmlSerializer;
public DlnaProfileEntryPoint(IApplicationPaths appPaths, IFileSystem fileSystem, IXmlSerializer xmlSerializer)
{
_appPaths = appPaths;
_fileSystem = fileSystem;
_xmlSerializer = xmlSerializer;
}
public void Run()
{
DumpProfiles();
}
private void DumpProfiles()
{
DeviceProfile[] list = new[]
{
new SamsungSmartTvProfile(),
new XboxOneProfile(),
new SonyPs3Profile(),
new SonyPs4Profile(),
new SonyBravia2010Profile(),
new SonyBravia2011Profile(),
new SonyBravia2012Profile(),
new SonyBravia2013Profile(),
new SonyBravia2014Profile(),
new SonyBlurayPlayer2013(),
new SonyBlurayPlayer2014(),
new SonyBlurayPlayer2015(),
new SonyBlurayPlayer2016(),
new SonyBlurayPlayerProfile(),
new PanasonicVieraProfile(),
new WdtvLiveProfile(),
new DenonAvrProfile(),
new LinksysDMA2100Profile(),
new LgTvProfile(),
new Foobar2000Profile(),
new SharpSmartTvProfile(),
new MediaMonkeyProfile(),
// new Windows81Profile(),
// new WindowsMediaCenterProfile(),
// new WindowsPhoneProfile(),
new DirectTvProfile(),
new DishHopperJoeyProfile(),
new DefaultProfile(),
new PopcornHourProfile(),
new MarantzProfile()
};
foreach (var item in list)
{
var path = Path.Combine(_appPaths.ProgramDataPath, _fileSystem.GetValidFilename(item.Name) + ".xml");
_xmlSerializer.SerializeToFile(item, path);
}
}
public void Dispose()
{
}
}*/
}

View File

@@ -1,86 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<!-- ProjectGuid is only included as a requirement for SonarQube analysis -->
<PropertyGroup>
<ProjectGuid>{805844AB-E92F-45E6-9D99-4F6D48D129A5}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\SharedVersion.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
<ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
<ProjectReference Include="..\RSSDP\RSSDP.csproj" />
</ItemGroup>
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Code Analyzers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.406" PrivateAssets="All" />
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Images\logo120.jpg" />
<EmbeddedResource Include="Images\logo120.png" />
<EmbeddedResource Include="Images\logo240.jpg" />
<EmbeddedResource Include="Images\logo240.png" />
<EmbeddedResource Include="Images\logo48.jpg" />
<EmbeddedResource Include="Images\logo48.png" />
<EmbeddedResource Include="Images\people48.jpg" />
<EmbeddedResource Include="Images\people48.png" />
<EmbeddedResource Include="Images\people480.jpg" />
<EmbeddedResource Include="Images\people480.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Profiles\Xml\Default.xml" />
<EmbeddedResource Include="Profiles\Xml\Denon AVR.xml" />
<EmbeddedResource Include="Profiles\Xml\DirecTV HD-DVR.xml" />
<EmbeddedResource Include="Profiles\Xml\Dish Hopper-Joey.xml" />
<EmbeddedResource Include="Profiles\Xml\foobar2000.xml" />
<EmbeddedResource Include="Profiles\Xml\LG Smart TV.xml" />
<EmbeddedResource Include="Profiles\Xml\Linksys DMA2100.xml" />
<EmbeddedResource Include="Profiles\Xml\Marantz.xml" />
<EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" />
<EmbeddedResource Include="Profiles\Xml\Panasonic Viera.xml" />
<EmbeddedResource Include="Profiles\Xml\Popcorn Hour.xml" />
<EmbeddedResource Include="Profiles\Xml\Samsung Smart TV.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2013.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2014.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2015.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2016.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282010%29.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282011%29.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282012%29.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282014%29.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" />
<EmbeddedResource Include="Profiles\Xml\Sony PlayStation 4.xml" />
<EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" />
<EmbeddedResource Include="Profiles\Xml\Xbox One.xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
</ItemGroup>
</Project>

View File

@@ -1,22 +0,0 @@
#pragma warning disable CS1591
using System.Collections.Generic;
namespace Emby.Dlna
{
public class EventSubscriptionResponse
{
public EventSubscriptionResponse(string content, string contentType)
{
Content = content;
ContentType = contentType;
Headers = new Dictionary<string, string>();
}
public string Content { get; set; }
public string ContentType { get; set; }
public Dictionary<string, string> Headers { get; }
}
}

View File

@@ -1,184 +0,0 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Net.Http;
using System.Net.Mime;
using System.Text;
using System.Threading.Tasks;
using Jellyfin.Extensions;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.Eventing
{
public class DlnaEventManager : IDlnaEventManager
{
private readonly ConcurrentDictionary<string, EventSubscription> _subscriptions =
new ConcurrentDictionary<string, EventSubscription>(StringComparer.OrdinalIgnoreCase);
private readonly ILogger _logger;
private readonly IHttpClientFactory _httpClientFactory;
public DlnaEventManager(ILogger logger, IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
_logger = logger;
}
public EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string notificationType, string requestedTimeoutString, string callbackUrl)
{
var subscription = GetSubscription(subscriptionId, false);
if (subscription != null)
{
subscription.TimeoutSeconds = ParseTimeout(requestedTimeoutString) ?? 300;
int timeoutSeconds = subscription.TimeoutSeconds;
subscription.SubscriptionTime = DateTime.UtcNow;
_logger.LogDebug(
"Renewing event subscription for {0} with timeout of {1} to {2}",
subscription.NotificationType,
timeoutSeconds,
subscription.CallbackUrl);
return GetEventSubscriptionResponse(subscriptionId, requestedTimeoutString, timeoutSeconds);
}
return new EventSubscriptionResponse(string.Empty, "text/plain");
}
public EventSubscriptionResponse CreateEventSubscription(string notificationType, string requestedTimeoutString, string callbackUrl)
{
var timeout = ParseTimeout(requestedTimeoutString) ?? 300;
var id = "uuid:" + Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
_logger.LogDebug(
"Creating event subscription for {0} with timeout of {1} to {2}",
notificationType,
timeout,
callbackUrl);
_subscriptions.TryAdd(id, new EventSubscription
{
Id = id,
CallbackUrl = callbackUrl,
SubscriptionTime = DateTime.UtcNow,
TimeoutSeconds = timeout,
NotificationType = notificationType
});
return GetEventSubscriptionResponse(id, requestedTimeoutString, timeout);
}
private int? ParseTimeout(string header)
{
if (!string.IsNullOrEmpty(header))
{
// Starts with SECOND-
if (int.TryParse(header.AsSpan().RightPart('-'), NumberStyles.Integer, CultureInfo.InvariantCulture, out var val))
{
return val;
}
}
return null;
}
public EventSubscriptionResponse CancelEventSubscription(string subscriptionId)
{
_logger.LogDebug("Cancelling event subscription {0}", subscriptionId);
_subscriptions.TryRemove(subscriptionId, out _);
return new EventSubscriptionResponse(string.Empty, "text/plain");
}
private EventSubscriptionResponse GetEventSubscriptionResponse(string subscriptionId, string requestedTimeoutString, int timeoutSeconds)
{
var response = new EventSubscriptionResponse(string.Empty, "text/plain");
response.Headers["SID"] = subscriptionId;
response.Headers["TIMEOUT"] = string.IsNullOrEmpty(requestedTimeoutString) ? ("SECOND-" + timeoutSeconds.ToString(CultureInfo.InvariantCulture)) : requestedTimeoutString;
return response;
}
public EventSubscription GetSubscription(string id)
{
return GetSubscription(id, false);
}
private EventSubscription GetSubscription(string id, bool throwOnMissing)
{
if (!_subscriptions.TryGetValue(id, out EventSubscription e) && throwOnMissing)
{
throw new ResourceNotFoundException("Event with Id " + id + " not found.");
}
return e;
}
public Task TriggerEvent(string notificationType, IDictionary<string, string> stateVariables)
{
var subs = _subscriptions.Values
.Where(i => !i.IsExpired && string.Equals(notificationType, i.NotificationType, StringComparison.OrdinalIgnoreCase))
.ToList();
var tasks = subs.Select(i => TriggerEvent(i, stateVariables));
return Task.WhenAll(tasks);
}
private async Task TriggerEvent(EventSubscription subscription, IDictionary<string, string> stateVariables)
{
var builder = new StringBuilder();
builder.Append("<?xml version=\"1.0\"?>");
builder.Append("<e:propertyset xmlns:e=\"urn:schemas-upnp-org:event-1-0\">");
foreach (var key in stateVariables.Keys)
{
builder.Append("<e:property>")
.Append('<')
.Append(key)
.Append('>')
.Append(stateVariables[key])
.Append("</")
.Append(key)
.Append('>')
.Append("</e:property>");
}
builder.Append("</e:propertyset>");
using var options = new HttpRequestMessage(new HttpMethod("NOTIFY"), subscription.CallbackUrl);
options.Content = new StringContent(builder.ToString(), Encoding.UTF8, MediaTypeNames.Text.Xml);
options.Headers.TryAddWithoutValidation("NT", subscription.NotificationType);
options.Headers.TryAddWithoutValidation("NTS", "upnp:propchange");
options.Headers.TryAddWithoutValidation("SID", subscription.Id);
options.Headers.TryAddWithoutValidation("SEQ", subscription.TriggerCount.ToString(CultureInfo.InvariantCulture));
try
{
using var response = await _httpClientFactory.CreateClient(NamedClient.Default)
.SendAsync(options, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
}
catch (OperationCanceledException)
{
}
catch
{
// Already logged at lower levels
}
finally
{
subscription.IncrementTriggerCount();
}
}
}
}

View File

@@ -1,35 +0,0 @@
#nullable disable
#pragma warning disable CS1591
using System;
namespace Emby.Dlna.Eventing
{
public class EventSubscription
{
public string Id { get; set; }
public string CallbackUrl { get; set; }
public string NotificationType { get; set; }
public DateTime SubscriptionTime { get; set; }
public int TimeoutSeconds { get; set; }
public long TriggerCount { get; set; }
public bool IsExpired => SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow;
public void IncrementTriggerCount()
{
if (TriggerCount == long.MaxValue)
{
TriggerCount = 0;
}
TriggerCount++;
}
}
}

View File

@@ -1,8 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna
{
public interface IConnectionManager : IDlnaEventManager, IUpnpService
{
}
}

View File

@@ -1,8 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna
{
public interface IContentDirectory : IDlnaEventManager, IUpnpService
{
}
}

View File

@@ -1,33 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna
{
public interface IDlnaEventManager
{
/// <summary>
/// Cancels the event subscription.
/// </summary>
/// <param name="subscriptionId">The subscription identifier.</param>
/// <returns>The response.</returns>
EventSubscriptionResponse CancelEventSubscription(string subscriptionId);
/// <summary>
/// Renews the event subscription.
/// </summary>
/// <param name="subscriptionId">The subscription identifier.</param>
/// <param name="notificationType">The notification type.</param>
/// <param name="requestedTimeoutString">The requested timeout as a sting.</param>
/// <param name="callbackUrl">The callback url.</param>
/// <returns>The response.</returns>
EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string notificationType, string requestedTimeoutString, string callbackUrl);
/// <summary>
/// Creates the event subscription.
/// </summary>
/// <param name="notificationType">The notification type.</param>
/// <param name="requestedTimeoutString">The requested timeout as a sting.</param>
/// <param name="callbackUrl">The callback url.</param>
/// <returns>The response.</returns>
EventSubscriptionResponse CreateEventSubscription(string notificationType, string requestedTimeoutString, string callbackUrl);
}
}

View File

@@ -1,8 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna
{
public interface IMediaReceiverRegistrar : IDlnaEventManager, IUpnpService
{
}
}

View File

@@ -1,22 +0,0 @@
#pragma warning disable CS1591
using System.Threading.Tasks;
namespace Emby.Dlna
{
public interface IUpnpService
{
/// <summary>
/// Gets the content directory XML.
/// </summary>
/// <returns>System.String.</returns>
string GetServiceXml();
/// <summary>
/// Processes the control request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>ControlResponse.</returns>
Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,474 +0,0 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Globalization;
using System.Linq;
using System.Net.Http;
using System.Net.Sockets;
using System.Threading.Tasks;
using Emby.Dlna.PlayTo;
using Emby.Dlna.Ssdp;
using Jellyfin.Networking.Configuration;
using Jellyfin.Networking.Manager;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.TV;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Net;
using Microsoft.Extensions.Logging;
using Rssdp;
using Rssdp.Infrastructure;
namespace Emby.Dlna.Main
{
public sealed class DlnaEntryPoint : IServerEntryPoint, IRunBeforeStartup
{
private readonly IServerConfigurationManager _config;
private readonly ILogger<DlnaEntryPoint> _logger;
private readonly IServerApplicationHost _appHost;
private readonly ISessionManager _sessionManager;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILibraryManager _libraryManager;
private readonly IUserManager _userManager;
private readonly IDlnaManager _dlnaManager;
private readonly IImageProcessor _imageProcessor;
private readonly IUserDataManager _userDataManager;
private readonly ILocalizationManager _localization;
private readonly IMediaSourceManager _mediaSourceManager;
private readonly IMediaEncoder _mediaEncoder;
private readonly IDeviceDiscovery _deviceDiscovery;
private readonly ISocketFactory _socketFactory;
private readonly INetworkManager _networkManager;
private readonly object _syncLock = new object();
private readonly bool _disabled;
private PlayToManager _manager;
private SsdpDevicePublisher _publisher;
private ISsdpCommunicationsServer _communicationsServer;
private bool _disposed;
public DlnaEntryPoint(
IServerConfigurationManager config,
ILoggerFactory loggerFactory,
IServerApplicationHost appHost,
ISessionManager sessionManager,
IHttpClientFactory httpClientFactory,
ILibraryManager libraryManager,
IUserManager userManager,
IDlnaManager dlnaManager,
IImageProcessor imageProcessor,
IUserDataManager userDataManager,
ILocalizationManager localizationManager,
IMediaSourceManager mediaSourceManager,
IDeviceDiscovery deviceDiscovery,
IMediaEncoder mediaEncoder,
ISocketFactory socketFactory,
INetworkManager networkManager,
IUserViewManager userViewManager,
ITVSeriesManager tvSeriesManager)
{
_config = config;
_appHost = appHost;
_sessionManager = sessionManager;
_httpClientFactory = httpClientFactory;
_libraryManager = libraryManager;
_userManager = userManager;
_dlnaManager = dlnaManager;
_imageProcessor = imageProcessor;
_userDataManager = userDataManager;
_localization = localizationManager;
_mediaSourceManager = mediaSourceManager;
_deviceDiscovery = deviceDiscovery;
_mediaEncoder = mediaEncoder;
_socketFactory = socketFactory;
_networkManager = networkManager;
_logger = loggerFactory.CreateLogger<DlnaEntryPoint>();
ContentDirectory = new ContentDirectory.ContentDirectoryService(
dlnaManager,
userDataManager,
imageProcessor,
libraryManager,
config,
userManager,
loggerFactory.CreateLogger<ContentDirectory.ContentDirectoryService>(),
httpClientFactory,
localizationManager,
mediaSourceManager,
userViewManager,
mediaEncoder,
tvSeriesManager);
ConnectionManager = new ConnectionManager.ConnectionManagerService(
dlnaManager,
config,
loggerFactory.CreateLogger<ConnectionManager.ConnectionManagerService>(),
httpClientFactory);
MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
loggerFactory.CreateLogger<MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
httpClientFactory,
config);
Current = this;
var netConfig = config.GetConfiguration<NetworkConfiguration>(NetworkConfigurationStore.StoreKey);
_disabled = appHost.ListenWithHttps && netConfig.RequireHttps;
if (_disabled && _config.GetDlnaConfiguration().EnableServer)
{
_logger.LogError("The DLNA specification does not support HTTPS.");
}
}
public static DlnaEntryPoint Current { get; private set; }
/// <summary>
/// Gets a value indicating whether the dlna server is enabled.
/// </summary>
public static bool Enabled { get; private set; }
public IContentDirectory ContentDirectory { get; private set; }
public IConnectionManager ConnectionManager { get; private set; }
public IMediaReceiverRegistrar MediaReceiverRegistrar { get; private set; }
public async Task RunAsync()
{
await ((DlnaManager)_dlnaManager).InitProfilesAsync().ConfigureAwait(false);
if (_disabled)
{
// No use starting as dlna won't work, as we're running purely on HTTPS.
return;
}
ReloadComponents();
_config.NamedConfigurationUpdated += OnNamedConfigurationUpdated;
}
private void OnNamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
{
if (string.Equals(e.Key, "dlna", StringComparison.OrdinalIgnoreCase))
{
ReloadComponents();
}
}
private void ReloadComponents()
{
var options = _config.GetDlnaConfiguration();
Enabled = options.EnableServer;
StartSsdpHandler();
if (options.EnableServer)
{
StartDevicePublisher(options);
}
else
{
DisposeDevicePublisher();
}
if (options.EnablePlayTo)
{
StartPlayToManager();
}
else
{
DisposePlayToManager();
}
}
private void StartSsdpHandler()
{
try
{
if (_communicationsServer == null)
{
var enableMultiSocketBinding = OperatingSystem.IsWindows() ||
OperatingSystem.IsLinux();
_communicationsServer = new SsdpCommunicationsServer(_socketFactory, _networkManager, _logger, enableMultiSocketBinding)
{
IsShared = true
};
StartDeviceDiscovery(_communicationsServer);
}
}
catch (Exception ex)
{
_logger.LogError(ex, "Error starting ssdp handlers");
}
}
private void StartDeviceDiscovery(ISsdpCommunicationsServer communicationsServer)
{
try
{
if (communicationsServer != null)
{
((DeviceDiscovery)_deviceDiscovery).Start(communicationsServer);
}
}
catch (Exception ex)
{
_logger.LogError(ex, "Error starting device discovery");
}
}
private void DisposeDeviceDiscovery()
{
try
{
_logger.LogInformation("Disposing DeviceDiscovery");
((DeviceDiscovery)_deviceDiscovery).Dispose();
}
catch (Exception ex)
{
_logger.LogError(ex, "Error stopping device discovery");
}
}
public void StartDevicePublisher(Configuration.DlnaOptions options)
{
if (!options.BlastAliveMessages)
{
return;
}
if (_publisher != null)
{
return;
}
try
{
_publisher = new SsdpDevicePublisher(
_communicationsServer,
MediaBrowser.Common.System.OperatingSystem.Name,
Environment.OSVersion.VersionString,
_config.GetDlnaConfiguration().SendOnlyMatchedHost)
{
LogFunction = (msg) => _logger.LogDebug("{Msg}", msg),
SupportPnpRootDevice = false
};
RegisterServerEndpoints();
_publisher.StartBroadcastingAliveMessages(TimeSpan.FromSeconds(options.BlastAliveMessageIntervalSeconds));
}
catch (Exception ex)
{
_logger.LogError(ex, "Error registering endpoint");
}
}
private void RegisterServerEndpoints()
{
var udn = CreateUuid(_appHost.SystemId);
var descriptorUri = "/dlna/" + udn + "/description.xml";
var bindAddresses = NetworkManager.CreateCollection(
_networkManager.GetInternalBindAddresses()
.Where(i => i.AddressFamily == AddressFamily.InterNetwork || (i.AddressFamily == AddressFamily.InterNetworkV6 && i.Address.ScopeId != 0)));
if (bindAddresses.Count == 0)
{
// No interfaces returned, so use loopback.
bindAddresses = _networkManager.GetLoopbacks();
}
foreach (IPNetAddress address in bindAddresses)
{
if (address.AddressFamily == AddressFamily.InterNetworkV6)
{
// Not supporting IPv6 right now
continue;
}
// Limit to LAN addresses only
if (!_networkManager.IsInLocalNetwork(address))
{
continue;
}
var fullService = "urn:schemas-upnp-org:device:MediaServer:1";
_logger.LogInformation("Registering publisher for {ResourceName} on {DeviceAddress}", fullService, address);
var uri = new UriBuilder(_appHost.GetApiUrlForLocalAccess(address, false) + descriptorUri);
var device = new SsdpRootDevice
{
CacheLifetime = TimeSpan.FromSeconds(1800), // How long SSDP clients can cache this info.
Location = uri.Uri, // Must point to the URL that serves your devices UPnP description document.
Address = address.Address,
PrefixLength = address.PrefixLength,
FriendlyName = "Jellyfin",
Manufacturer = "Jellyfin",
ModelName = "Jellyfin Server",
Uuid = udn
// This must be a globally unique value that survives reboots etc. Get from storage or embedded hardware etc.
};
SetProperies(device, fullService);
_publisher.AddDevice(device);
var embeddedDevices = new[]
{
"urn:schemas-upnp-org:service:ContentDirectory:1",
"urn:schemas-upnp-org:service:ConnectionManager:1",
// "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1"
};
foreach (var subDevice in embeddedDevices)
{
var embeddedDevice = new SsdpEmbeddedDevice
{
FriendlyName = device.FriendlyName,
Manufacturer = device.Manufacturer,
ModelName = device.ModelName,
Uuid = udn
// This must be a globally unique value that survives reboots etc. Get from storage or embedded hardware etc.
};
SetProperies(embeddedDevice, subDevice);
device.AddDevice(embeddedDevice);
}
}
}
private string CreateUuid(string text)
{
if (!Guid.TryParse(text, out var guid))
{
guid = text.GetMD5();
}
return guid.ToString("D", CultureInfo.InvariantCulture);
}
private void SetProperies(SsdpDevice device, string fullDeviceType)
{
var service = fullDeviceType.Replace("urn:", string.Empty, StringComparison.OrdinalIgnoreCase).Replace(":1", string.Empty, StringComparison.OrdinalIgnoreCase);
var serviceParts = service.Split(':');
var deviceTypeNamespace = serviceParts[0].Replace('.', '-');
device.DeviceTypeNamespace = deviceTypeNamespace;
device.DeviceClass = serviceParts[1];
device.DeviceType = serviceParts[2];
}
private void StartPlayToManager()
{
lock (_syncLock)
{
if (_manager != null)
{
return;
}
try
{
_manager = new PlayToManager(
_logger,
_sessionManager,
_libraryManager,
_userManager,
_dlnaManager,
_appHost,
_imageProcessor,
_deviceDiscovery,
_httpClientFactory,
_userDataManager,
_localization,
_mediaSourceManager,
_mediaEncoder);
_manager.Start();
}
catch (Exception ex)
{
_logger.LogError(ex, "Error starting PlayTo manager");
}
}
}
private void DisposePlayToManager()
{
lock (_syncLock)
{
if (_manager != null)
{
try
{
_logger.LogInformation("Disposing PlayToManager");
_manager.Dispose();
}
catch (Exception ex)
{
_logger.LogError(ex, "Error disposing PlayTo manager");
}
_manager = null;
}
}
}
public void DisposeDevicePublisher()
{
if (_publisher != null)
{
_logger.LogInformation("Disposing SsdpDevicePublisher");
_publisher.Dispose();
_publisher = null;
}
}
/// <inheritdoc />
public void Dispose()
{
if (_disposed)
{
return;
}
DisposeDevicePublisher();
DisposePlayToManager();
DisposeDeviceDiscovery();
if (_communicationsServer != null)
{
_logger.LogInformation("Disposing SsdpCommunicationsServer");
_communicationsServer.Dispose();
_communicationsServer = null;
}
ContentDirectory = null;
ConnectionManager = null;
MediaReceiverRegistrar = null;
Current = null;
_disposed = true;
}
}
}

View File

@@ -1,58 +0,0 @@
using System;
using System.Collections.Generic;
using System.Xml;
using Emby.Dlna.Service;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.MediaReceiverRegistrar
{
/// <summary>
/// Defines the <see cref="ControlHandler" />.
/// </summary>
public class ControlHandler : BaseControlHandler
{
/// <summary>
/// Initializes a new instance of the <see cref="ControlHandler"/> class.
/// </summary>
/// <param name="config">The <see cref="IServerConfigurationManager"/> for use with the <see cref="ControlHandler"/> instance.</param>
/// <param name="logger">The <see cref="ILogger"/> for use with the <see cref="ControlHandler"/> instance.</param>
public ControlHandler(IServerConfigurationManager config, ILogger logger)
: base(config, logger)
{
}
/// <inheritdoc />
protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
{
if (string.Equals(methodName, "IsAuthorized", StringComparison.OrdinalIgnoreCase))
{
HandleIsAuthorized(xmlWriter);
return;
}
if (string.Equals(methodName, "IsValidated", StringComparison.OrdinalIgnoreCase))
{
HandleIsValidated(xmlWriter);
return;
}
throw new ResourceNotFoundException("Unexpected control request name: " + methodName);
}
/// <summary>
/// Records that the handle is authorized in the xml stream.
/// </summary>
/// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
private static void HandleIsAuthorized(XmlWriter xmlWriter)
=> xmlWriter.WriteElementString("Result", "1");
/// <summary>
/// Records that the handle is validated in the xml stream.
/// </summary>
/// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
private static void HandleIsValidated(XmlWriter xmlWriter)
=> xmlWriter.WriteElementString("Result", "1");
}
}

View File

@@ -1,46 +0,0 @@
using System.Net.Http;
using System.Threading.Tasks;
using Emby.Dlna.Service;
using MediaBrowser.Controller.Configuration;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.MediaReceiverRegistrar
{
/// <summary>
/// Defines the <see cref="MediaReceiverRegistrarService" />.
/// </summary>
public class MediaReceiverRegistrarService : BaseService, IMediaReceiverRegistrar
{
private readonly IServerConfigurationManager _config;
/// <summary>
/// Initializes a new instance of the <see cref="MediaReceiverRegistrarService"/> class.
/// </summary>
/// <param name="logger">The <see cref="ILogger{MediaReceiverRegistrarService}"/> for use with the <see cref="MediaReceiverRegistrarService"/> instance.</param>
/// <param name="httpClientFactory">The <see cref="IHttpClientFactory"/> for use with the <see cref="MediaReceiverRegistrarService"/> instance.</param>
/// <param name="config">The <see cref="IServerConfigurationManager"/> for use with the <see cref="MediaReceiverRegistrarService"/> instance.</param>
public MediaReceiverRegistrarService(
ILogger<MediaReceiverRegistrarService> logger,
IHttpClientFactory httpClientFactory,
IServerConfigurationManager config)
: base(logger, httpClientFactory)
{
_config = config;
}
/// <inheritdoc />
public string GetServiceXml()
{
return MediaReceiverRegistrarXmlBuilder.GetXml();
}
/// <inheritdoc />
public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
{
return new ControlHandler(
_config,
Logger)
.ProcessControlRequestAsync(request);
}
}
}

View File

@@ -1,90 +0,0 @@
using System.Collections.Generic;
using Emby.Dlna.Common;
using Emby.Dlna.Service;
namespace Emby.Dlna.MediaReceiverRegistrar
{
/// <summary>
/// Defines the <see cref="MediaReceiverRegistrarXmlBuilder" />.
/// See https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-drmnd/5d37515e-7a63-4709-8258-8fd4e0ed4482.
/// </summary>
public static class MediaReceiverRegistrarXmlBuilder
{
/// <summary>
/// Retrieves an XML description of the X_MS_MediaReceiverRegistrar.
/// </summary>
/// <returns>An XML representation of this service.</returns>
public static string GetXml()
{
return new ServiceXmlBuilder().GetXml(ServiceActionListBuilder.GetActions(), GetStateVariables());
}
/// <summary>
/// The a list of all the state variables for this invocation.
/// </summary>
/// <returns>The <see cref="IEnumerable{StateVariable}"/>.</returns>
private static IEnumerable<StateVariable> GetStateVariables()
{
var list = new List<StateVariable>
{
new StateVariable
{
Name = "AuthorizationGrantedUpdateID",
DataType = "ui4",
SendsEvents = true
},
new StateVariable
{
Name = "A_ARG_TYPE_DeviceID",
DataType = "string",
SendsEvents = false
},
new StateVariable
{
Name = "AuthorizationDeniedUpdateID",
DataType = "ui4",
SendsEvents = true
},
new StateVariable
{
Name = "ValidationSucceededUpdateID",
DataType = "ui4",
SendsEvents = true
},
new StateVariable
{
Name = "A_ARG_TYPE_RegistrationRespMsg",
DataType = "bin.base64",
SendsEvents = false
},
new StateVariable
{
Name = "A_ARG_TYPE_RegistrationReqMsg",
DataType = "bin.base64",
SendsEvents = false
},
new StateVariable
{
Name = "ValidationRevokedUpdateID",
DataType = "ui4",
SendsEvents = true
},
new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "int",
SendsEvents = false
}
};
return list;
}
}
}

View File

@@ -1,187 +0,0 @@
using System.Collections.Generic;
using Emby.Dlna.Common;
namespace Emby.Dlna.MediaReceiverRegistrar
{
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
/// <summary>
/// Returns a list of services that this instance provides.
/// </summary>
/// <returns>An <see cref="IEnumerable{ServiceAction}"/>.</returns>
public static IEnumerable<ServiceAction> GetActions()
{
return new[]
{
GetIsValidated(),
GetIsAuthorized(),
GetRegisterDevice(),
GetGetAuthorizationDeniedUpdateID(),
GetGetAuthorizationGrantedUpdateID(),
GetGetValidationRevokedUpdateID(),
GetGetValidationSucceededUpdateID()
};
}
/// <summary>
/// Returns the action details for "IsValidated".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetIsValidated()
{
var action = new ServiceAction
{
Name = "IsValidated"
};
action.ArgumentList.Add(new Argument
{
Name = "DeviceID",
Direction = "in"
});
action.ArgumentList.Add(new Argument
{
Name = "Result",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "IsAuthorized".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetIsAuthorized()
{
var action = new ServiceAction
{
Name = "IsAuthorized"
};
action.ArgumentList.Add(new Argument
{
Name = "DeviceID",
Direction = "in"
});
action.ArgumentList.Add(new Argument
{
Name = "Result",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "RegisterDevice".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetRegisterDevice()
{
var action = new ServiceAction
{
Name = "RegisterDevice"
};
action.ArgumentList.Add(new Argument
{
Name = "RegistrationReqMsg",
Direction = "in"
});
action.ArgumentList.Add(new Argument
{
Name = "RegistrationRespMsg",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "GetValidationSucceededUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetValidationSucceededUpdateID()
{
var action = new ServiceAction
{
Name = "GetValidationSucceededUpdateID"
};
action.ArgumentList.Add(new Argument
{
Name = "ValidationSucceededUpdateID",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "GetGetAuthorizationDeniedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetAuthorizationDeniedUpdateID()
{
var action = new ServiceAction
{
Name = "GetAuthorizationDeniedUpdateID"
};
action.ArgumentList.Add(new Argument
{
Name = "AuthorizationDeniedUpdateID",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "GetValidationRevokedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetValidationRevokedUpdateID()
{
var action = new ServiceAction
{
Name = "GetValidationRevokedUpdateID"
};
action.ArgumentList.Add(new Argument
{
Name = "ValidationRevokedUpdateID",
Direction = "out"
});
return action;
}
/// <summary>
/// Returns the action details for "GetAuthorizationGrantedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetAuthorizationGrantedUpdateID()
{
var action = new ServiceAction
{
Name = "GetAuthorizationGrantedUpdateID"
};
action.ArgumentList.Add(new Argument
{
Name = "AuthorizationGrantedUpdateID",
Direction = "out"
});
return action;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,66 +0,0 @@
#nullable disable
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
using MediaBrowser.Model.Dlna;
namespace Emby.Dlna.PlayTo
{
public class DeviceInfo
{
private readonly List<DeviceService> _services = new List<DeviceService>();
private string _baseUrl = string.Empty;
public DeviceInfo()
{
Name = "Generic Device";
}
public string UUID { get; set; }
public string Name { get; set; }
public string ModelName { get; set; }
public string ModelNumber { get; set; }
public string ModelDescription { get; set; }
public string ModelUrl { get; set; }
public string Manufacturer { get; set; }
public string SerialNumber { get; set; }
public string ManufacturerUrl { get; set; }
public string PresentationUrl { get; set; }
public string BaseUrl
{
get => _baseUrl;
set => _baseUrl = value;
}
public DeviceIcon Icon { get; set; }
public List<DeviceService> Services => _services;
public DeviceIdentification ToDeviceIdentification()
{
return new DeviceIdentification
{
Manufacturer = Manufacturer,
ModelName = ModelName,
ModelNumber = ModelNumber,
FriendlyName = Name,
ManufacturerUrl = ManufacturerUrl,
ModelUrl = ModelUrl,
ModelDescription = ModelDescription,
SerialNumber = SerialNumber
};
}
}
}

View File

@@ -1,19 +0,0 @@
#pragma warning disable CS1591
using System;
namespace Emby.Dlna.PlayTo
{
public class MediaChangedEventArgs : EventArgs
{
public MediaChangedEventArgs(UBaseObject oldMediaInfo, UBaseObject newMediaInfo)
{
OldMediaInfo = oldMediaInfo;
NewMediaInfo = newMediaInfo;
}
public UBaseObject OldMediaInfo { get; set; }
public UBaseObject NewMediaInfo { get; set; }
}
}

Some files were not shown because too many files have changed in this diff Show More