Compare commits

..

5251 Commits

Author SHA1 Message Date
Joshua M. Boniface
761a4e8415 Merge pull request #6837 from crobibero/auth-exception 2021-11-13 15:31:14 -05:00
Joshua M. Boniface
f0028c728f Merge pull request #6841 from joshuaboniface/azure-pre 2021-11-13 15:28:10 -05:00
Joshua M. Boniface
fb0f3c3a76 Send SourceBranch to collect-server.azure.sh 2021-11-13 14:45:02 -05:00
Claus Vium
2f92ee374a Merge pull request #6838 from crobibero/openapi-nullable
Add nullable dictionary openapi mapping
2021-11-13 19:32:11 +01:00
Cody Robibero
bb377b1466 Add nullable dictionary openapi mapping 2021-11-13 07:29:58 -07:00
Cody Robibero
4a28f46cac Don't throw exception on unauthenticated requests 2021-11-13 07:27:28 -07:00
Cody Robibero
8868b34d78 Merge pull request #6822 from NickSica/master 2021-11-13 07:03:40 -07:00
Cody Robibero
01a1209f0e Merge pull request #6836 from cvium/apphost_light_cleanup 2021-11-13 07:02:39 -07:00
cvium
5a65bc1e69 Very light cleanup in applicationhost 2021-11-13 14:37:26 +01:00
Nicholas Sica
8ae5316198 Fix Ombi auth through Jellyfin 2021-11-12 16:23:58 -05:00
WWWesten
1fbe1266e2 Added translation using Weblate (Telugu) 2021-11-12 12:56:18 -05:00
WWWesten
412ae7f4d2 Added translation using Weblate (Zulu) 2021-11-12 12:55:27 -05:00
WWWesten
26001fca93 Added translation using Weblate (Belarusian) 2021-11-12 12:09:25 -05:00
Claus Vium
8579c8f9ce Merge pull request #6830 from crobibero/remote-image
Fix filtering images without dimensions
2021-11-12 16:32:53 +01:00
Claus Vium
fcfc774da1 Merge pull request #6829 from crobibero/obsolete-enum
Remove Obsolete attribute on enum
2021-11-12 15:46:17 +01:00
Cody Robibero
14c072dd32 Fix filtering images without dimensions 2021-11-12 07:21:46 -07:00
Cody Robibero
132440c683 Remove Obsolete attribute on enum 2021-11-12 06:58:18 -07:00
Claus Vium
7b1314aff5 Merge pull request #6823 from crobibero/displaypreferencesdto
Fix nullability on DisplayPreferencesDto
2021-11-11 19:29:49 +01:00
Nicholas Sica
c5e42ddcc6 Fix Ombi auth through Jellyfin
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-11-11 11:03:27 -05:00
Cody Robibero
3de86ffdb4 Fix nullability on DisplayPreferencesDto
Remove duplicate, fix namespace
2021-11-11 07:34:36 -07:00
NickSica
4b2c40f717 Fixes Ombi auth through Jellyfin 2021-11-11 00:43:43 -05:00
Cody Robibero
4c88bf3fe3 Merge pull request #6808 from cvium/dlnope_never_again 2021-11-09 20:34:09 -07:00
Cody Robibero
57d5423d64 Merge pull request #6816 from Bond-009/warn55
Fix some warnings
2021-11-09 18:36:00 -07:00
cvium
efa76c0b63 Remove unused field 2021-11-09 23:17:27 +01:00
cvium
3f09fb8d70 length 2021-11-09 22:45:34 +01:00
Bond_009
1d19a5be61 Fix some warnings
down to 580
2021-11-09 22:29:33 +01:00
Cody Robibero
a7a6a22109 Merge pull request #6814 from thornbill/fix-issue-template 2021-11-09 13:21:39 -07:00
Bill Thornton
97508c6f42 Fix yaml format issue in issue template 2021-11-09 15:17:10 -05:00
Bond-009
296ba26b19 Merge pull request #6507 from Artiume/patch-6 2021-11-09 19:56:35 +01:00
Claus Vium
c3523e7cf7 Merge pull request #5905 from BaronGreenback/TVFix
Fix for Livetv and DLNA when bind interfaces specified.
2021-11-09 19:53:21 +01:00
Claus Vium
c50c9c3dbf Merge pull request #6794 from Bond-009/dead
Remove some dead code
2021-11-09 19:47:34 +01:00
cvium
a90735bc5a Last small fixes 2021-11-09 19:44:21 +01:00
cvium
37a04d5dbf Reduce indentation 2021-11-09 19:40:36 +01:00
cvium
e1f7f1405e Use GetOrderBy in GetChildrenSorted 2021-11-09 19:33:15 +01:00
cvium
6985a4f255 Fix SortCriteria and refactor SetSorting 2021-11-09 19:31:54 +01:00
cvium
53c16c2342 Build an array instead of using LINQ 2021-11-09 19:22:16 +01:00
cvium
c1c77c8762 comments 2021-11-09 19:19:48 +01:00
WWWesten
6bd108877e Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-11-09 12:45:38 -05:00
Bond_009
994101fcf4 Remove some dead code 2021-11-09 16:28:39 +01:00
Bond-009
1cfd11b98c Merge pull request #6811 from jellyfin/dependabot/nuget/Mono.Nat-3.0.2 2021-11-09 16:24:13 +01:00
cvium
2b02b53fc0 Merge branch 'master' into dlnope_never_again 2021-11-09 16:00:14 +01:00
cvium
996500b2f8 review stuff 2021-11-09 15:57:39 +01:00
dependabot[bot]
ce1c36dbf2 Bump Mono.Nat from 3.0.1 to 3.0.2
Bumps [Mono.Nat](https://github.com/mono/Mono.Nat) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/mono/Mono.Nat/releases)
- [Commits](https://github.com/mono/Mono.Nat/compare/release-v3.0.1...release-v3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-09 14:26:19 +00:00
Claus Vium
04040b25e0 Merge pull request #6810 from jellyfin/dependabot/nuget/Microsoft.SourceLink.GitHub-1.1.0
Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.0
2021-11-09 15:25:30 +01:00
Claus Vium
66912deb84 Apply suggestions from code review 2021-11-09 14:47:42 +01:00
Claus Vium
ac06022e0f Update Emby.Dlna/ContentDirectory/ControlHandler.cs 2021-11-09 14:40:51 +01:00
dependabot[bot]
c2d99dc3f0 Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.0
Bumps [Microsoft.SourceLink.GitHub](https://github.com/dotnet/sourcelink) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/dotnet/sourcelink/releases)
- [Commits](https://github.com/dotnet/sourcelink/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-09 13:11:42 +00:00
Claus Vium
ca6211ad61 Merge pull request #6813 from Bond-009/warn54
Fix some warnings
2021-11-09 14:02:38 +01:00
Bond_009
5726535a26 Fix some warnings
609 left
2021-11-09 13:14:31 +01:00
Claus Vium
6f85e30475 Merge pull request #6806 from crobibero/dotnet6
Update to full dotnet 6
2021-11-09 08:35:33 +01:00
cvium
a236f52c31 Simplify and reduce LOC in ControlHandler 2021-11-08 23:13:12 +01:00
Cody Robibero
64652b6392 Fix and disable new dotnet6 warnings 2021-11-08 12:40:52 -07:00
hoanghuy309
958a4f509c Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-11-08 13:30:56 -05:00
Cody Robibero
40045d2147 Update to full dotnet 6 2021-11-08 09:40:12 -07:00
Cody Robibero
65971eb27e Merge pull request #6795 from LinFor/pr-dlna
Fix DLNA on older Samsung TVs
2021-11-08 05:38:22 -07:00
rimasx
15dd23e4da Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2021-11-08 04:58:49 -05:00
cvium
1c47211a9e Merge remote-tracking branch 'BaronGreenback/TVFix' into TVFix 2021-11-08 10:58:28 +01:00
cvium
82e6a21f3b Use the new method in DLNA 2021-11-08 10:58:04 +01:00
cvium
f03e77a4d5 Merge branch 'master' into TVFix 2021-11-08 10:38:08 +01:00
LinFor
5c69d110cc Samsung DLNA fixes 2021-11-08 11:24:33 +03:00
Claus Vium
3906343c91 Merge pull request #6793 from Bond-009/rootedpath
Add some docs and tests
2021-11-08 07:49:36 +01:00
Claus Vium
0ee43f897b Merge pull request #5918 from crobibero/client-logger
Add endpoint to log client events
2021-11-08 07:46:51 +01:00
Bond_009
4dfb7b18ae Add some docs and tests 2021-11-07 22:32:08 +01:00
Cody Robibero
666e95e27f Add randomization to generated filename 2021-11-07 11:41:56 -07:00
Claus Vium
195831ad4a Merge pull request #6792 from Bond-009/authex
Fix UnauthorizedAccessException in GetDrives
2021-11-07 19:36:09 +01:00
Cody Robibero
892b05c5e6 Clean up redundant code 2021-11-07 08:20:11 -07:00
Bond_009
0f52896691 Fix UnauthorizedAccessException in GetDrives
```
[15:01:24] [ERR] [55] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /Environment/Drives.
System.UnauthorizedAccessException: Access to the path is denied.
 ---> System.IO.IOException: Operation not permitted
   --- End of inner exception stack trace ---
   at System.IO.DriveInfo.CheckStatfsResultAndThrowIfNecessary(Int32 result)
   at System.IO.DriveInfo.get_TotalSize()
   at Emby.Server.Implementations.IO.ManagedFileSystem.<>c.<GetDrives>b__32_0(DriveInfo d) in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.ToList()
   at Emby.Server.Implementations.IO.ManagedFileSystem.GetDrives() in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583
   at Jellyfin.Api.Controllers.EnvironmentController.GetDrives() in /home/bond/dev/jellyfin/Jellyfin.Api/Controllers/EnvironmentController.cs:line 153
   at lambda_method559(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
```
2021-11-07 15:33:39 +01:00
Bond-009
83859a1e6d Merge pull request #6783 from 1337joe/purge-screenshot 2021-11-06 23:07:11 +01:00
Bond-009
8d8e113771 Merge pull request #6791 from cvium/fix_plugin_loading 2021-11-06 23:06:08 +01:00
cvium
d95c281142 Load all types when checking plugin DLLs 2021-11-06 22:44:05 +01:00
Cody Robibero
b217f84d50 Merge pull request #6778 from jvoisin/patch-1
Add a bit of hardening to the systemd service
2021-11-06 15:21:52 -06:00
Joe Rogers
b4bf5af7c8 Remove ImageType.Screenshot and ItemFields.Screenshot 2021-11-06 20:43:20 +01:00
Cody Robibero
c8bd676b14 Merge remote-tracking branch 'upstream/master' into client-logger 2021-11-05 22:25:48 -06:00
Cody Robibero
3c69283e2c Merge pull request #6784 from nielsvanvelzen/openapi-head-checkout
Fix OpenAPI workflow fork cloning
2021-11-05 17:50:58 -06:00
Niels van Velzen
07b9ba2bb4 Set GITHUB_TOKEN permissions to read only in OpenAPI workflow 2021-11-05 22:43:09 +01:00
Niels van Velzen
2491dd513c Specify repository info in openapi head checkout 2021-11-05 22:12:43 +01:00
Cody Robibero
d3d9311f48 Merge remote-tracking branch 'upstream/master' into client-logger 2021-11-05 13:12:37 -06:00
Cody Robibero
17264a6020 Use client info from claims 2021-11-05 12:57:24 -06:00
Claus Vium
b64d9bcd40 Merge pull request #6782 from nielsvanvelzen/openapi-pr-target 2021-11-05 19:37:30 +01:00
Niels van Velzen
44dc647adb Fix OpenAPI workflow not working with pull requests from forks 2021-11-05 19:10:40 +01:00
Cody Robibero
0cd817bba3 Merge pull request #6781 from 1337joe/tmdb-settings
Add MaxCastMembers to TMDb Plugin Settings
2021-11-05 05:56:51 -06:00
WWWesten
1e93c6ae30 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-11-05 07:05:36 -04:00
WWWesten
13668a6ecb Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-11-05 07:05:36 -04:00
Joe Rogers
c8eba90c17 Add cast limit to tmdb plugin settings 2021-11-05 00:38:50 +01:00
Joe Rogers
6c76d30538 Add missing checkboxes 2021-11-04 23:58:32 +01:00
Claus Vium
a870f4ce70 Merge pull request #6777 from ThibaultNocchi/fix/webvtt_region 2021-11-04 23:37:36 +01:00
Bond-009
e3e6953c6d Merge pull request #6774 from cvium/fix_no_thumb_in_fanart 2021-11-04 17:50:33 +01:00
Julien Voisin
564990964d Add a bit of hardening to the systemd service
Tested in an unprivileged lxc container, so it shouldn't™ break anything.
2021-11-04 16:15:42 +01:00
Thibault Nocchi
f91839dd8c Fix WebVTT region to spec 2021-11-04 15:44:15 +01:00
cvium
c0bab5c173 Make sure ReadToDescendant was successful, #6773 2021-11-04 11:50:46 +01:00
WWWesten
5aadf8c291 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-11-04 04:56:26 -04:00
WWWesten
654bd6fff1 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2021-11-04 04:56:26 -04:00
nextlooper42
70b9f9bf56 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2021-11-04 04:56:26 -04:00
Claus Vium
ad7ed95b98 Merge pull request #6769 from Bond-009/hasscreenshots 2021-11-04 09:21:36 +01:00
Bond_009
924c6682b9 Remove unused IHasScreenshots interface 2021-11-04 01:06:21 +01:00
Claus Vium
5c5d49ee60 Merge pull request #6763 from 1337joe/tmdb-image-provider-dedup 2021-11-04 00:22:08 +01:00
Claus Vium
4279f13c67 Merge pull request #6766 from Bond-009/minor12 2021-11-04 00:18:34 +01:00
Joe Rogers
4fc0521d69 Move ConvertToRemoteImage to TmdbClientManager 2021-11-03 17:16:40 +01:00
Cody Robibero
3398f7f953 Merge branch 'master' into client-logger 2021-11-03 07:52:06 -06:00
Bond_009
416894008e Minor improvements
* Removed some allocations
* Removed some useless abstractions
2021-11-03 14:02:57 +01:00
Claus Vium
45ceba7ad1 Merge pull request #6764 from zehnerGIT/logspam 2021-11-03 13:02:15 +01:00
Claus Vium
6822693bd6 Merge pull request #6748 from ptalmeida/master 2021-11-03 13:01:53 +01:00
Claus Vium
0187500373 Merge pull request #6761 from Bond-009/startup2 2021-11-03 13:01:37 +01:00
Claus Vium
869d537aaa Merge pull request #6752 from 1337joe/fix-metadata-refresh-deletes-backgrounds 2021-11-03 13:01:23 +01:00
Cody Robibero
f444e93a56 Merge remote-tracking branch 'upstream/master' into client-logger 2021-11-02 17:56:12 -06:00
Joe Rogers
149c77d9b1 Remove commented theory data, merge tests 2021-11-02 22:46:53 +01:00
Joe Rogers
2b283d249f Switch to method per image conversion 2021-11-02 21:12:13 +01:00
Claus Vium
2c42d75288 Merge pull request #6027 from fredriklindberg/improve-series-matching 2021-11-02 20:17:49 +01:00
Claus Vium
a9c38870f9 Merge pull request #6379 from dearjoey/master 2021-11-02 20:12:42 +01:00
Claus Vium
77634d3b52 Merge pull request #6765 from zehnerGIT/tmdbtags 2021-11-02 20:04:58 +01:00
Claus Vium
eec4293e6f Merge pull request #6308 from nielsvanvelzen/openapi 2021-11-02 19:43:57 +01:00
Niels van Velzen
63eeb73608 Update openapi workflow to use .NET 6 2021-11-02 18:58:31 +01:00
Joe Rogers
7fcf01235c Change RemoveImages to array, improve download test 2021-11-02 16:16:06 +01:00
Bond_009
104e36f2f9 Streamline startup code 2021-11-02 16:02:52 +01:00
zehner
3d858955b6 Make tags import from TMDB configurable
new settings added
2021-11-02 15:11:01 +01:00
zehner
bbf40d6be2 Update StreamBuilder.cs
LogLevel INFO => DEBUG
2021-11-02 09:35:09 +01:00
Joe Rogers
7da6bd905a Fix edge case in multi-image replacing 2021-11-02 00:31:59 +01:00
Claus Vium
838225e962 Merge pull request #6762 from WWWesten/master
Add missing localization options
2021-11-02 00:06:27 +01:00
Joe Rogers
4a5e8b99a0 Extract duplicate code, add test 2021-11-01 23:17:00 +01:00
Pedro Almeida
5529625025 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2021-11-01 17:05:34 -04:00
WWWesten
967fd66ca9 Update LocalizationManager.cs 2021-11-02 00:22:16 +05:00
WWWesten
a229526454 Update LocalizationManager.cs 2021-11-01 23:47:31 +05:00
WWWesten
0a14279e2a Merge branch 'jellyfin:master' into master 2021-11-01 23:43:29 +05:00
Claus Vium
76eeb8f655 Merge pull request #6745 from crobibero/dlna-profile-save
Use correct id when finding existing dlna profile
2021-11-01 17:19:43 +01:00
Joe Rogers
6881cf6874 Merge remote-tracking branch 'origin/master' into fix-metadata-refresh-deletes-backgrounds 2021-11-01 16:41:05 +01:00
Bond-009
e8efc433fa Merge pull request #6757 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-17.0.0 2021-11-01 16:19:36 +01:00
Bond-009
98587da53d Merge pull request #6759 from jellyfin/dependabot/nuget/UTF.Unknown-2.5.0 2021-11-01 16:19:01 +01:00
Bond-009
09909d4df2 Merge pull request #6758 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.0.7 2021-11-01 16:17:54 +01:00
dependabot[bot]
2372931b13 Bump UTF.Unknown from 2.4.0 to 2.5.0
Bumps [UTF.Unknown](https://github.com/CharsetDetector/UTF-unknown) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/CharsetDetector/UTF-unknown/releases)
- [Commits](https://github.com/CharsetDetector/UTF-unknown/compare/v2.4...v2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 12:01:04 +00:00
dependabot[bot]
8e046ce22b Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.6 to 2.0.7
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/ericsink/SQLitePCL.raw/releases)
- [Commits](https://github.com/ericsink/SQLitePCL.raw/compare/v2.0.6...v2.0.7)

---
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>
2021-11-01 12:00:57 +00:00
dependabot[bot]
baafa10e87 Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.0.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.11.0 to 17.0.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.11.0...v17.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 12:00:53 +00:00
Joe Rogers
b478b115e3 Refactor to validate all images up front 2021-11-01 11:53:31 +01:00
Anthony Lavado
022e2d9f97 Merge pull request #6740 from zirdum/master 2021-10-31 21:36:07 -04:00
Joe Rogers
0fbd8d85c8 Validate multi-images, lazy-delete bg on refresh
Fix failing test: Invalid background images not purged by validate
Fixes #6310: Background images only delete when using "Replace existing images" when new image(s) is found to replace them
2021-11-01 00:16:11 +01:00
Joe Rogers
080b02cc4c Add comments, minor cleanup, add tests 2021-10-31 23:56:50 +01:00
Cody Robibero
7b89e0e3a5 Fix tests 2021-10-31 11:06:47 -06:00
Pedro Almeida
10a173c011 Add pt-pt as culture
Makes pt-pt selectable as metadata language
2021-10-31 15:28:51 +00:00
Pedro Almeida
a22c57ff33 Fix localization typo with Réunion 2021-10-31 15:13:23 +00:00
Cody Robibero
2f6437a987 Use correct id when finding existing dlna profile 2021-10-31 08:49:24 -06:00
Cody Robibero
f4844c08a5 Update Jellyfin.Api/Models/ClientLogDtos/ClientLogDocumentResponseDto.cs
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2021-10-30 11:29:22 -06:00
Alan Azar
5a7433472e Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-10-30 01:05:32 -04:00
Cody Robibero
73201ed498 Default log upload to enabled 2021-10-29 06:33:46 -06:00
Cody Robibero
bcb1c9b652 Use response dto 2021-10-29 06:33:34 -06:00
Cody Robibero
0e584f6840 Update documentation; use information from authorization; return generated filename 2021-10-28 16:13:37 -06:00
Kenneth SB
17973964fa Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2021-10-28 13:05:32 -04:00
Alan Azar
fc2e826b4d Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-10-28 13:05:32 -04:00
Cody Robibero
91204fc9f0 Fix logfile name if api key is used 2021-10-27 19:40:35 -06:00
Cody Robibero
c534c45033 Suggestions from review 2021-10-27 19:20:14 -06:00
zirdum
71ed47a5d3 Update README.md
The link with 'blob' specified in the URL doesn't work for the current version of unRaid. Switching it to 'tree' (which is where the 'blob' link resolves to) works fine.

Changes
Changed link referenced: https://github.com/jellyfin/jellyfin/blob/master/deployment/unraid/docker-templates

To this link: https://github.com/jellyfin/jellyfin/tree/master/deployment/unraid/docker-templates

Issues
Fixes template showing up in unRaid with the changes applied.
2021-10-27 10:54:54 -07:00
zirdum
4885f5e6c9 Update README.md
The link with 'blob' specified in the URL doesn't work for the current version of unRaid. Switching it to 'tree' (which is where the 'blob' link resolves to) works fine.

Changes
Changed link referenced: https://github.com/jellyfin/jellyfin/blob/master/deployment/unraid/docker-templates

To this link: https://github.com/jellyfin/jellyfin/tree/master/deployment/unraid/docker-templates

Issues
Fixes template showing up in unRaid with the changes applied.
2021-10-27 10:54:18 -07:00
De sousa John
4599ce659c Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-10-27 08:05:33 -04:00
WWWesten
91655bb5fe Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-10-27 08:05:33 -04:00
Alan Azar
a1b63aaa08 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-10-27 08:05:33 -04:00
Claus Vium
b0e0eba667 Merge pull request #6737 from Bond-009/nullable9
Enable nullable for MediaBrowser.Providers
2021-10-27 09:04:18 +02:00
Bond-009
2d4066748d Merge pull request #6446 from Deathspike/master 2021-10-27 09:01:00 +02:00
Cody Robibero
a6357f89ab Add ability to upload entire file 2021-10-26 18:42:17 -06:00
Cody Robibero
f78f1e834c Merge remote-tracking branch 'upstream/master' into client-logger 2021-10-26 17:43:36 -06:00
Deathspike
2410b3a3cf Resolve subtitle selection feedback (#6446) 2021-10-26 20:51:35 +02:00
Bond_009
f5ca9cbc3b Enable nullable for MediaBrowser.Providers 2021-10-26 15:49:01 +02:00
Claus Vium
39d5bdac96 Change ReadOnlySpan to string following PR 6383 (#6734) 2021-10-26 14:47:34 +02:00
Claus Vium
1b478cfdec Merge pull request #6735 from Bond-009/nullable8
Enable nullable for more files
2021-10-26 14:35:32 +02:00
Bond_009
1b6eb2ff2d Enable nullable for more files 2021-10-26 13:56:30 +02:00
Roel van Uden
b830d38a34 Rework subtitle selection to reduce code clutter 2021-10-26 12:59:11 +02:00
Claus Vium
dc72d90703 Merge pull request #6383 from sushilicious/master
Made default parser a tiny bit mroe robust
2021-10-26 12:10:57 +02:00
Claus Vium
deb349f4c5 Merge pull request #5755 from BaronGreenback/NetworkAccessPolicy 2021-10-26 00:06:31 +02:00
Claus Vium
26cfde8765 Merge pull request #6551 from MrChip53/xmltv-improve 2021-10-26 00:03:37 +02:00
Claus Vium
8b2309df82 Merge pull request #6535 from Bond-009/dlnacontrollertests 2021-10-25 23:47:37 +02:00
Claus Vium
5eda5eb636 Merge pull request #6486 from fredriklindberg/support-forwarded-headers-for-api-url 2021-10-25 22:41:32 +02:00
Joshua M. Boniface
da6225fb73 Merge pull request #6680 from MarcelCoding/master
Add Docker Healthcheck
2021-10-24 12:03:53 -04:00
Bond-009
ca217270b7 Merge pull request #6544 from cvium/fix_ffmpeg_path_updating 2021-10-24 01:09:44 +02:00
ButterflyOfFire
f2656b7ee2 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-10-23 10:36:41 -04:00
WWWesten
d4c1912e64 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-10-23 06:39:31 -04:00
rimasx
1e69530752 Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2021-10-22 08:05:31 -04:00
WWWesten
b53dea7113 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-10-22 08:05:31 -04:00
Claus Vium
768ec60e11 Merge pull request #6689 from 1337joe/expand-image-extraction 2021-10-21 23:05:32 +02:00
Bond-009
197325020e Merge pull request #6716 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.2.3 2021-10-20 14:43:15 +02:00
dependabot[bot]
1cf2ec26a3 Bump Swashbuckle.AspNetCore.ReDoc from 6.2.2 to 6.2.3
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.2.2...v6.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-20 12:24:31 +00:00
Bond-009
4979a9597a Merge pull request #6714 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.2.3 2021-10-20 14:23:54 +02:00
Bond-009
4cb0f6facf Merge pull request #6715 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-4.2.2 2021-10-20 14:23:35 +02:00
Bond-009
39bd559001 Merge pull request #6718 from MBR-0001/master 2021-10-20 14:22:59 +02:00
Joe Rogers
31baea072a Address review comments
Clean up style
Fix references in class summaries
Combine Where+FirstOrDefault queries
Break up large method, long lines
Add validation on file extension
Apply test naming conventions
Extract mock of Movie class, comment on why not mocking interface

Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-10-20 14:10:16 +02:00
Sindre S. Kjær
7d8fb947b6 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2021-10-19 15:25:05 -04:00
MBR-0001
ade3afad41 Add IsAutomated to SubtitleSearchRequest 2021-10-19 21:06:05 +02:00
Jessica
8388f7c462 Translated using Weblate (Welsh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cy/
2021-10-19 00:18:49 -04:00
WWWesten
4d32470715 Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-10-18 14:01:35 -04:00
Jessica
dd0c1d3d27 Added translation using Weblate (Welsh) 2021-10-18 14:01:35 -04:00
dependabot[bot]
b084afa1a0 Bump prometheus-net.DotNetRuntime from 4.2.1 to 4.2.2
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/4.2.1...4.2.2)

---
updated-dependencies:
- dependency-name: prometheus-net.DotNetRuntime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 12:01:09 +00:00
dependabot[bot]
0b937c32d5 Bump Swashbuckle.AspNetCore from 6.2.2 to 6.2.3
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.2.2...v6.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 12:00:59 +00:00
Joshua M. Boniface
5395892f66 Merge pull request #6695 from crobibero/dotnet6-rc2 2021-10-16 00:34:35 -04:00
rimasx
6cc4be85fc Translated using Weblate (Estonian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2021-10-14 16:05:30 -04:00
lyaschuchenko
a720b12ec3 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2021-10-14 16:05:30 -04:00
JULIAN AUGUSTO RUIZ MARTINEZ
e88e1fa8e9 Translated using Weblate (Pirate)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pr/
2021-10-14 16:05:30 -04:00
Cody Robibero
2b10251b32 Update to dotnet6.rc2 2021-10-12 18:31:58 -06:00
Claus Vium
09f33d3b87 Merge pull request #6558 from dmitrylyzo/ffmpeg-exitcode 2021-10-13 00:04:09 +02:00
Claus Vium
6ab412ed00 Merge pull request #6681 from dmitrylyzo/fix-latest-sort-order 2021-10-13 00:02:03 +02:00
rimasx
e3edd7ae2c Added translation using Weblate (Estonian) 2021-10-11 15:39:58 -04:00
Bond-009
646733d298 Merge pull request #6687 from jellyfin/dependabot/nuget/Diacritics-3.3.4 2021-10-11 14:56:50 +02:00
Bond-009
12d9859113 Merge pull request #6688 from jellyfin/dependabot/nuget/Serilog.Settings.Configuration-3.3.0 2021-10-11 14:56:10 +02:00
Joe Rogers
e3eee10d05 Add image provider tests and clean up 2021-10-11 14:09:02 +02:00
Joe Rogers
8d70cc2dde Add support for non-jpg image extractions 2021-10-11 14:09:02 +02:00
Joe Rogers
6ce8cce12c Add handling for embedded background and logo 2021-10-11 14:09:01 +02:00
Joe Rogers
be9ed29f63 Split EmbeddedImage extracting to new provider 2021-10-11 14:09:01 +02:00
dependabot[bot]
37a87a41ba Bump Serilog.Settings.Configuration from 3.2.0 to 3.3.0
Bumps [Serilog.Settings.Configuration](https://github.com/serilog/serilog-settings-configuration) from 3.2.0 to 3.3.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)

---
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>
2021-10-11 12:00:53 +00:00
dependabot[bot]
59e3beb5fe Bump Diacritics from 2.1.20036.1 to 3.3.4
Bumps [Diacritics](https://github.com/thomasgalliker/Diacritics.NET) from 2.1.20036.1 to 3.3.4.
- [Release notes](https://github.com/thomasgalliker/Diacritics.NET/releases)
- [Commits](https://github.com/thomasgalliker/Diacritics.NET/commits)

---
updated-dependencies:
- dependency-name: Diacritics
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 12:00:48 +00:00
Dmitry Lyzo
32f3d60a84 Throw on FFmpeg non-zero exit code 2021-10-10 19:53:32 +03:00
Dmitry Lyzo
c26e6d89b4 Move FfmpegException to MediaBrowser.Common 2021-10-10 19:48:11 +03:00
Marcel
b225c3fd3c Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-10-10 17:26:06 +02:00
Marcel
f750235933 Added healthcheck url environemnt variable 2021-10-10 15:15:43 +00:00
TheGoose
aa93774b29 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2021-10-10 07:05:27 -04:00
Claus Vium
8fc4a48070 Merge pull request #6501 from crobibero/schedules-direct 2021-10-09 23:21:09 +02:00
Marcel
5d11fd68c6 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-10-09 21:41:46 +02:00
Dmitry Lyzo
2b004e1f76 Add more sorting to Latest 2021-10-09 21:36:39 +03:00
Marcel
32d6e7db7c Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-10-09 17:00:20 +02:00
Cody Robibero
a81dfabdb6 Fix indentation and build errors 2021-10-09 07:16:50 -06:00
Claus Vium
e775286de5 Merge pull request #6646 from 1337joe/test-mp4-metadata 2021-10-09 12:48:30 +02:00
Claus Vium
1156699481 Merge pull request #6657 from Bond-009/dotnetbug 2021-10-09 12:19:44 +02:00
Marcel
fe461ff66b Added Docker Healthcheck 2021-10-09 08:25:22 +00:00
Claus Vium
1bfe6342df Merge pull request #6676 from Bond-009/rng
Use static crypto rng
2021-10-09 08:11:22 +02:00
Claus Vium
b16e6621b3 Merge pull request #6663 from crobibero/dotnet-6-rc1
Reference dotnet6-rc1 packages
2021-10-08 16:06:15 +02:00
Claus Vium
eea2ba9b68 Merge pull request #6678 from Bond-009/random
Use new Random.Shared instead of creating new instances
2021-10-08 16:04:23 +02:00
Claus Vium
851a5f3b55 Merge pull request #6665 from Bond-009/tests6
Improve test coverage for QuickConnectManager
2021-10-08 15:53:13 +02:00
Claus Vium
098b598293 Merge pull request #6677 from Bond-009/shuffle2
Remove duplicate Fisher–Yates shuffle impl
2021-10-08 15:51:51 +02:00
Cody Robibero
3bbd98cc3f Merge remote-tracking branch 'upstream/master' into schedules-direct 2021-10-08 07:49:40 -06:00
Bond-009
a01f9775ff Merge pull request #6667 from Bond-009/warn53 2021-10-08 15:43:38 +02:00
Bond_009
d05062fec0 Use new Random.Shared instead of creating new instances 2021-10-08 15:40:13 +02:00
Bond_009
dc8feca6bb Remove duplicate Fisher–Yates shuffle impl 2021-10-08 15:20:11 +02:00
Bond_009
3b492d4af8 Use static crypto rng 2021-10-08 15:02:58 +02:00
Bond-009
556ef5f157 Merge pull request #6673 from cvium/pinfile 2021-10-08 11:51:04 +02:00
cvium
3add805cbf Return the path to the pinfile in forgot password 2021-10-07 23:20:54 +02:00
Claus Vium
93198787d1 Merge pull request #6666 from Bond-009/issue6123 2021-10-07 21:56:37 +02:00
Bond-009
68aa5db2b5 Merge pull request #6670 from lyarenei/update-split-whitelist
Update artist split whitelist
2021-10-07 14:47:26 +02:00
Systerm
6297fa5bf7 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2021-10-06 17:39:23 -04:00
Bond_009
f7ae3c6a85 Set AnalysisMode to AllEnabledByDefault 2021-10-06 11:39:54 +02:00
Bond_009
03f933aaa0 Fix the last few warnings
Enables TreatWarningsAsErrors for all projects
2021-10-06 11:30:45 +02:00
Bond-009
c5285cee1c Merge pull request #6664 from cvium/subtitle_refresh 2021-10-06 10:48:32 +02:00
Bond-009
a1246ba3a0 Merge pull request #6649 from barronpm/implementations-warn2 2021-10-06 10:47:40 +02:00
Dominik Krivohlavek
ef99225c40 Add 22/7 to split whitelist 2021-10-06 10:32:28 +02:00
Patrick Barron
e0db541381 Update indentation 2021-10-05 22:07:16 -04:00
Bond_009
67147400bf Fix issue #6123 2021-10-05 21:47:59 +02:00
cvium
7abdf71c49 Revert to old line 2021-10-05 19:49:43 +02:00
Bond_009
74d75fad46 Improve test coverage for QuickConnectManager 2021-10-05 16:59:11 +02:00
cvium
229917a2f8 Queue refresh after subtitle upload + minor fixes 2021-10-04 21:12:09 +02:00
joanMelchor
d245e45254 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2021-10-04 14:05:26 -04:00
Cody Robibero
017380f1dd Reference dotnet6-rc1 packages 2021-10-04 07:43:40 -06:00
Bond-009
647c080ef7 Merge pull request #6662 from jellyfin/dependabot/nuget/DotNet.Glob-3.1.3 2021-10-04 15:07:37 +02:00
Bond-009
62d5315b0b Merge pull request #6661 from jellyfin/dependabot/nuget/sharpcompress-0.30.0 2021-10-04 15:07:11 +02:00
dependabot[bot]
fc96305e78 Bump DotNet.Glob from 3.1.2 to 3.1.3
Bumps [DotNet.Glob](https://github.com/dazinator/DotNet.Glob) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/dazinator/DotNet.Glob/releases)
- [Changelog](https://github.com/dazinator/DotNet.Glob/blob/develop/ReleaseNotes.md)
- [Commits](https://github.com/dazinator/DotNet.Glob/compare/3.1.2...3.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 12:01:09 +00:00
dependabot[bot]
2b61fad3a0 Bump sharpcompress from 0.29.0 to 0.30.0
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.29...0.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 12:00:56 +00:00
Patrick Barron
232e48f5e8 Fix warnings in EmbyTV 2021-10-03 21:41:22 -04:00
Patrick Barron
25b68bc3b2 Fix warnings in ChannelManager 2021-10-03 21:41:22 -04:00
Patrick Barron
b7e405889d Fix warnings in LibraryChangedNotifier 2021-10-03 21:41:22 -04:00
Patrick Barron
6cc69b80b6 Fix warnings in DeviceId 2021-10-03 21:41:22 -04:00
Patrick Barron
80223c548c Fix warnings in WebSocketConnection 2021-10-03 21:41:22 -04:00
Patrick Barron
7180983654 Fix warnings in SessionManager 2021-10-03 21:41:22 -04:00
Patrick Barron
876a902356 Fix warnings in Library 2021-10-03 21:41:22 -04:00
Patrick Barron
aa3c33060d Fix warnings in Playlists 2021-10-03 21:41:22 -04:00
Patrick Barron
7ea4c844c8 Fix warnings in InstallationManager 2021-10-03 21:41:22 -04:00
Patrick Barron
b17a452d16 Fix warnings in ServerApplicationPaths 2021-10-03 21:41:22 -04:00
Patrick Barron
7ae055f740 Fix warnings in UdpServer 2021-10-03 21:41:22 -04:00
Patrick Barron
8c8ca9aded Fix warnings in UdpSocket 2021-10-03 21:41:22 -04:00
Patrick Barron
c09ef74b51 Fix warnings in IO 2021-10-03 21:41:22 -04:00
Patrick Barron
078200d8d4 Fix warnings in Sorting 2021-10-03 21:41:22 -04:00
Bond-009
1888e7ac21 Merge pull request #6656 from daullmer/vsc-net6 2021-10-03 20:28:10 +02:00
Bond_009
9af16fcb6c Remove workaround for dotnet/runtime#42790 2021-10-03 19:52:38 +02:00
David Ullmer
d284e09a8a Change .vscode/launch.json to use .NET 6 2021-10-03 18:38:21 +02:00
Bond-009
9718c0b2ee Merge pull request #6651 from KonH/fix_common_warnings 2021-10-03 17:17:56 +02:00
Bond-009
6a575b3f77 Merge pull request #6648 from barronpm/implementations-warn1 2021-10-03 17:13:39 +02:00
Claus Vium
c60428f869 Merge pull request #6580 from Artiume/patch-1 2021-10-03 14:04:45 +02:00
Claus Vium
4fb4ceab04 Merge pull request #6644 from Bond-009/nullable7 2021-10-03 14:03:56 +02:00
Claus Vium
1f779ce7cd Merge pull request #6641 from Bond-009/convertfrom 2021-10-03 14:03:46 +02:00
KonH
6cbfdea4c0 Fix warning: Type cast is redundant (#2149) 2021-10-03 11:05:18 +07:00
KonH
d45fcdd5af Fix warning: Redundant control flow jump statement (#2149) 2021-10-03 11:02:53 +07:00
KonH
e3fccd5ae6 Fix warning: Qualifier is redundant (#2149) 2021-10-03 11:01:40 +07:00
KonH
b6bf43af45 Fix warning: Using directive is not required by the code and can be safely removed (#2149) 2021-10-03 10:49:41 +07:00
KonH
7c282ec369 Fix warning: The nullable warning suppression expression is redundant (#2149) 2021-10-03 10:43:41 +07:00
Patrick Barron
21007aec20 Fix warnings in Data 2021-10-02 13:03:04 -04:00
Patrick Barron
4ba9b6c305 Fix warnings in ScheduledTasks 2021-10-02 12:53:51 -04:00
Patrick Barron
5043a887cc Document IStartupOptions 2021-10-02 11:54:31 -04:00
Joe Rogers
4c2adc39c7 Add test data and unit test for mp4 metadata probe 2021-10-01 22:03:12 +02:00
Bond_009
1ee58bf020 Enable nullable for ItemDataProvider 2021-10-01 11:21:22 +02:00
Bond_009
d4373a2ddb Use ConvertFrom with invariant culture instead of current culture 2021-10-01 10:54:06 +02:00
Claus Vium
531efc345a Merge pull request #6639 from 1337joe/mp4-track-title-fallback
Add mp4 track title fallback
2021-10-01 08:15:34 +02:00
Joe Rogers
ce0457faf5 Add mp4 track title fallback (#6638) 2021-09-30 23:53:33 +02:00
Tim040
7bf2ece20e Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-09-30 10:30:07 -04:00
Bond-009
dd5e9e3fc6 Merge pull request #6631 from GodTamIt/dotnet-version 2021-09-30 11:05:59 +02:00
Chris Tam
1a70ba6a48 Update README for .NET version 2021-09-29 16:31:17 -04:00
Bond-009
be6fe62d52 Merge pull request #6629 from crobibero/globalize 2021-09-29 09:42:47 +02:00
Cody Robibero
6fb3ec0319 Disable DOTNET_SYSTEM_GLOBALIZATION_INVARIANT in docker images 2021-09-28 19:09:37 -06:00
Claus Vium
fa506b1ff6 Merge pull request #6627 from Bond-009/empty
Add regression test for #6560
2021-09-28 13:17:06 +02:00
Bond_009
055e04338e Add regression test for #6560 2021-09-28 12:03:32 +02:00
Bond-009
94b1236459 Merge pull request #6623 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.2.2 2021-09-28 11:15:35 +02:00
dependabot[bot]
3d098173ff Bump Swashbuckle.AspNetCore.ReDoc from 6.2.1 to 6.2.2
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.2.1...v6.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 09:11:16 +00:00
Bond-009
a085e5a62c Merge pull request #6622 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.2.2 2021-09-28 11:10:35 +02:00
Bond-009
2def7043ce Merge pull request #6546 from ianjazz246/theorydata 2021-09-28 10:59:25 +02:00
dependabot[bot]
5b1feb1cea Bump Swashbuckle.AspNetCore from 6.2.1 to 6.2.2
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.2.1...v6.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 12:00:58 +00:00
Claus Vium
60f3d7ca6c Merge pull request #6618 from crobibero/zip-dir 2021-09-27 09:21:48 +02:00
Cody Robibero
7668cd13f5 Create output directory when extracting archive files 2021-09-26 16:23:43 -06:00
Bond-009
837d8feddc Merge pull request #6616 from crobibero/culture-info 2021-09-26 17:52:34 +02:00
Cody Robibero
9234e5bf80 Remove all instances of en-US culture 2021-09-26 09:11:25 -06:00
Bond-009
8858d8e597 Merge branch 'master' into theorydata 2021-09-25 22:24:57 +02:00
Bond-009
82cb685178 Merge pull request #6596 from crobibero/jeff-ext
Add Jellyfin.Extensions to nuget package publish
2021-09-25 22:18:28 +02:00
Claus Vium
17273a6075 Merge pull request #6614 from Bond-009/warn36 2021-09-25 20:50:31 +02:00
Claus Vium
c5491dc46c Merge pull request #6613 from Bond-009/randomaccess 2021-09-25 20:34:21 +02:00
Bond_009
79642af3b8 Fix some warnings 2021-09-25 20:32:53 +02:00
Claus Vium
b37829dfbf Merge pull request #6611 from Bond-009/error 2021-09-25 20:25:42 +02:00
Claus Vium
e6f3531f40 Merge pull request #6612 from Bond-009/async3 2021-09-25 20:22:42 +02:00
Bond_009
a4eede29ab Use RandomAccess instead of a FileStream where it makes sense 2021-09-25 20:17:12 +02:00
Bond_009
f31224fa8f Remove sync FileStream hack 2021-09-25 19:44:40 +02:00
Bond_009
65665de660 Fix user DB migration 2021-09-25 19:39:24 +02:00
Bond-009
2ee3e9e00f Merge pull request #6590 from jellyfin/dotnet6 2021-09-25 19:21:37 +02:00
Bond_009
4643fd5dcb Address comments 2021-09-25 18:15:46 +02:00
Cody Robibero
5e8d58a6a6 Update path for openapi spec 2021-09-25 07:51:55 -06:00
Mislav Milinković
d81c9a7a8c Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2021-09-25 09:30:05 -04:00
Ouail Ouazani
984f17c64f Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-09-25 09:30:05 -04:00
Cody Robibero
d156d49113 Update codeql dotnet version 2021-09-25 06:40:19 -06:00
Cody Robibero
4fc3de9b75 Fix builds for dotnet6 (#6595)
* Target net6.0

* Use new Enum.TryParse(ReadOnlySpan<char>) overload

* Replace RNGCryptoServiceProvider with RandomNumberGenerator

* ci - target net6.0 (#6594)

* Update deployment for dotnet6

* Use generic 6.0.x preview for CI

* Update direct dotnet download links

Co-authored-by: Bond_009 <bond.009@outlook.com>
2021-09-25 06:21:48 -06:00
Bond_009
e627b1b154 Fix failing tests 2021-09-25 13:58:16 +02:00
Bond_009
5fd315b17c Address comments 2021-09-24 20:15:46 +02:00
Bond_009
086d5925c9 Update Jellyfin.Extensions to .Net6 2021-09-24 20:15:46 +02:00
Cody Robibero
be00480fe2 ci - target net6.0 (#6594) 2021-09-24 20:15:46 +02:00
Bond_009
fb2f07dc84 Replace RNGCryptoServiceProvider with RandomNumberGenerator 2021-09-24 20:15:46 +02:00
Bond_009
4d1d9f23d5 Use new Enum.TryParse(ReadOnlySpan<char>) overload 2021-09-24 20:15:46 +02:00
Bond_009
13fbfe6091 Target net6.0 2021-09-24 20:15:46 +02:00
Claus Vium
1ebd3c9ac3 Merge pull request #6593 from Bond-009/ex 2021-09-22 09:21:41 +02:00
Claus Vium
7c8a81f7bc Merge pull request #6592 from Bond-009/dlna3 2021-09-22 09:19:24 +02:00
Claus Vium
8d9114dea3 Merge pull request #6597 from Bond-009/subs 2021-09-22 08:20:57 +02:00
Bond_009
dc1b726ef8 Add regression test for #5323 2021-09-22 02:00:17 +02:00
Cody Robibero
a605a38499 Add Jellyfin.Extensions to nuget package publish 2021-09-21 17:05:34 -06:00
Bond-009
12a54c070e Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-09-21 23:12:38 +02:00
Claus Vium
a353081ea3 Update MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs 2021-09-21 22:54:11 +02:00
Bond_009
8fec510971 ItemImageProvider: improve HTTP error handling 2021-09-21 22:47:30 +02:00
Bond_009
ec45808275 SsdpHttpClient: Ensure successful status code before reading response 2021-09-21 22:32:14 +02:00
cvium
95f344722c Don't set ffmpeg path from null to its Display value + add 404 2021-09-21 18:51:15 +00:00
Claus Vium
b4c0518001 Merge pull request #6588 from Bond-009/escape
Fix issue #6587
2021-09-21 20:49:14 +02:00
Claus Vium
46701e16b5 Merge pull request #6589 from Bond-009/ffmpeg3 2021-09-21 20:49:02 +02:00
evlian
f1498d49ca Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2021-09-21 12:30:06 -04:00
artiume
5b1813b699 update armv8 2021-09-21 11:46:01 -04:00
artiume
9e54ee1829 update armv7 2021-09-21 11:44:20 -04:00
Bond_009
52585a865e Validate ffmpeg path 2021-09-21 13:28:34 +02:00
Bond_009
f6622bd810 Fix issue #6587 2021-09-21 13:22:40 +02:00
Claus Vium
b598f0e9fb Merge pull request #6584 from Bond-009/datetime
Specify DateTimeStyles when possible
2021-09-21 08:17:55 +02:00
Joshua M. Boniface
18506f7c21 Merge pull request #6569 from crobibero/dotnet-5.0.10
Update to dotnet 5.0.10
2021-09-21 02:11:27 -04:00
Claus Vium
c38d19682c Merge pull request #6553 from ankenyr/master 2021-09-21 08:09:41 +02:00
Bond_009
653df7d8e5 Specify DateTimeStyles when possible 2021-09-21 01:21:45 +02:00
Claus Vium
9bb222b408 Merge pull request #6582 from Bond-009/shutdown
Allow shutdown while starting WebHost
2021-09-20 23:40:58 +02:00
Bond-009
747d464be3 Merge pull request #6541 from cvium/symlink_workaround 2021-09-20 22:39:35 +02:00
Bond-009
32ea4806f8 Merge pull request #6538 from cvium/livetv_oh_no 2021-09-20 22:38:44 +02:00
Bond_009
520aeb9a8e Allow shutdown while starting WebHost 2021-09-20 22:27:20 +02:00
Claus Vium
1b0e6b871b Merge pull request #6571 from Dixin/master
Fix extra folder name and type mapping.
2021-09-20 21:25:12 +02:00
Bond-009
eb0f7e071b Merge pull request #6576 from jellyfin/dependabot/nuget/DiscUtils.Udf-0.16.13
Bump DiscUtils.Udf from 0.16.4 to 0.16.13
2021-09-20 14:41:30 +02:00
artiume
7e8557fec6 Update Docker Image 2021-09-20 08:30:47 -04:00
dependabot[bot]
a77c38a813 Bump DiscUtils.Udf from 0.16.4 to 0.16.13
Bumps [DiscUtils.Udf](https://github.com/DiscUtils/DiscUtils) from 0.16.4 to 0.16.13.
- [Release notes](https://github.com/DiscUtils/DiscUtils/releases)
- [Changelog](https://github.com/DiscUtils/DiscUtils/blob/develop/Changelog.txt)
- [Commits](https://github.com/DiscUtils/DiscUtils/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-20 12:01:05 +00:00
Claus Vium
b51a3cbf98 Merge pull request #6567 from Bond-009/alloc 2021-09-20 09:43:04 +02:00
Dixin
27e32083a1 Update LINQ query according to code review feedback.
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-09-20 00:27:51 -07:00
Dixin
dc8420c7a2 Fix extra folder type resolving. 2021-09-19 16:54:00 -07:00
Cody Robibero
e7d6c45509 Upgrade to dotnet 5.0.10 2021-09-19 15:06:27 -06:00
Bond_009
9148820d89 Add more tests 2021-09-19 21:26:00 +02:00
Bond_009
a6d1e542e6 Reduce allocations 2021-09-19 20:53:31 +02:00
Claus Vium
a3a8e058bc Merge pull request #6563 from Bond-009/subtitleencoder 2021-09-19 10:35:03 +02:00
Claus Vium
e2b746dfce Merge pull request #6564 from Bond-009/azure
Fix Azure CI
2021-09-18 16:57:38 +02:00
Bond_009
d283702cac Fix Azure CI 2021-09-18 16:21:54 +02:00
Bond_009
b0194bce6c Add regression test for issue #5168 2021-09-18 15:31:45 +02:00
Bond_009
34b38454e0 Fix SubtitleEncoder and add regression tests 2021-09-18 15:23:55 +02:00
Bond_009
69cf8c1947 Add tests for DlnaController 2021-09-17 20:53:52 +02:00
gbrea
8d57afb55f Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2021-09-17 03:30:05 -04:00
Claus Vium
9d46b3695f Merge pull request #6556 from nielsvanvelzen/openapi-security-scheme
Use standard Authorization header in OpenAPI specification
2021-09-16 08:14:58 +02:00
Meem Khan
b9407779e4 Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur_PK/
2021-09-15 17:30:00 -04:00
Niels van Velzen
e6c9add45a Use more specific test command 2021-09-15 19:32:55 +02:00
Niels van Velzen
be946cef87 Use standard Authorization header in OpenAPI specification 2021-09-15 19:28:20 +02:00
Fredrik Lindberg
90174f68e2 Dynamically populate LocalAddress based on HTTP request
Support populating the LocalAddress field in the system info
endpoint based on the x-forwarded-host and x-forwarded-proto header.

The x-forwarded-host header must contain both the host and port for
the url to be properly constructed.

Behind network configuration option that is disabled by default.
2021-09-14 21:38:11 +02:00
emmanuel billeaud
fffdf9f7b6 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-09-14 08:30:06 -04:00
Claus Vium
fffb57bb15 Merge pull request #6502 from crobibero/publish-jeff-extension
Add Jellyfin.Extensions to package publish
2021-09-14 13:44:46 +02:00
Claus Vium
97b8a672b5 Merge pull request #6555 from jellyfin/dependabot/nuget/libse-3.6.2 2021-09-13 18:39:30 +02:00
Claus Vium
da7a6e9fe4 Merge pull request #6554 from jellyfin/dependabot/nuget/sharpcompress-0.29.0 2021-09-13 18:39:09 +02:00
Fredrik Lindberg
ea439c5ccf Improve series name matching
Add a series path resolver that attempts to extract only the series
name from a path that contains more information that just the name.
2021-09-13 17:59:33 +02:00
Rob
d557a5371e Update Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-09-13 08:32:28 -07:00
Rob
8d45656c51 Update Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-09-13 08:32:18 -07:00
Rob
96bc24b1dc Update Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-09-13 08:32:12 -07:00
Cody Robibero
ea3e66e918 Fix namespace 2021-09-13 06:32:26 -06:00
dependabot[bot]
b53c36ee4a Bump libse from 3.6.0 to 3.6.2
Bumps [libse](https://github.com/SubtitleEdit/subtitleedit) from 3.6.0 to 3.6.2.
- [Release notes](https://github.com/SubtitleEdit/subtitleedit/releases)
- [Changelog](https://github.com/SubtitleEdit/subtitleedit/blob/master/Changelog.txt)
- [Commits](https://github.com/SubtitleEdit/subtitleedit/compare/3.6.0...3.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 12:01:30 +00:00
dependabot[bot]
65e10946d8 Bump sharpcompress from 0.28.3 to 0.29.0
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.28.3 to 0.29.0.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28.3...0.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 12:01:22 +00:00
cocool97
83b4d4d25a Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2021-09-13 04:30:03 -04:00
ankenyr
2b5f3f294e Fixing #6269 by comparing PremiereDate when episode comparison would otherwise be equal. 2021-09-12 15:05:37 -07:00
Cody Robibero
7a7fe3e681 Fix types and property names 2021-09-12 13:56:26 -06:00
Mr. Chip53
1a8dcae5e4 Fix #6171 2021-09-12 13:30:53 -05:00
Claus Vium
f11f572997 Merge pull request #6457 from Izumiko/adult 2021-09-11 23:00:11 +02:00
ianjazz246
19b8bcaec4 Use TheoryData instead of MemberData and ClassData 2021-09-11 13:31:24 -07:00
ianjazz246
3313efce19 Revert "Use TheoryData in UrlDecodeQueryFeatureTest"
This reverts commit c5393b2579.
2021-09-11 13:29:58 -07:00
Claus Vium
62113c4603 Update Jellyfin.Server/Infrastructure/SymlinkFollowingPhysicalFileResultExecutor.cs 2021-09-11 15:07:09 +02:00
Claus Vium
cec0dd94ba Update Jellyfin.Server/Infrastructure/SymlinkFollowingPhysicalFileResultExecutor.cs 2021-09-11 15:06:56 +02:00
Claus Vium
6b8b7f1426 Update Jellyfin.Server/Infrastructure/SymlinkFollowingPhysicalFileResultExecutor.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-09-11 14:19:50 +02:00
cvium
e34aa22dc1 Remove AsyncFile.OpenRead 2021-09-11 14:09:22 +02:00
cvium
794b73c62d Use File.GetAttributes instead of creating a new FileInfo 2021-09-11 13:32:59 +02:00
cvium
3bc9f38833 Fix SA1614 and SA1116 2021-09-11 12:47:01 +02:00
cvium
30152c8d96 Include the MIT license 2021-09-11 12:39:52 +02:00
cvium
6a2df35b37 Read file length for symlinks, supersedes #5775 and #5824 2021-09-11 12:31:29 +02:00
ianjazz246
c5393b2579 Use TheoryData in UrlDecodeQueryFeatureTest 2021-09-10 20:11:16 -07:00
Claus Vium
00f7f68e53 Merge pull request #5648 from OancaAndrei/syncplay-sessions-fix
Fix session references in SyncPlay
2021-09-10 17:44:44 +02:00
Bond-009
d7109d4d82 Merge pull request #6531 from GodTamIt/img-lang
Fix images "not loading" after manual identification
2021-09-10 13:35:03 +02:00
cvium
ae0055c494 Missing linebreaks that Rider apparently can't just do for me? 2021-09-10 13:09:24 +02:00
cvium
ff328fefc5 Replace GetDirectStreamProviderByUniqueId with GetLiveStreamInfoByUniqueId 2021-09-10 12:53:45 +02:00
cvium
026a7af0e8 Don't throw when livestream file isn't found 2021-09-10 11:54:26 +02:00
cvium
a60a1ab89b Fix xmldoc 2021-09-10 11:46:08 +02:00
cvium
6637a3096a Remove the dependency on BaseAuthorizationHandler 2021-09-10 11:44:50 +02:00
cvium
8496d7638a Merge branch 'master' into NetworkAccessPolicy 2021-09-10 11:40:28 +02:00
hoanghuy309
7ce62194d1 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-09-10 04:30:00 -04:00
cvium
1a5a74d2a9 Remove more unused args 2021-09-10 10:03:42 +02:00
cvium
f3573b061c Remove the unused arg 2021-09-10 09:56:48 +02:00
cvium
1603d1928e Kill ProgressiveFileCopier and seek to end for ongoing livetv 2021-09-10 09:29:14 +02:00
Chris Tam
b0cd1f5e39 Fix images "not loading" after manual identification 2021-09-09 19:16:15 -04:00
Claus Vium
b96dbbf553 Merge pull request #6534 from Bond-009/warn35 2021-09-09 19:40:21 +02:00
Bond_009
0d16c48998 Fix some warnings 2021-09-09 15:59:13 +02:00
Bond-009
448125f2b4 Merge pull request #6523 from cvium/fix_livetv_cts_disposed 2021-09-09 13:46:26 +02:00
hoanghuy309
1a5d8e89da Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-09-08 13:30:00 -04:00
Lukáš Kucharczyk
95f287e819 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2021-09-08 13:30:00 -04:00
Claus Vium
4f51a22081 Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-09-07 19:52:17 +02:00
Claus Vium
c794e48562 Merge pull request #6522 from ferferga/efcore-improvements 2021-09-07 19:40:03 +02:00
Fernando Fernández
e5980f8686 Fix typo in comment and remove useless ones 2021-09-07 19:25:04 +02:00
Claus Vium
9c628cad22 Merge pull request #6526 from jellyfin/Bond-009-patch-2 2021-09-07 14:49:50 +02:00
Bond-009
71ab4a5754 Fix it for real(tm) this time 2021-09-07 14:18:04 +02:00
Bond-009
8dc0911374 Fix log message 2021-09-07 14:03:32 +02:00
cvium
153e920239 Ignore published server url for local access 2021-09-07 11:48:06 +02:00
cvium
be9663ae89 Use GetSmartApiUrl instead (hopefully it works) 2021-09-07 10:27:55 +02:00
cvium
fdab8eebc9 Fix disposed exception when ffmpeg exits early in GetLiveHlsStream 2021-09-07 08:54:58 +02:00
Fernando Fernández
154b7d8505 Fix identation 2021-09-06 21:35:54 +02:00
Fernando Fernández
f4af78817d Move model configuration to its own classes 2021-09-06 21:15:31 +02:00
Fernando Fernández
c2652d21e1 Log EFCore migrations 2021-09-06 21:15:31 +02:00
Fernando Fernández
3d0b1ccae6 Remove all unused usings 2021-09-06 21:15:30 +02:00
Fernando Fernández
59b67584fc Use appHost.Resolve for accessing the context in Program.cs 2021-09-06 20:35:02 +02:00
Cody Robibero
23e6c918a2 Remove Linq to index search 2021-09-06 11:08:40 -06:00
Claus Vium
ec35b8b425 Merge pull request #6521 from ferferga/fix-typos
Fix Dockerfile typos
2021-09-06 18:23:19 +02:00
Fernando Fernández
488e276f01 Fix Dockerfile typos 2021-09-06 17:51:08 +02:00
artiume
d7b2fa62a3 10.7.7 2021-09-06 09:41:29 -04:00
Bond-009
92aa820f37 Merge pull request #6520 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.2.1
Bump Swashbuckle.AspNetCore.ReDoc from 6.1.5 to 6.2.1
2021-09-06 15:08:03 +02:00
Bond-009
18bac550de Merge pull request #6519 from jellyfin/dependabot/nuget/FsCheck.Xunit-2.16.3
Bump FsCheck.Xunit from 2.16.1 to 2.16.3
2021-09-06 14:28:19 +02:00
dependabot[bot]
5f1b5cd305 Bump Swashbuckle.AspNetCore.ReDoc from 6.1.5 to 6.2.1
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.5 to 6.2.1.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.5...v6.2.1)

---
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>
2021-09-06 12:17:43 +00:00
Bond-009
9ea42c8b6c Merge pull request #6517 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-4.2.1
Bump prometheus-net.DotNetRuntime from 4.2.0 to 4.2.1
2021-09-06 14:17:04 +02:00
Bond-009
dddfac9ac4 Merge pull request #6516 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.2.1
Bump Swashbuckle.AspNetCore from 6.1.5 to 6.2.1
2021-09-06 14:16:58 +02:00
Bond-009
a26b03b9d7 Merge pull request #6518 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.0.6
Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.5 to 2.0.6
2021-09-06 14:16:46 +02:00
dependabot[bot]
c52fc714aa Bump FsCheck.Xunit from 2.16.1 to 2.16.3
Bumps [FsCheck.Xunit](https://github.com/fsharp/FsCheck) from 2.16.1 to 2.16.3.
- [Release notes](https://github.com/fsharp/FsCheck/releases)
- [Changelog](https://github.com/fscheck/FsCheck/blob/master/FsCheck%20Release%20Notes.md)
- [Commits](https://github.com/fsharp/FsCheck/compare/2.16.1...2.16.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 12:01:04 +00:00
dependabot[bot]
fdec42bccc Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.5 to 2.0.6
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/ericsink/SQLitePCL.raw/releases)
- [Commits](https://github.com/ericsink/SQLitePCL.raw/compare/v2.0.5...v2.0.6)

---
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>
2021-09-06 12:00:58 +00:00
dependabot[bot]
9e96f36131 Bump prometheus-net.DotNetRuntime from 4.2.0 to 4.2.1
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/4.2.0...4.2.1)

---
updated-dependencies:
- dependency-name: prometheus-net.DotNetRuntime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 12:00:55 +00:00
dependabot[bot]
4a4a291aa9 Bump Swashbuckle.AspNetCore from 6.1.5 to 6.2.1
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.5 to 6.2.1.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.5...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 12:00:53 +00:00
Claus Vium
74fef6c05b Merge pull request #6177 from Bond-009/async
Use async FileStreams where it makes sense
2021-09-06 13:55:34 +02:00
Claus Vium
bf0a0c8b62 Merge pull request #6494 from Bond-009/cleanup 2021-09-06 13:55:16 +02:00
Claus Vium
06242121c5 Merge pull request #4615 from strugee/fix-restart.sh 2021-09-06 13:53:23 +02:00
Claus Vium
7d8efa35fa Merge pull request #5092 from OancaAndrei/syncplay-clear-queue 2021-09-06 13:51:07 +02:00
Claus Vium
ba90b1215b Merge pull request #6515 from Maeur1/master
Update Intel Compute Runtime Resources
2021-09-06 13:50:03 +02:00
Mayur Panchal
cee884613d Update Intel Compute Runtime Resources 2021-09-06 20:55:00 +10:00
dkanada
f6c0db4bb5 merge branch 'master' into syncplay-sessions-fix 2021-09-06 13:42:48 +09:00
dkanada
5e3905d41a merge branch 'master' into syncplay-clear-queue 2021-09-06 13:35:58 +09:00
dkanada
e9508616cc Merge pull request #4005 from cromefire/patch-2
Add additional opts for systemd / upstart
2021-09-06 13:31:44 +09:00
dkanada
1716137a89 Merge pull request #6066 from jellyfin/dependabot/github_actions/cirrus-actions/rebase-1.5
Bump cirrus-actions/rebase from 1.4 to 1.5
2021-09-06 02:31:59 +09:00
dkanada
b8eb8940c7 Merge pull request #6257 from MrTimscampi/music-library-backdrop
Use artist backdrop for generated library image
2021-09-06 02:30:49 +09:00
Claus Vium
66659b0842 Merge pull request #6089 from BaronGreenback/IsRoot_fix
Set UserRootFolder.IsRoot to true
2021-09-05 15:25:40 +02:00
cvium
ffe5ae8056 Merge branch 'master' into TVFix 2021-09-05 10:11:17 +02:00
artiume
711db363aa Update issue report.yml 2021-09-04 15:31:24 -04:00
artiume
957c5ee061 Delete bug_report.md 2021-09-04 14:46:49 -04:00
artiume
37e388dec1 Convert Issue Template to YAML 2021-09-04 14:46:22 -04:00
Bond-009
ff83fabac3 Merge pull request #6456 from GodTamIt/vp8-vp9
Disambiguate vpx to vp8 or vp9
2021-09-04 16:26:07 +02:00
Bond-009
a569e5860f Merge pull request #6506 from Artiume/patch-5 2021-09-04 16:17:55 +02:00
artiume
30bc5369ca Update bug_report.md 2021-09-04 09:43:39 -04:00
artiume
0c1f27d2db Request FFmpeg version 2021-09-04 09:33:02 -04:00
Chris Tam
b205d5a032 Disambiguate vpx to vp8 or vp9 2021-09-04 07:36:17 -04:00
Claus Vium
8c463b9b81 Merge pull request #4799 from tommasodotNET/bug/authorization-header-issue
Authorization header parsing
2021-09-04 00:31:13 +02:00
cvium
907d9fa195 remove some newlines 2021-09-03 23:58:07 +02:00
cvium
1172ece856 remove leading and trailing whitespace from the key 2021-09-03 23:56:19 +02:00
Cody Robibero
7a0a675bd5 Add Jellyfin.Extensions to package publish 2021-09-03 14:21:33 -06:00
Cody Robibero
04973a489f use JsonOptions 2021-09-03 13:56:51 -06:00
cvium
60185f99c4 fix the build 2021-09-03 21:43:06 +02:00
Cody Robibero
0587b539ec Suggestions from review 2021-09-03 13:36:07 -06:00
cvium
6b3ecf2533 Merge branch 'master' into bug/authorization-header-issue 2021-09-03 21:33:41 +02:00
cvium
048c478b0d Merge branch 'master' into bug/authorization-header-issue 2021-09-03 21:25:18 +02:00
Claus Vium
e229f6d9bb Merge pull request #6499 from Bond-009/warn34
Fix some warnings
2021-09-03 21:14:10 +02:00
Cody Robibero
47e24a2cf7 Add SchedulesDirect json tests 2021-09-03 12:35:52 -06:00
Cody Robibero
058baf5abd Add IReadOnlyList extensions 2021-09-03 12:35:32 -06:00
Bond_009
637e86478f Fix some warnings 2021-09-03 19:32:11 +02:00
Claus Vium
fb5385f1df Merge pull request #6201 from barronpm/authenticationdb-efcore
Migrate Authentication DB to EF Core
2021-09-03 19:17:13 +02:00
Cody Robibero
ff9d14c811 Merge remote-tracking branch 'upstream/master' into authenticationdb-efcore 2021-09-03 11:01:55 -06:00
Cody Robibero
47be1bf69f Enable nullable for SchedulesDirect 2021-09-03 10:59:40 -06:00
Claus Vium
95ca1d5487 Merge pull request #6498 from Bond-009/invalidop
Fix InvalidOperationException when serializing MediaPathInfo
2021-09-03 18:45:06 +02:00
Bond-009
3ec7ecf399 Merge pull request #6358 from MrTimscampi/audio-people 2021-09-03 17:15:58 +02:00
Bond_009
b458f85c47 Fix InvalidOperationException when serializing MediaPathInfo 2021-09-03 16:39:03 +02:00
Bond-009
79e51b7fa2 Merge pull request #6475 from crobibero/warn-259810
Remove more and more warnings
2021-09-03 16:17:02 +02:00
siankatabg
2f360151c2 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-09-03 09:29:58 -04:00
Cody Robibero
bfb37a9ed9 Fix typos 2021-09-03 07:21:21 -06:00
Cody Robibero
3f2c706575 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-09-03 07:19:50 -06:00
Cody Robibero
611c20dba8 Fix indentation 2021-09-03 06:57:33 -06:00
Cody Robibero
8e498b01e7 Fix issues from merge 2021-09-03 06:57:04 -06:00
Cody Robibero
ec13412155 Merge remote-tracking branch 'upstream/master' into warn-259810 2021-09-03 06:56:45 -06:00
Patrick Barron
88157fcc77 Re-add documentation 2021-09-02 20:22:08 -04:00
Patrick Barron
098bd5cfa9 Remove IAuditableEntity 2021-09-02 20:18:46 -04:00
Claus Vium
b1e7cfd84c Merge pull request #6497 from Bond-009/fuzz1
Add SqliteItemRepository.ItemImageInfoFromValueString as a fuzzing target
2021-09-02 21:48:46 +02:00
Bond_009
286dabdc4b Add SqliteItemRepository.ItemImageInfoFromValueString as a fuzzing
target

and add test cases
2021-09-02 21:28:00 +02:00
Bond_009
e3dac4fda2 Use async FileStreams where it makes sense 2021-09-02 14:02:04 +02:00
Bond-009
620dd94970 Merge pull request #6495 from qsniyg/zero-activity-days
Allow zero activity log retention days
2021-09-02 13:15:37 +02:00
Gokdag Goktepe
4bed19e22f Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2021-09-02 04:29:58 -04:00
Claus Vium
ffef1baa2f Merge pull request #6485 from markshark05/patch-1
Update M3U Channel Name Precedence
2021-09-02 08:39:18 +02:00
qsniyg
2cf08dcd34 Allow zero activity log retention days 2021-09-01 15:52:59 -07:00
Mike
cf9c678406 Add subtitle format(codec) to stream display title (#5853)
Co-authored-by: Michał Kurek <michal.kurek@mail.com>
2021-09-01 18:59:59 +02:00
Bond_009
6f405dc36d Clean up VideoImageProvider 2021-09-01 18:47:24 +02:00
Bond-009
855f9c4a8e Merge pull request #6425 from boolemancer/boolemancer/fix_image_extractor
Fix explicit stream selection in MediaEncoder.ExtractImageInternal
2021-09-01 18:24:29 +02:00
Claus Vium
5ca88a835e Merge pull request #6492 from Bond-009/gitignore
Ignore Omnisharp crash logs
2021-09-01 14:45:05 +02:00
Bond_009
55c8fb7814 Ignore Omnisharp crash logs 2021-09-01 12:28:52 +00:00
Claus Vium
8ae1eb6c50 Merge pull request #6491 from Bond-009/fixbuild
Fix build
2021-09-01 14:23:50 +02:00
Bond_009
07f64102dd Fix build 2021-09-01 14:06:09 +02:00
Claus Vium
4cd372109d Merge pull request #6473 from Bond-009/nullable7
Enable nullable for more files
2021-09-01 09:28:19 +02:00
Claus Vium
501c7a639f Merge pull request #6474 from Bond-009/tests11 2021-09-01 09:24:57 +02:00
Patrick Barron
cb52ccc699 Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-31 10:57:48 -04:00
Mark Titorenkov
a0ee16d38d Update M3U Channel Name Precedence
Sets the ExtInf display name to have a higher precedence than the `tvg-name` attribute for channel names.

Usually `namInExtInf` is a more descriptive and human readable name if both it and `tvg-name` are available. `tvg-name` is more likely to be an internal identifier such as just the channel number with a prefix in my provider's case.
2021-08-31 15:12:09 +03:00
Claus Vium
e83d7a8667 Merge pull request #6327 from nyanmisaka/tonemap-overlay 2021-08-30 20:41:12 +02:00
Claus Vium
ae031fdd28 Merge branch 'master' into tonemap-overlay 2021-08-30 20:02:31 +02:00
Claus Vium
442e756395 Merge pull request #6183 from stanionascu/bdiso-playback 2021-08-30 19:54:06 +02:00
Claus Vium
b7e13f3a03 Merge pull request #5697 from Bond-009/ffmpeg2
Simplify the way we choose our ffmpeg
2021-08-30 19:36:51 +02:00
Bond_009
963ab2dab6 Simplify the way we choose our ffmpeg
* no longer search $PATH
* no longer require a full path
* don't fall back
2021-08-30 15:40:52 +02:00
Cody Robibero
ecb4b8e0aa Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-08-30 07:11:34 -06:00
Bond-009
9bf2769cdb Merge pull request #6434 from crobibero/docker-bullseye 2021-08-30 15:09:47 +02:00
Bond-009
bb685e4920 Merge pull request #6422 from daullmer/nfo-fanart 2021-08-30 15:02:25 +02:00
Bond-009
32a11c006d Merge pull request #6480 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-4.2.0
Bump prometheus-net.DotNetRuntime from 4.1.0 to 4.2.0
2021-08-30 14:25:30 +02:00
Bond-009
d07a6eb7e0 Merge pull request #6481 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.0.5
Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.4 to 2.0.5
2021-08-30 14:25:12 +02:00
Bond-009
07c7ee8f9f Merge pull request #6479 from jellyfin/dependabot/nuget/FsCheck.Xunit-2.16.1
Bump FsCheck.Xunit from 2.16.0 to 2.16.1
2021-08-30 14:24:48 +02:00
dependabot[bot]
e2fdab4be4 Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.4 to 2.0.5
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.0.4 to 2.0.5.
- [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>
2021-08-30 12:01:04 +00:00
dependabot[bot]
4c5f7207e3 Bump prometheus-net.DotNetRuntime from 4.1.0 to 4.2.0
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/4.1.0...4.2.0)

---
updated-dependencies:
- dependency-name: prometheus-net.DotNetRuntime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 12:00:56 +00:00
dependabot[bot]
e40fde04d6 Bump FsCheck.Xunit from 2.16.0 to 2.16.1
Bumps [FsCheck.Xunit](https://github.com/fsharp/FsCheck) from 2.16.0 to 2.16.1.
- [Release notes](https://github.com/fsharp/FsCheck/releases)
- [Changelog](https://github.com/fscheck/FsCheck/blob/master/FsCheck%20Release%20Notes.md)
- [Commits](https://github.com/fsharp/FsCheck/compare/2.16.0...2.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 12:00:52 +00:00
Cody Robibero
d7459fa2ec Add missing xmldoc 2021-08-28 23:02:13 -06:00
Cody Robibero
cba07b1ca6 Remove more and more warnings 2021-08-28 16:32:50 -06:00
Bond_009
0f7c875076 Fix test 2021-08-28 20:53:34 +02:00
Bond_009
69ba539c70 Add more tests for LibraryStructureController 2021-08-28 20:12:25 +02:00
Bond_009
909573f2f1 Add tests for LibraryStructureController 2021-08-28 19:30:57 +02:00
Bond_009
645825db36 Enable nullable for more files 2021-08-28 17:32:09 +02:00
TheFeelTrain
e88367fe70 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2021-08-28 07:29:55 -04:00
Bond-009
48fdc63367 Merge pull request #6461 from jellyfin/dependabot/nuget/prometheus-net.AspNetCore-5.0.1
Bump prometheus-net.AspNetCore from 4.2.0 to 5.0.1
2021-08-27 18:33:54 +02:00
dependabot[bot]
41712e16be Bump prometheus-net.AspNetCore from 4.2.0 to 5.0.1
Bumps [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) from 4.2.0 to 5.0.1.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.2.0...v5.0.1)

---
updated-dependencies:
- dependency-name: prometheus-net.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-27 15:32:56 +00:00
Bond-009
72c6e4920d Merge pull request #6462 from jellyfin/dependabot/nuget/prometheus-net-5.0.1
Bump prometheus-net from 4.2.0 to 5.0.1
2021-08-27 17:32:24 +02:00
wolong gl
59b8056add Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2021-08-26 21:29:56 -04:00
Vinícius Costa
5bcd1648cb Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2021-08-26 21:29:56 -04:00
SeanPai
c2bcceaa21 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2021-08-26 21:29:56 -04:00
Changho Park
80dc92238a Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2021-08-26 21:29:56 -04:00
lsousa
3ebede56fe Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2021-08-26 21:29:56 -04:00
Weevild
6c7b9d4044 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-08-26 21:29:56 -04:00
Lukáš Kucharczyk
d3527334bc Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2021-08-26 21:29:56 -04:00
Kaiay
74d22d2f9a Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2021-08-26 21:29:56 -04:00
Izumiko
7027e2feb2 Add 'includeAdult' option for TheMovieDb 2021-08-25 20:46:51 +08:00
Claus Vium
e15fea5dad Merge pull request #5228 from lbenini/baseitemkind-fixes 2021-08-23 22:30:05 +02:00
dependabot[bot]
efed4728e6 Bump prometheus-net from 4.2.0 to 5.0.1
Bumps [prometheus-net](https://github.com/prometheus-net/prometheus-net) from 4.2.0 to 5.0.1.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.2.0...v5.0.1)

---
updated-dependencies:
- dependency-name: prometheus-net
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 12:00:54 +00:00
wolong gl
98b72019e6 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2021-08-23 03:29:54 -04:00
Marcin Woliński
7c7ad820c2 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2021-08-23 03:29:54 -04:00
Cody Robibero
50b3d74c95 Switch to TheoryData and clean up tests 2021-08-21 17:31:06 -06:00
Bond-009
8a460fc6ba Merge pull request #6444 from cvium/fix_liverecordingsplayback
Use ProgressiveFileStream for LiveRecordings endpoint
2021-08-21 16:15:15 +02:00
Bond-009
ec649fcaf5 Merge pull request #6445 from cvium/progressivefilestream_timeout
Add timeout to ProgressiveFileStream
2021-08-21 16:14:34 +02:00
cvium
468283bfb2 Move test to TypedBaseItem folder to avoid conflicts 2021-08-18 20:11:28 +02:00
Claus Vium
663c79cba8 Merge branch 'master' into baseitemkind-fixes 2021-08-18 18:25:48 +02:00
Joshua M. Boniface
72d3f7020a Merge branch 'master' into patch-2 2021-08-18 02:46:59 -04:00
Joshua M. Boniface
e5cbafdb6b Merge pull request #5606 from lmnotran/feature/delay-service-start
Delay starting service until after network is online
2021-08-18 02:25:54 -04:00
Oatavandi
6438410111 Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2021-08-17 22:29:54 -04:00
hoanghuy309
6de2a519f2 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-08-17 22:29:54 -04:00
aqweg
2a8cb5d795 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2021-08-17 22:29:54 -04:00
nextlooper42
0c54708e1c Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2021-08-17 22:29:54 -04:00
WWWesten
2e5cb8d8b1 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-08-17 22:29:54 -04:00
WWWesten
a311116f51 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-08-17 22:29:54 -04:00
millallo
c842a2efa2 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2021-08-17 22:29:54 -04:00
Adam Bokor
61aa992628 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2021-08-17 22:29:54 -04:00
Henry Moritz
88b2b9a82a Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_MX/
2021-08-17 22:29:54 -04:00
FancyNerd92
9d445cf7fb Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2021-08-17 22:29:54 -04:00
Deathspike
95988ce33d Fix embedded subtitles taking priority over external ones 2021-08-17 20:15:16 +02:00
cvium
12a7fda0a6 Add timeout to ProgressiveFileStream 2021-08-17 19:18:26 +02:00
cvium
f23ef1f1b9 Use ProgressiveFileStream for LiveRecordings endpoint 2021-08-17 13:38:28 +02:00
Bond-009
2e7418142a Merge pull request #6437 from jellyfin/dependabot/nuget/Serilog.Settings.Configuration-3.2.0
Bump Serilog.Settings.Configuration from 3.1.0 to 3.2.0
2021-08-16 14:54:28 +02:00
Bond-009
d9f7b84156 Merge pull request #6438 from jellyfin/dependabot/nuget/FsCheck.Xunit-2.16.0
Bump FsCheck.Xunit from 2.15.3 to 2.16.0
2021-08-16 14:53:56 +02:00
Bond-009
b5157004c4 Merge pull request #6439 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.11.0
Bump Microsoft.NET.Test.Sdk from 16.10.0 to 16.11.0
2021-08-16 14:53:39 +02:00
dependabot[bot]
ee37784a35 Bump Microsoft.NET.Test.Sdk from 16.10.0 to 16.11.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.10.0 to 16.11.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.10.0...v16.11.0)

---
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>
2021-08-16 12:01:04 +00:00
dependabot[bot]
4077cb2648 Bump FsCheck.Xunit from 2.15.3 to 2.16.0
Bumps [FsCheck.Xunit](https://github.com/fsharp/FsCheck) from 2.15.3 to 2.16.0.
- [Release notes](https://github.com/fsharp/FsCheck/releases)
- [Changelog](https://github.com/fscheck/FsCheck/blob/master/FsCheck%20Release%20Notes.md)
- [Commits](https://github.com/fsharp/FsCheck/compare/2.15.3...2.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 12:00:55 +00:00
dependabot[bot]
05103a483e Bump Serilog.Settings.Configuration from 3.1.0 to 3.2.0
Bumps [Serilog.Settings.Configuration](https://github.com/serilog/serilog-settings-configuration) from 3.1.0 to 3.2.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/compare/v3.1.0...v3.2.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>
2021-08-16 12:00:51 +00:00
Claus Vium
52e27da921 Merge pull request #6239 from jvoisin/patch-1
Add a LGTM.com badge
2021-08-16 09:19:59 +02:00
Claus Vium
aac1435502 Merge pull request #6397 from MrChip53/m3u-improvements 2021-08-16 09:12:43 +02:00
Claus Vium
fb5db696eb Merge pull request #6403 from ankenyr/master 2021-08-16 09:03:34 +02:00
Claus Vium
fa77902955 Merge pull request #6430 from Bond-009/minor17
Minor improvements
2021-08-16 08:59:43 +02:00
Claus Vium
e3c2a8a3be Update Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs 2021-08-16 08:52:16 +02:00
Cody Robibero
b504d1f724 Also update arm, arm64 Dockerfile 2021-08-15 19:32:45 -06:00
Cody Robibero
33bf8e34d1 Update Dockerfile to use debian:bullseye-slim 2021-08-15 18:57:14 -06:00
ankenyr
6ba7db3d55 Removing if statement and always testing reverse of x and y. 2021-08-15 15:48:01 -07:00
ankenyr
0f9e95b4c5 Breaking up the test theory so episodes and the results are on their own lines. 2021-08-15 15:31:58 -07:00
Rob
9220682fd1 Update tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-08-15 15:26:00 -07:00
Rob
10fbb4d48d Update tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs
Thanks for this suggestion. I will try to keep this in mind going forward with future PRs

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-15 15:23:18 -07:00
MrTimscampi
7f52cda03c Make performer regex static 2021-08-16 00:22:36 +02:00
MrTimscampi
d82c2e4237 Address comments 2021-08-16 00:22:36 +02:00
MrTimscampi
8594ee7a22 Fix documentation for lyricist and arranger 2021-08-16 00:22:36 +02:00
MrTimscampi
c9b1cd1d8c Add some new music-related person types and parse from ffprobe 2021-08-16 00:22:36 +02:00
MrTimscampi
f35a527608 Add performers to the ffprobe normalization for audio 2021-08-16 00:22:36 +02:00
MrTimscampi
24083d2e38 Address comments 2021-08-16 00:22:36 +02:00
MrTimscampi
7e71c25059 Add test for audio file ffprobe normalization 2021-08-16 00:22:34 +02:00
MrTimscampi
3300d2d7d3 Enable people for audio files 2021-08-16 00:20:48 +02:00
Bond-009
db0d5b048a Merge pull request #6423 from richlander/mediabrowser-controller
Fix warnings in MediaBrowser.Controller
2021-08-16 00:06:40 +02:00
Bond_009
19824bff94 Minor improvements 2021-08-15 23:48:19 +02:00
Claus Vium
d3f291f159 Merge pull request #6392 from Bond-009/tests9
ApiServiceCollectionExtensions.AddProxyAddresses: Add more tests
2021-08-15 19:56:08 +02:00
Joshua M. Boniface
84d7db7a31 Merge pull request #6427 from winterqt/patch-1
Disable UseAppHost in portable deployment
2021-08-15 13:34:47 -04:00
Joshua M. Boniface
7fabb32482 Merge pull request #6429 from crobibero/dotnet-5.0.9
Update to dotnet 5.0.9
2021-08-15 13:34:04 -04:00
Rich Lander
e7a3552aae Update per feedback 2021-08-15 10:32:23 -07:00
Rich Lander
312e2685f8 Update MediaBrowser.Controller/Entities/IHasMediaSources.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-08-15 10:30:12 -07:00
dkanada
3cc1df68ac Merge pull request #6428 from Bond-009/tests10
Fix PasswordHash tests
2021-08-16 01:43:30 +09:00
Cody Robibero
709f8e9faa Update to dotnet 5.0.9 2021-08-15 08:30:15 -06:00
Bond-009
fc9f45b42d Merge pull request #6381 from Bond-009/nullable5
Enable nullable for DlnaManager
2021-08-15 14:14:33 +02:00
Bond_009
e8e0836f95 Fix PasswordHash tests 2021-08-15 14:13:20 +02:00
Winter
890e99725e Disable UseAppHost in portable deployment 2021-08-14 19:29:31 -04:00
dtorner
c80930c6d4 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2021-08-14 06:21:47 -04:00
Daniel
585207e05b Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2021-08-14 06:21:47 -04:00
FancyNerd92
7eb4da4eef Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2021-08-14 06:21:47 -04:00
cotlol
b6691d3fe9 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-08-14 06:21:47 -04:00
FancyNerd92
9b451f357f Translated using Weblate (English)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en/
2021-08-14 06:21:47 -04:00
artiume
7ee404ec98 Added translation using Weblate (Pirate) 2021-08-14 06:21:47 -04:00
boolemancer
2345646ff1 Fix explicit stream selection in MediaEncoder.ExtractImageInternal 2021-08-14 02:55:51 -07:00
Rich Lander
e3df4dcaae Fix warnings in MediaBrowser.Controller 2021-08-13 20:34:36 -07:00
Patrick Barron
8a1e55251e Fix devices migration 2021-08-13 21:28:17 -04:00
Patrick Barron
1615663bd2 Remove old response code documentation 2021-08-13 21:08:49 -04:00
Patrick Barron
1b197a2c2a Fix QuickConnect tests, move class to proper namespace 2021-08-13 21:08:38 -04:00
Patrick Barron
45f478f63e Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
#	MediaBrowser.Controller/Library/IUserManager.cs
#	MediaBrowser.Controller/Security/IAuthenticationRepository.cs
#	MediaBrowser.Controller/Session/ISessionManager.cs
2021-08-13 21:08:24 -04:00
Patrick Barron
15baf04bd2 Add IAuditableEntity 2021-08-13 20:35:31 -04:00
David Ullmer
bf441e49b9 Add test for fanart tag 2021-08-13 20:36:14 +02:00
David Ullmer
12e58840eb Modify FetchThumbNode method to read children of fanart tag 2021-08-13 20:33:53 +02:00
David Ullmer
577d665192 Move thumb tag parsing to separate method 2021-08-13 20:16:05 +02:00
Bond-009
04571e93f8 Merge pull request #6339 from richlander/mediabrowser-controller-entities 2021-08-13 18:07:19 +02:00
Bond-009
d639b030ac Merge pull request #6335 from richlander/media-provides-analysis-fixes 2021-08-13 17:56:39 +02:00
Nyanmisaka
a84dc794c6 Merge branch 'master' into tonemap-overlay 2021-08-13 15:01:06 +08:00
Bond-009
e33901b9f5 Merge pull request #6267 from Bond-009/minor15
Minor fixes
2021-08-13 01:31:42 +02:00
Bond-009
e5a29824e5 Merge branch 'master' into minor15 2021-08-13 00:33:18 +02:00
Bond_009
4c1286fd24 Address comment 2021-08-12 21:38:54 +02:00
Bond-009
f83a5bb08e Merge pull request #6414 from richlander/mediabrowser-controller-mediaencoding 2021-08-12 17:30:30 +02:00
Rich Lander
ad6f27143f Update MediaBrowser.Controller/Entities/Folder.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-11 13:38:23 -07:00
Rich Lander
1ac2524844 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-11 13:37:46 -07:00
ankenyr
78bbfca990 Separating out error cases from good cases. 2021-08-11 09:56:36 -07:00
Claus Vium
8458960e57 Merge pull request #6377 from richlander/optimize-docker
Optimize Dockerfiles
2021-08-11 18:29:07 +02:00
Joshua M. Boniface
ac8a768747 Merge pull request #6394 from h1dden-da3m0n/ci/noisy-container 2021-08-11 12:06:10 -04:00
Claus Vium
0216c452f1 Merge pull request #6025 from daullmer/localization-test 2021-08-11 13:14:39 +02:00
Claus Vium
3a47ad11e9 Apply suggestions from code review 2021-08-11 12:57:31 +02:00
Claus Vium
a29f702432 Merge pull request #6258 from gnuyent/feat/hardware-encode-status 2021-08-11 12:54:27 +02:00
Claus Vium
08152d2a98 Apply suggestions from code review 2021-08-11 12:50:35 +02:00
Claus Vium
408d5c78a9 Merge pull request #6262 from MrTimscampi/scanner-prefer-original-date 2021-08-11 12:39:05 +02:00
Julien Machiels
8d5b87025b Update tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-11 09:42:40 +02:00
Claus Vium
c2de5f2c23 Merge pull request #6412 from richlander/mediabrowser-controller-session 2021-08-11 08:37:18 +02:00
Rich Lander
32d27d71a8 Fix warnings in MediaBrowser.Controller/MediaEncoding directory 2021-08-10 14:29:48 -07:00
David Ullmer
d7c9b14175 Apply suggestions from code review 2021-08-10 20:28:57 +02:00
Bond-009
589ad56a8c Merge pull request #6409 from jellyfin/dependabot/nuget/UTF.Unknown-2.4.0
Bump UTF.Unknown from 2.3.0 to 2.4.0
2021-08-10 20:00:48 +02:00
David Ullmer
45e0f7893b Merge remote-tracking branch 'upstream/master' into localization-test 2021-08-10 14:03:21 +02:00
David Ullmer
b5880c2680 Minor improvements 2021-08-10 14:03:15 +02:00
David Ullmer
6b61b50b53 Revert "Refactor LocalizationManager and remove dead method"
This reverts commit db2b53a4b5.
2021-08-10 13:39:51 +02:00
David Ullmer
77aee515a2 Use correct string comparison 2021-08-10 13:37:33 +02:00
Erdinc
854bb79ae8 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2021-08-10 05:29:48 -04:00
Rich Lander
9951a51395 Fix warnings in MediaBrowser.Controller/Session 2021-08-09 19:47:26 -07:00
Rich Lander
cb990ae973 Update per feedback 2021-08-09 18:52:38 -07:00
Rich Lander
870887046c Update MediaBrowser.Providers/Plugins/Tmdb/TmdbClientManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-08-09 18:50:41 -07:00
ankenyr
67f81e8c07 Changing test name to be more descrptive. 2021-08-09 11:27:19 -07:00
Rob
579ed5c1fc Update tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-08-09 11:27:40 -07:00
dependabot[bot]
c4d8e6f056 Bump UTF.Unknown from 2.3.0 to 2.4.0
Bumps [UTF.Unknown](https://github.com/CharsetDetector/UTF-unknown) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/CharsetDetector/UTF-unknown/releases)
- [Commits](https://github.com/CharsetDetector/UTF-unknown/compare/v2.3...v2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 12:00:53 +00:00
millallo
55389453be Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2021-08-08 13:29:50 -04:00
Julien Machiels
6c2cbafee0 Update MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-08-08 16:37:35 +02:00
Bond-009
ab88e30cfa Merge pull request #6404 from crobibero/redirect-base-url
Fix redirect logic if request path is exactly the base url
2021-08-08 14:53:19 +02:00
ankenyr
5eac267569 Reverting sln file. 2021-08-07 15:55:52 -07:00
ankenyr
8e6436d8dd Removing moved files. 2021-08-07 15:36:23 -07:00
ankenyr
8b4d9339cf Changing namespace to be within Jellyfin.Server.Implementations.Tests 2021-08-07 15:07:12 -07:00
MrTimscampi
924dfe1db0 Add test for year-only parsing for FFProbe 2021-08-07 22:24:10 +02:00
MrTimscampi
ba609aefea Attempt to parse YYYY format dates in GetDictionaryDateTime
DateTime.TryParse doesn't properly parse year-only dates, so parsing results from FFProbe sometimes returns null (for example, some music tagged with Beets has yyyy format dates for release dates).
As a result, Jellyfin would previously no get the date from the FFProbe results.
This adds DateTime.TryParseExact with a format of 'yyyy' as a fallback, to attempt to properly parse the value, even if it's only a year.
2021-08-07 22:11:32 +02:00
MrTimscampi
534e088105 Prefer original data when getting premiere date from ffprobe 2021-08-07 22:02:43 +02:00
Cody Robibero
bdbac12d4f Update Jellyfin.Server/Middleware/BaseUrlRedirectionMiddleware.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-07 09:06:31 -06:00
Cody Robibero
a7585dd2d6 Fix redirect logic if request path is exactly the base url 2021-08-07 07:36:45 -06:00
ankenyr
14a53fe402 Adding tests for AiredEpisodeOrderComparer. 2021-08-06 23:12:29 -07:00
Anthony Lavado
3ee0c68cb7 Merge pull request #6402 from jellyfin/README-links
Add sponsor links
2021-08-06 14:49:31 -04:00
Anthony Lavado
439ae4ec6f Add sponsor links
Adds a horizontal line after project description and the rest of the readme, and another at the end before including DO and JB sponsorship links with images.
2021-08-06 14:32:04 -04:00
Bond-009
971c2bc7de Merge pull request #6328 from Bond-009/epparser
Improve episode parser
2021-08-06 17:29:34 +02:00
MrChip53
eaa5575b23 Add comment 2021-08-06 10:07:50 -05:00
Chris Simoni
883d28d03d Update Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-06 08:10:28 -05:00
h1dden-da3m0n
ed2a637ce3 fix missing build dependencies
needed by the build sh-scripts
2021-08-06 01:48:06 +02:00
sushilicious
6bc7d78f6f Update Emby.Naming/Video/CleanStringParser.cs
Cleaned up code a bit

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-05 13:09:42 -07:00
sushilicious
b2a10609af Made CleanStringParser go through regexps only once 2021-08-04 23:25:54 -07:00
sushilicious
7fdef4b82b Merge branch 'master' of https://github.com/jellyfin/jellyfin into HEAD 2021-08-04 23:15:48 -07:00
MrChip53
6c42d2345d Properly stream M3U file over http 2021-08-04 19:19:03 -05:00
h1dden-da3m0n
ea798de61f remove packages bundled in dotnet/sdk base image 2021-08-05 00:25:58 +02:00
h1dden-da3m0n
6a3ec7b479 change OS packaging images to be quiet
also uses the base dotnet/sdk image where possible
2021-08-04 23:34:12 +02:00
Bond_009
60053c7f3d Fix log messages 2021-08-04 18:49:54 +02:00
Bond_009
442dc10aac ApiServiceCollectionExtensions.AddProxyAddresses: Add more tests 2021-08-04 18:43:26 +02:00
Bond-009
2521a13d7d Merge pull request #6388 from Bond-009/minor16
Minor improvements
2021-08-04 18:40:13 +02:00
Bond_009
f1f72c3060 Minor improvements 2021-08-04 14:40:09 +02:00
Cody Robibero
398ca85944 Merge remote-tracking branch 'upstream/master' into baseitemkind-fixes 2021-08-04 06:24:58 -06:00
Cody Robibero
d212b6fb08 Clean test 2021-08-04 06:24:25 -06:00
Bond-009
1b8eb1aefe Merge pull request #6386 from richlander/mediabrowser-controller-livetv
Fix warnings in MediaBrowser.Controller/LiveTv
2021-08-04 13:13:34 +02:00
Nyanmisaka
d4f09c6c9b Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-08-04 16:25:17 +08:00
Rich Lander
06679eeebf Fix warnings for MediaBrowser.Controller/LiveTv 2021-08-03 21:13:49 -07:00
sushilicious
460fe76467 Merge branch 'master' of https://github.com/jellyfin/jellyfin 2021-08-03 14:30:20 -07:00
sushilicious
26f8b501e7 Made CleanStringParser more robust
Now it can handle [...] at beginning of string
2021-08-03 14:19:36 -07:00
Bond_009
4e9fbabef2 Enable nullable for DlnaManager 2021-08-03 17:54:55 +02:00
Bond-009
008c6a843e Merge pull request #6342 from richlander/mediabrowser-controller-library 2021-08-03 17:06:25 +02:00
New Jorciks
fc5841242e Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2021-08-03 08:29:49 -04:00
Winnie
8997d7ffc4 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2021-08-03 08:29:49 -04:00
Max
a8c47159ea Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2021-08-03 08:29:49 -04:00
joey
0c9b64de4b optimize episode parser 2021-08-03 13:25:23 +08:00
Rich Lander
3daf9e5afe Optimize Dockerfiles 2021-08-02 13:15:51 -07:00
Bond-009
0c9f824d0a Merge pull request #6375 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.1.5
Bump Swashbuckle.AspNetCore.ReDoc from 6.1.4 to 6.1.5
2021-08-02 19:16:51 +02:00
dependabot[bot]
16ae8cd200 Bump Swashbuckle.AspNetCore.ReDoc from 6.1.4 to 6.1.5
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.4 to 6.1.5.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.4...v6.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 17:15:58 +00:00
Bond-009
21e108ee84 Merge pull request #6376 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.1.5
Bump Swashbuckle.AspNetCore from 6.1.4 to 6.1.5
2021-08-02 19:15:14 +02:00
dependabot[bot]
3254b5f8cb Bump Swashbuckle.AspNetCore from 6.1.4 to 6.1.5
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.4 to 6.1.5.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.4...v6.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 12:00:57 +00:00
TheFeelTrain
9f378feb82 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2021-07-31 19:29:46 -04:00
Ali Amer
eadad73ee7 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-07-31 19:29:45 -04:00
Rich Lander
47da13613b Merge branch 'master' into media-provides-analysis-fixes 2021-07-30 10:44:43 -07:00
Sverre
0ee74b293d Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2021-07-30 05:29:48 -04:00
Maxim Ivanov
448ce64a56 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-07-30 05:29:48 -04:00
Bond-009
00c90cfb21 Merge pull request #6354 from Bond-009/nullable4
Enable nullable in more files
2021-07-30 09:49:40 +02:00
Rich Lander
c07e83fdf8 Invert code and style analysis configuration (#6334)
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-07-30 09:49:28 +02:00
Bond-009
92c2d20609 Merge pull request #6355 from Bond-009/opt
EnsureLibraryFolder: Minor optimization
2021-07-27 21:46:30 +02:00
Rich Lander
e72868f72b Update AggregateFolder.cs 2021-07-26 18:13:37 -07:00
Rich Lander
a0678a9261 Update ILibraryManager.cs 2021-07-26 17:58:56 -07:00
Rich Lander
092e7c91b4 Update ILibraryManager.cs 2021-07-26 17:07:47 -07:00
Rich Lander
6a005f6a4f Update ILibraryManager.cs 2021-07-26 16:40:05 -07:00
Rich Lander
dfaf89a681 Update ILibraryManager.cs 2021-07-26 16:31:25 -07:00
Rich Lander
5110835031 Update ILibraryManager.cs 2021-07-26 16:19:50 -07:00
Rich Lander
0bb6999d59 Update ILibraryManager.cs 2021-07-26 16:02:17 -07:00
Bond_009
a13a569ca4 EnsureLibraryFolder: Minor optimization 2021-07-26 23:25:21 +02:00
Bond_009
501de7b6dc Enable nullable in more files 2021-07-26 23:02:32 +02:00
Rich Lander
3e0aab390a Merge branch 'master' into mediabrowser-controller-entities 2021-07-26 13:08:27 -07:00
Bond-009
85e705d09e Merge pull request #6352 from jellyfin/dependabot/nuget/coverlet.collector-3.1.0
Bump coverlet.collector from 3.0.3 to 3.1.0
2021-07-26 21:26:12 +02:00
dependabot[bot]
33359d45be Bump coverlet.collector from 3.0.3 to 3.1.0
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.3 to 3.1.0.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/commits/v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 12:00:45 +00:00
nyanmisaka
19e3c38fa8 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-07-26 03:09:44 +08:00
SaddFox
b024059f71 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2021-07-25 09:29:45 -04:00
Bond-009
439916f4ff Merge pull request #6336 from richlander/mediabrowser-controller-channels
Fix warning in MediaBrowser.Controllers/Channels
2021-07-25 14:57:45 +02:00
Bond-009
311774e75f Merge pull request #6338 from richlander/mediabrowser-controller-providers
Fix warnings for MediaBrowser.Controller/Providers directory
2021-07-25 14:57:14 +02:00
Bond-009
90aba79fb9 Merge pull request #6346 from richlander/mediabrowser-controller-drawing
Fix warnings in MediaBrowser.Controller/Drawing
2021-07-25 14:55:59 +02:00
Bond-009
5e2975661d Merge pull request #6344 from richlander/update-sdk 2021-07-25 14:41:26 +02:00
Claus Vium
50b41dd4e7 Merge pull request #6329 from Bond-009/restests 2021-07-25 14:21:00 +02:00
Rich Lander
9aebb86a68 Fix warnings in MediaBrowser.Controller/Drawing 2021-07-24 20:33:58 -07:00
Rich Lander
e91a2b1085 Update to later .NET SDK 2021-07-24 16:42:02 -07:00
Rich Lander
5920f68ca9 Fix warnings in MediaBrowser.Controller/Library 2021-07-24 10:58:50 -07:00
nyanmisaka
3beda02d92 add support for cuda tonemap and overlay 2021-07-25 00:52:16 +08:00
nyanmisaka
aaab6a3518 add tests for FFmpeg 4.4 and 4.3.2 2021-07-25 00:52:03 +08:00
Bond-009
f3b51dd77b Update tests/Jellyfin.Model.Tests/Entities/MediaStreamTests.cs
Co-authored-by: Max Rumpf <max.rumpf1998@gmail.com>
2021-07-24 14:03:08 +02:00
Rich Lander
0ce7a15534 Fix more warnings 2021-07-23 16:36:27 -07:00
Rich Lander
a16e66615c Update MediaBrowser.Controller/Entities/AggregateFolder.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-07-23 14:19:48 -07:00
Rich Lander
32616d15f2 Update MediaBrowser.Controller/Entities/AggregateFolder.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-07-23 14:19:44 -07:00
Rich Lander
a7cc77e7fa Fix partial set of MediaBrowser.Controller/Entities warnings 2021-07-23 13:49:18 -07:00
Claus Vium
5a9bd712b3 Merge pull request #6296 from Bond-009/oscheck
Improve platform checks
2021-07-23 20:54:13 +02:00
Rich Lander
717ff4ec62 Fix warnings for MediaBrowser.Controller/Providers directory 2021-07-23 09:16:48 -07:00
Rich Lander
67efed39f2 Fix warning in m-b/channels 2021-07-22 20:37:05 -07:00
Rich Lander
927b003143 Fix remaining MediaBrowser.Providers warnings 2021-07-22 20:16:38 -07:00
Rich Lander
fb92eab69b Fix analysis issues 2021-07-22 17:33:19 -07:00
Niels van Velzen
2cd1c70e55 Add OpenAPI workflow 2021-07-22 21:19:10 +02:00
Bond_009
0512f74459 Add tests for GetResolutionText 2021-07-20 23:04:49 +02:00
Bond-009
0e2a6f8216 Merge pull request #6279 from Bond-009/tests8 2021-07-20 21:24:19 +02:00
Bond-009
c22582b5aa Merge pull request #6281 from crobibero/controller-warn-04 2021-07-20 21:24:08 +02:00
Bond-009
c817c63696 Merge pull request #6256 from MrTimscampi/better-resolution-text 2021-07-20 19:08:37 +02:00
Shin Yunho
0f0c62be68 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2021-07-20 12:29:43 -04:00
Bond_009
ef3b651aad Improve episode parser 2021-07-20 00:25:30 +02:00
Bond-009
7d9a1269f1 Merge pull request #6325 from jellyfin/dependabot/github_actions/alex-page/github-project-automation-plus-0.8.1
Bump alex-page/github-project-automation-plus from 0.7.1 to 0.8.1
2021-07-19 20:07:01 +02:00
Joshua M. Boniface
71158dfb3f Merge pull request #6326 from crobibero/5.0.8
Update to dotnet 5.0.8
2021-07-19 13:25:41 -04:00
Bond-009
95832e4d2f Merge pull request #6320 from jellyfin/dependabot/nuget/Serilog.Sinks.Console-4.0.0
Bump Serilog.Sinks.Console from 3.1.1 to 4.0.0
2021-07-19 19:25:07 +02:00
Claus Vium
d55b152e86 Merge pull request #6297 from Bond-009/parser
Fix episode parser
2021-07-19 17:46:40 +02:00
Cody Robibero
de12ee5dba Update to dotnet 5.0.8 2021-07-19 08:08:02 -06:00
dependabot[bot]
dddf216ec8 Bump alex-page/github-project-automation-plus from 0.7.1 to 0.8.1
Bumps [alex-page/github-project-automation-plus](https://github.com/alex-page/github-project-automation-plus) from 0.7.1 to 0.8.1.
- [Release notes](https://github.com/alex-page/github-project-automation-plus/releases)
- [Commits](https://github.com/alex-page/github-project-automation-plus/compare/v0.7.1...v0.8.1)

---
updated-dependencies:
- dependency-name: alex-page/github-project-automation-plus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 12:03:27 +00:00
dependabot[bot]
cd541f105c Bump Serilog.Sinks.Console from 3.1.1 to 4.0.0
Bumps [Serilog.Sinks.Console](https://github.com/serilog/serilog-sinks-console) from 3.1.1 to 4.0.0.
- [Release notes](https://github.com/serilog/serilog-sinks-console/releases)
- [Commits](https://github.com/serilog/serilog-sinks-console/compare/v3.1.1...v4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 12:00:49 +00:00
Fawrrax
e36345b9f2 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2021-07-18 15:29:42 -04:00
Bond-009
ea7c7ea48c Merge pull request #5864 from DeeJayBro/return-on-error
Fix ArgumentOutOfRangeException when getting PostedPlaybackInfo
2021-07-17 20:54:07 +02:00
Jelly Don
0e8537a6a5 Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2021-07-17 11:29:43 -04:00
SaddFox
0c26fdac37 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2021-07-17 11:29:43 -04:00
Joost
1dde41902a Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-07-17 11:29:43 -04:00
memnos
de9c367bc3 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2021-07-17 11:29:43 -04:00
Vorboid
eb9244746c Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2021-07-17 11:29:43 -04:00
Albert Chaos
5ba93da8b6 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2021-07-17 11:29:43 -04:00
Bond-009
430b28a8f9 Merge pull request #6298 from crobibero/instantmix 2021-07-17 00:42:54 +02:00
Cody Robibero
b44f191d54 Remove obsolete attribute, clean controller name 2021-07-16 08:58:04 -06:00
Claus Vium
313e5ce1af Merge pull request #6304 from Bond-009/cleanstring
Add h265 to CleanStrings
2021-07-16 13:18:21 +02:00
DeeJayBro
0ad62e7af9 Fix ArgumentOutOfRangeException when getting PostedPlaybackInfo 2021-07-16 11:48:08 +02:00
Bond_009
b9b4f3aa85 Add h265 to CleanStrings 2021-07-15 16:20:50 +02:00
Bond_009
b202bfebce Fix episode parser 2021-07-15 16:05:57 +02:00
Bill Thornton
da1dafe4cc Merge pull request #6303 from Artiume/patch-4
update bug report to ask for hwaccel
2021-07-15 10:05:50 -04:00
artiume
8af7e5fe3a update bug report to ask for hwaccel 2021-07-15 09:50:38 -04:00
Anthony Lavado
607df7899f Merge pull request #6300 from thornbill/update-stale 2021-07-14 15:25:46 -04:00
Bill Thornton
75551f04ca Disable automatic closing of PRs 2021-07-14 14:37:48 -04:00
Oatavandi
273afe8a52 Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2021-07-14 04:29:44 -04:00
danielxb-ar
7f06cdc83f Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2021-07-14 04:29:44 -04:00
nextlooper42
74d45636b5 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2021-07-14 04:29:44 -04:00
jtasseroul
1d4d508f30 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-07-14 04:29:44 -04:00
Lukáš Kucharczyk
5debcf0763 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2021-07-14 04:29:44 -04:00
WWWesten
39bc4bf9e3 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-07-14 04:29:44 -04:00
wolong gl
87ba51f6e4 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2021-07-14 04:29:44 -04:00
WWWesten
93a6f13a3d Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-07-14 04:29:44 -04:00
Larvitar
e977665e5d Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2021-07-14 04:29:44 -04:00
danielxb-ar
09904857b5 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2021-07-14 04:29:44 -04:00
Csaba
ab85baf6eb Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2021-07-14 04:29:44 -04:00
Oatavandi
502c656874 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2021-07-14 04:29:44 -04:00
Moritz
31c65058a4 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2021-07-14 04:29:43 -04:00
hoanghuy309
927ec5a363 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-07-14 04:29:43 -04:00
Patrick Barron
60ce0c9fa9 Add dto for device options 2021-07-13 19:30:11 -04:00
Bond-009
db579e6eee Merge pull request #6292 from jellyfin/dependabot/nuget/prometheus-net.AspNetCore-4.2.0 2021-07-13 01:28:07 +02:00
Bond-009
62536196df Merge pull request #6295 from jellyfin/dependabot/nuget/SkiaSharp.NativeAssets.Linux-2.80.3 2021-07-13 01:27:56 +02:00
Cody Robibero
24c861c23b Remove extra endpoint 2021-07-12 17:22:01 -06:00
dependabot[bot]
00b1f96ed0 Bump prometheus-net.AspNetCore from 4.1.1 to 4.2.0
Bumps [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.1.1...v4.2.0)

---
updated-dependencies:
- dependency-name: prometheus-net.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 21:54:28 +00:00
dependabot[bot]
903628af76 Bump SkiaSharp.NativeAssets.Linux from 2.80.2 to 2.80.3
Bumps SkiaSharp.NativeAssets.Linux from 2.80.2 to 2.80.3.

---
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>
2021-07-12 21:54:28 +00:00
Bond-009
b20977dc25 Merge pull request #6289 from Bond-009/warn33
Fix some warnings
2021-07-12 23:53:52 +02:00
Bond-009
34fba1a787 Merge pull request #6294 from jellyfin/dependabot/nuget/SkiaSharp-2.80.3 2021-07-12 23:53:29 +02:00
Bond-009
03279d711f Merge pull request #6293 from jellyfin/dependabot/nuget/prometheus-net-4.2.0
Bump prometheus-net from 4.1.1 to 4.2.0
2021-07-12 23:53:17 +02:00
Bond_009
8528e9bddb Improve platform checks 2021-07-12 20:21:51 +02:00
dependabot[bot]
26f6c5520c Bump SkiaSharp from 2.80.2 to 2.80.3
Bumps SkiaSharp from 2.80.2 to 2.80.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 12:00:57 +00:00
dependabot[bot]
e757c58e86 Bump prometheus-net from 4.1.1 to 4.2.0
Bumps [prometheus-net](https://github.com/prometheus-net/prometheus-net) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.1.1...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 12:00:56 +00:00
Claus Vium
951a9f39c0 Merge pull request #6240 from Bond-009/quickconnecttests
Add tests for QuickConnectManager
2021-07-12 09:39:11 +02:00
Claus Vium
b6006742fa Merge pull request #6290 from Bond-009/update2
Remove old "has update available" code
2021-07-12 09:34:34 +02:00
Bond_009
915141f196 Fix some warnings 2021-07-11 22:51:36 +02:00
Bond_009
b91c4be74c Remove old "has update available" code
This is the job of a package manager (or maybe the tray app for windows)
2021-07-11 22:42:02 +02:00
Bond_009
8b1a211081 MediaInfoControllerTests: Check Content-Length 2021-07-11 22:06:01 +02:00
Brandon Nguyen
c6bac31042 Add int values to HardwareEncodingType enum 2021-07-11 11:59:52 -07:00
Bond-009
203c46de33 Merge pull request #6283 from natedawg/master 2021-07-11 13:07:57 +02:00
natedawg
6957bc9a12 Fix spelling of artist K/DA in splitting whitelist 2021-07-10 16:26:42 -07:00
Cody Robibero
65f8d8c0cd [CA1801] Parameter is never used. Remove the parameter or use it in the method body. 2021-07-10 10:09:02 -06:00
Cody Robibero
4281722d5a Fix [SA1629] Documentation text should end with a period 2021-07-10 10:05:41 -06:00
Bond-009
61141314e8 Merge pull request #6280 from MrTimscampi/audio-exceptions
Add more artist names to the splitting whitelist
2021-07-10 17:39:06 +02:00
MrTimscampi
020c0fc4cb Add more artist names to the splitting whitelist 2021-07-10 17:09:44 +02:00
Bond_009
abbcf5e4f7 Add tests for Playback/BitrateTest endpoint 2021-07-10 15:09:56 +02:00
Bond-009
c47390914c Merge pull request #6276 from crobibero/bitrate-test 2021-07-10 15:08:47 +02:00
Bond-009
94d5d630a8 Merge pull request #6115 from Maxr1998/refactor-proberesultnormalizer
Refactor ProbeResultNormalizer
2021-07-10 14:05:16 +02:00
Cody Robibero
43b0d0fa95 Fix error message, use range parameters 2021-07-10 05:34:15 -06:00
Tim040
ff010c16aa Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-07-09 23:45:39 -04:00
aqilisk
0f57959c55 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-07-09 23:45:39 -04:00
Kachelkaiser
7bf9cc6887 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2021-07-09 23:45:39 -04:00
Benito Sebe
faa3ec14e9 Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2021-07-09 23:45:39 -04:00
Rajmond Burgaj
ff1a78a82f Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2021-07-09 23:45:39 -04:00
Fabrício Jácome
f282f6f924 Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2021-07-09 23:45:39 -04:00
Hannes
7a2791e904 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-07-09 23:45:39 -04:00
Cody Robibero
e7022cc3fc Use asp validation and increase max size 2021-07-09 09:07:22 -06:00
Bond-009
d8b9f4dc2d Merge pull request #6274 from thornbill/restore-max-resolution-params
Restore max width and height params
2021-07-09 13:44:27 +02:00
Maxr1998
11a5551218 Refactor ProbeResultNormalizer
Improve code structure and readability
2021-07-09 02:06:38 +02:00
Bill Thornton
3090971feb Restore max width and height params 2021-07-08 14:53:56 -04:00
Bond-009
40c73e96a9 Merge pull request #6268 from Bond-009/redirecttest
Add test for RobotsRedirectionMiddleware
2021-07-08 16:16:04 +02:00
Brandon Nguyen
d0c5e25ec0 Use nullable enum type instead of strings 2021-07-05 16:52:52 -07:00
Bond_009
e19dce3c53 Add test for RobotsRedirectionMiddleware 2021-07-06 01:07:10 +02:00
Bond_009
5bd8ba886a Add tests for QuickConnectManager 2021-07-06 00:02:54 +02:00
Bond_009
1f99c9b90c Minor fixes 2021-07-06 00:01:33 +02:00
Bond-009
a9aeb6570b Merge pull request #6233 from Bond-009/warn32
MediaBrowser.Providers: Remove some warnings
2021-07-05 23:59:08 +02:00
MrTimscampi
3b8947aba6 Add using keywords to non-disposed objects in BuildThumbCollageBitmap 2021-07-05 19:41:10 +02:00
MrTimscampi
a25c3d1cda Remove usage of this in GetResolutionText 2021-07-04 10:22:17 +02:00
Brandon Nguyen
df17c67f11 Use hardware encoding string over boolean 2021-07-03 15:29:07 -07:00
Brandon Nguyen
7e3c94d094 Add hardware encoding status to playback data
Resolves #6087
2021-07-03 01:12:09 -07:00
MrTimscampi
8a65a6dfc3 Use artist backdrop for generated library image 2021-07-03 02:50:28 +02:00
MrTimscampi
bcae195cc3 Refactor GetResolutionText
This improves GetResolutionText a little by making it easier to read and better parsing resolutions (Also adding a few new ones like PAL resolutions and 8K)

Co-authored-by: Maxr1998 <max.rumpf1998@gmail.com>
2021-07-03 01:45:24 +02:00
Bond-009
1dcf03e33c Merge pull request #6236 from Bond-009/quickconnect
Fix QuickConnect
2021-06-30 01:05:24 +02:00
Bond-009
539dc2ba82 Merge pull request #6241 from jellyfin/dependabot/nuget/Serilog.Sinks.Async-1.5.0
Bump Serilog.Sinks.Async from 1.4.0 to 1.5.0
2021-06-28 21:18:24 +02:00
Bond-009
3100ecd145 Merge pull request #6242 from jellyfin/dependabot/nuget/Serilog.Sinks.File-5.0.0
Bump Serilog.Sinks.File from 4.1.0 to 5.0.0
2021-06-28 21:17:30 +02:00
dependabot[bot]
b434b16ddc Bump Serilog.Sinks.File from 4.1.0 to 5.0.0
Bumps [Serilog.Sinks.File](https://github.com/serilog/serilog-sinks-file) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/serilog/serilog-sinks-file/releases)
- [Changelog](https://github.com/serilog/serilog-sinks-file/blob/dev/CHANGES.md)
- [Commits](https://github.com/serilog/serilog-sinks-file/compare/v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: Serilog.Sinks.File
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 12:00:58 +00:00
dependabot[bot]
d933262c2b Bump Serilog.Sinks.Async from 1.4.0 to 1.5.0
Bumps [Serilog.Sinks.Async](https://github.com/serilog/serilog-sinks-async) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/serilog/serilog-sinks-async/releases)
- [Commits](https://github.com/serilog/serilog-sinks-async/compare/v1.4.0...v1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 12:00:51 +00:00
Julien Voisin
66e452422c Add a LGTM.com badge 2021-06-28 06:15:07 +00:00
Patrick Barron
06d682c296 Merge remote-tracking branch 'origin/authenticationdb-efcore' into authenticationdb-efcore 2021-06-27 16:46:09 -04:00
Patrick Barron
af2e7aec2e Add missing service registration for IAuthenticationManager 2021-06-27 16:45:41 -04:00
Patrick Barron
fdba71e133 Fix Api Key authentication 2021-06-27 16:44:34 -04:00
Patrick Barron
bbac9ff67e GetDeviceOptions always returns an instance of DeviceOptions 2021-06-27 16:42:26 -04:00
Bond_009
4e80eac5f3 Fix QuickConnect 2021-06-27 18:20:37 +02:00
Bond_009
cf061f7563 MediaBrowser.Providers: Remove some warnings 2021-06-27 02:00:27 +02:00
Patrick Barron
5d1139ec62 Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-06-26 15:17:57 -04:00
Patrick Barron
befedaf6fc Update Emby.Server.Implementations/Session/SessionManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-06-25 21:13:38 -04:00
Patrick Barron
dbfd30ec4c Migrate DeviceOptions 2021-06-24 09:38:37 -04:00
Patrick Barron
d3e02e918d Merge pull request #166 from crobibero/authdb-qc
Fix QuickConnect interation with AuthenticationDb
2021-06-24 06:21:41 -04:00
crobibero
397868be95 Fix issues with QuickConnect and AuthenticationDb 2021-06-23 21:07:08 -06:00
Patrick Barron
ae878fa051 Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
#	Emby.Server.Implementations/Session/SessionManager.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
2021-06-23 20:22:12 -04:00
Claus Vium
9405604913 Merge pull request #6174 from Bond-009/diacritics
Remove our own RemoveDiacritcs string extension in favor of Diacritics.Net
2021-06-22 12:25:59 +02:00
Bond_009
981cf4cfa0 Remove our own RemoveDiacritcs string extension in favor of Diacritics.Net 2021-06-22 09:48:40 +02:00
Claus Vium
a41065a248 Merge pull request #6200 from nielsvanvelzen/fix-quickconnect
Refactor Quick Connect
2021-06-22 09:43:14 +02:00
Niels van Velzen
7d46ca9317 Refactor Quick Connect 2021-06-22 09:13:14 +02:00
Claus Vium
f50bdb0f32 Merge pull request #6204 from Bond-009/extensions 2021-06-22 07:38:08 +02:00
Patrick Barron
f96722fa74 Fix migration 2021-06-21 19:06:21 -04:00
Patrick Barron
3884837513 Convert method group to lambda in DeviceManager 2021-06-21 19:01:34 -04:00
Patrick Barron
784f29f753 Use named tuple for QuickConnect 2021-06-21 19:00:24 -04:00
Patrick Barron
544e059395 Revert unintended change in SchedulesDirect 2021-06-21 18:57:59 -04:00
crobibero
39e84ba4ab Suggestions from review 2021-06-21 16:06:54 -06:00
Cody Robibero
fa7b7b84e7 Update CONTRIBUTORS.md
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-06-21 16:06:25 -06:00
Bond_009
db716bde95 Jellyfin.Extensions: Enable analyzers for release mode 2021-06-22 00:01:27 +02:00
Joshua M. Boniface
026d8d28b7 Merge pull request #6210 from bellegarde-c/master
debian: Add maxcpucount option to override_dh_auto_build. Fix #5234
2021-06-21 17:08:39 -04:00
Cédric Bellegarde
46665168a7 debian: Add maxcpucount option to override_dh_auto_build. Fix #5234 2021-06-21 11:39:51 +02:00
Claus Vium
96b2887a15 Merge pull request #6208 from h1dden-da3m0n/ci/no-automation-in-forks 2021-06-21 08:49:37 +02:00
h1dden-da3m0n
44b54a2637 disable project automation in forks
these workflows always fail in forks due to missing tokens etc.
2021-06-20 19:42:52 +02:00
crobibero
ac76519081 Enhance BaseItemKindTests 2021-06-20 07:15:46 -06:00
crobibero
790b284184 Add missing BaseItemKind 2021-06-20 07:15:32 -06:00
crobibero
23dd6e2d9f Merge remote-tracking branch 'upstream/master' into baseitemkind-fixes 2021-06-20 07:09:24 -06:00
Patrick Barron
d64e14fcb8 Use ReadOnlySpan in GetImagesForPrograms 2021-06-19 15:26:24 -04:00
Patrick Barron
67308f489f Implement DeleteDevice 2021-06-19 15:24:53 -04:00
Patrick Barron
2a9474f6e7 Count records before skipping 2021-06-19 15:24:42 -04:00
Patrick Barron
6b24cc6d1f Fix UpdateDeviceOptions 2021-06-19 15:24:26 -04:00
Patrick Barron
3123ea2a94 Add missing ConfigureAwait call 2021-06-19 15:09:16 -04:00
Bond_009
6f8ccab788 Move non-jellyfin extensions to separate project 2021-06-19 18:04:46 +02:00
Patrick Barron
54fdc2fd88 Use ExecuteSqlInterpolated instead of ExecuteSqlRaw
oop
2021-06-18 19:15:08 -04:00
Patrick Barron
be88efce3c Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Devices/DeviceManager.cs
#	Emby.Server.Implementations/HttpServer/Security/SessionContext.cs
#	Emby.Server.Implementations/Security/AuthenticationRepository.cs
#	Emby.Server.Implementations/Session/SessionManager.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
#	MediaBrowser.Controller/Library/IUserManager.cs
#	MediaBrowser.Controller/Net/ISessionContext.cs
2021-06-18 18:56:10 -04:00
Bond-009
0c3dcdf77b Merge pull request #6197 from MrTimscampi/sub-delivery-docs
Document SubtitleDeliveryMethod
2021-06-19 00:42:54 +02:00
Patrick Barron
336ba2879f Re-add support for API keys 2021-06-18 18:26:58 -04:00
Patrick Barron
0292936c65 Use consistent name for db context 2021-06-18 17:09:59 -04:00
Patrick Barron
4206c0e091 Combine if statements 2021-06-18 17:09:39 -04:00
Patrick Barron
3264575047 Add data migration 2021-06-18 17:07:30 -04:00
Patrick Barron
3fd0b1a359 Recreate devices migration with missing fields 2021-06-18 17:07:22 -04:00
Patrick Barron
3d9c16ba6b Fix concurrency issues 2021-06-18 17:06:38 -04:00
Patrick Barron
373155a063 Correctly handle devices without custom names 2021-06-18 16:57:46 -04:00
MrTimscampi
22efb69e92 Document SubtitleDeliveryMethod 2021-06-18 18:26:14 +02:00
Joshua M. Boniface
c791c3a215 Merge pull request #6191 from crobibero/5.0.7
Update to dotnet 5.0.7
2021-06-18 11:29:55 -04:00
Bond-009
004c53a5a5 Merge pull request #6180 from crobibero/test-controller
Ignore Test Controllers
2021-06-18 11:44:45 +02:00
Claus Vium
cd36b8067f Merge pull request #5988 from Bond-009/fuzz
Add fuzzing infrastructure
2021-06-14 19:30:05 +02:00
crobibero
e021a0e9ce Update to dotnet 5.0.7 2021-06-14 06:44:55 -06:00
Stanislav Ionascu
351ae66509 Better detection of the ISO DVD/BD types
The ISO image will be opened and checked for disc-type specific
folders.
Can be overridden using NAME.dvd.iso / NAME.bluray.iso
2021-06-13 19:24:06 +02:00
Bond-009
aaa9cc604f Merge pull request #6176 from nielsvanvelzen/userid-required
Require userId in getItems and getTrailers endpoints
2021-06-13 15:06:30 +02:00
crobibero
d32bbf181a Ignore all test controllers 2021-06-13 06:32:28 -06:00
Bond-009
04daf0ff49 Merge pull request #6175 from nielsvanvelzen/crobibero-is-stupid
Fix routeMediaSourceId route parameter in SubtitleController GetSubtitle
2021-06-12 17:02:33 +02:00
Niels van Velzen
226abde3f7 Change userId to required in operations that would otherwise throw exceptions 2021-06-12 16:19:34 +02:00
Niels van Velzen
0a0e10e854 Fix routeMediaSourceId route parameter in SubtitleController GetSubtitle 2021-06-12 15:38:13 +02:00
Claus Vium
93dbbfea03 Merge pull request #6173 from Bond-009/tests5
Add test for ReadOnlySpan.Count extension
2021-06-12 08:08:46 +02:00
Bond-009
83e492b72b Merge pull request #5384 from Larvitar/season-metadata-fix 2021-06-12 00:58:58 +02:00
Bond_009
5fb72951a0 Add test for ReadOnlySpan.Count extension 2021-06-12 00:56:09 +02:00
Claus Vium
8daa679a26 Update MediaBrowser.Providers/Manager/MetadataService.cs 2021-06-12 00:22:55 +02:00
Claus Vium
cb77f8ee28 Merge pull request #6172 from Bond-009/nullable6
Remove useless nullable directives
2021-06-12 00:22:30 +02:00
Bond-009
cfad97ff28 Merge pull request #6096 from cvium/saving_private_ram 2021-06-12 00:20:54 +02:00
cvium
66de842896 Use stackalloc in Format3DParser.Parse 2021-06-12 00:16:33 +02:00
Bond_009
383c2d7374 Remove useless nullable directives 2021-06-11 23:36:10 +02:00
Stan
adf406b182 Fix playback of complex BluRay ISOs (#6166) 2021-06-10 20:07:28 +02:00
Claus Vium
d366fd3fd7 Merge pull request #6165 from Bond-009/tests4
Fix duplicate keys causing an exception
2021-06-09 10:23:29 +02:00
Bond_009
06401ffa0d Fix duplicate keys causing an exception 2021-06-09 09:59:30 +02:00
Bond_009
f7392394fd Add fuzzing infra 2021-06-08 22:22:32 +02:00
Claus Vium
b986cb57b7 Merge pull request #6163 from Bond-009/tests3
Fix index out of range and add reg tests
2021-06-08 15:53:34 +02:00
Bond_009
2fc14375f8 Fix index out of range and add reg tests 2021-06-08 15:35:49 +02:00
Claus Vium
ed2f08d05f Merge pull request #6156 from Bond-009/minor14
Minor fixes
2021-06-07 23:09:50 +02:00
Claus Vium
93387ba235 Merge pull request #5990 from BaronGreenback/UrlDecoding 2021-06-07 23:07:59 +02:00
Claus Vium
19a1889906 Merge pull request #6162 from crobibero/no-base-redirect
Redirect to default if root is requested
2021-06-07 23:06:33 +02:00
BaronGreenback
147612f59b Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:22:37 +01:00
BaronGreenback
37326a8099 Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:22:28 +01:00
BaronGreenback
ada052fcb1 Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:22:17 +01:00
BaronGreenback
c1fa7cbbf8 Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:22:11 +01:00
BaronGreenback
371f8629b1 Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:21:47 +01:00
BaronGreenback
133ce65e28 Update tests/Jellyfin.Server.Integration.Tests/Controllers/EncoderController.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:21:30 +01:00
BaronGreenback
e71c10df46 Update tests/Jellyfin.Server.Integration.Tests/Controllers/EncoderController.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:21:22 +01:00
BaronGreenback
e1a0b5d2a1 Update Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:21:15 +01:00
BaronGreenback
cc2166550f Update Jellyfin.Server/Middleware/QueryStringDecodingMiddleware.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:20:44 +01:00
BaronGreenback
b59e81dcdf Update Jellyfin.Server/Middleware/QueryStringDecodingMiddleware.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-06-07 16:20:37 +01:00
dependabot[bot]
4e9570598b Bump cirrus-actions/rebase from 1.4 to 1.5
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.4 to 1.5.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.4...1.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 14:17:50 +00:00
Joshua M. Boniface
cee8b87330 Merge pull request #6137 from ferferga/actions
Refactor Github Actions
2021-06-07 10:17:11 -04:00
crobibero
dfc776e451 Redirect to default if root is requested 2021-06-07 07:47:49 -06:00
Bond-009
2b5762fc68 Merge pull request #6160 from jellyfin/dependabot/nuget/sharpcompress-0.28.3
Bump sharpcompress from 0.28.2 to 0.28.3
2021-06-07 15:30:19 +02:00
dependabot[bot]
2245c6c43e Bump sharpcompress from 0.28.2 to 0.28.3
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.28.2 to 0.28.3.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28.2...0.28.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 13:27:11 +00:00
Bond-009
5075c04d23 Merge pull request #6161 from jellyfin/dependabot/nuget/SQLitePCL.pretty.netstandard-3.1.0 2021-06-07 15:26:12 +02:00
dependabot[bot]
e81eb2f065 Bump SQLitePCL.pretty.netstandard from 3.0.1 to 3.1.0
Bumps [SQLitePCL.pretty.netstandard](https://github.com/jellyfin/SQLitePCL.pretty.netstandard) from 3.0.1 to 3.1.0.
- [Release notes](https://github.com/jellyfin/SQLitePCL.pretty.netstandard/releases)
- [Commits](https://github.com/jellyfin/SQLitePCL.pretty.netstandard/commits)

---
updated-dependencies:
- dependency-name: SQLitePCL.pretty.netstandard
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 12:00:45 +00:00
Claus Vium
f17d43c564 Merge pull request #6071 from BaronGreenback/DLNAFolderFixPart1
Make DLNA folders to work as expected.
2021-06-07 09:55:58 +02:00
Claus Vium
9963d0ce5e Merge pull request #5803 from crobibero/healthy-base-url 2021-06-07 09:54:44 +02:00
Claus Vium
1c6bf16d15 Merge pull request #6150 from Bond-009/proptest 2021-06-07 09:46:46 +02:00
Claus Vium
b8f5a14384 Merge pull request #6117 from LinFor/pr_originaltitle_in_lookupinfo
Add OriginalTitle to ItemLookupInfo
2021-06-07 09:37:49 +02:00
Bond-009
ce434ebc7a Add comment 2021-06-06 19:30:43 +02:00
Bond_009
c78457e6d3 Minor fixes 2021-06-06 18:11:51 +02:00
Cody Robibero
d461e3912a Remove warninigs from MediaBrowser.Controller (Part 3) (#6078)
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-06-06 17:16:41 +02:00
cvium
9111730a0a More review 2021-06-05 20:16:04 +02:00
Bond_009
915855e422 Add property based testing 2021-06-05 13:32:22 +02:00
Cody Robibero
9154f20b34 Don't dispose managed CancellationTokenSource (#6139) 2021-06-04 14:36:58 +02:00
Tommaso Stocchi
02a56d8cf7 Changed return type desc in GetParts() summary 2021-06-03 17:45:22 +02:00
Tommaso Stocchi
2a72c33ba6 authorizationheader as readonlyspan<char> instead of string 2021-06-03 17:43:50 +02:00
Tommaso Stocchi
d1b34a1e97 -fix authorizationHeader is no longer a string 2021-06-03 17:37:42 +02:00
Tommaso Stocchi
2b232df07f Merge branch 'master' into bug/authorization-header-issue 2021-06-03 17:15:32 +02:00
Tommaso Stocchi
dc261b815f -fix AuthorizationHeader parameter name 2021-06-03 17:12:16 +02:00
Tommaso Stocchi
d86964eb6a Merge branch 'bug/authorization-header-issue' of https://github.com/tommasodotNET/jellyfin into bug/authorization-header-issue 2021-06-03 17:10:22 +02:00
Tommaso Stocchi
3c019d1324 Using for instead of while 2021-06-03 17:10:19 +02:00
Tommaso Stocchi
3951546b1f Update Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
Co-authored-by: artiume <siderite@gmail.com>
2021-06-03 17:07:25 +02:00
Joshua M. Boniface
b060d9d0f1 Merge pull request #6131 from BaronGreenback/Fix_NetworkFlooding
Fix network flooding issue
2021-06-02 22:07:58 -04:00
Bond-009
1e1e9dbb58 Merge pull request #6135 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.10.0
Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0
2021-06-01 22:53:14 +02:00
Fernando Fernández
854a12b312 Refactor Github Actions 2021-05-31 22:44:59 +02:00
cvium
cfba7daa50 revert test change 2021-05-31 14:27:26 +02:00
dependabot[bot]
38ebd6147a Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.9.4 to 16.10.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.9.4...v16.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 12:01:11 +00:00
cvium
0835b26889 review 2021-05-31 13:55:54 +02:00
Joshua M. Boniface
80875e2573 Merge pull request #6133 from ferferga/pull_request_target 2021-05-30 18:59:27 -04:00
Fernando Fernández
d9bd162739 Don't trigger workflows in unnecessary events and always use jellyfin-bot 2021-05-31 00:40:02 +02:00
Fernando Fernández
a29ee991a4 Use pull_request_target instead of pull_request 2021-05-31 00:35:41 +02:00
Joshua M. Boniface
499dee0100 Add workflow for checking stable backports (#6056)
Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>
2021-05-30 13:50:50 -04:00
BaronGreenback
40a43f9485 remove link between ssdp and upnp 2021-05-30 15:43:16 +01:00
Bond-009
9712fa85c4 Merge pull request #6121 from Bond-009/warn52
Fix some warnings
2021-05-30 10:11:05 +02:00
Mariusz Chryc
d44025c620 Clear episode and season provider IDs during ApplySearchResult 2021-05-29 10:56:38 +02:00
Claus Vium
3b5214e595 Update Emby.Naming/Video/VideoListResolver.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-05-28 19:01:29 +02:00
Claus Vium
2d5ed7cb95 Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-05-28 19:01:08 +02:00
Bond_009
0bc0601442 Fix some warnings 2021-05-28 14:33:54 +02:00
crobibero
9595aa258e Simplify BaseUrlRedirectionMiddleware 2021-05-27 06:31:00 -06:00
crobibero
01e8ff8ddf Merge remote-tracking branch 'upstream/master' into healthy-base-url 2021-05-27 06:07:57 -06:00
Bond-009
71c98d2f81 Merge pull request #6116 from Maxr1998/contribs
Fix broken link in CONTRIBUTORS and add myself
2021-05-27 13:12:53 +02:00
PingWin
05c241da78 Add OriginalTitle to ItemLookupInfo 2021-05-27 10:36:56 +00:00
Maxr1998
2c161fc4f1 Fix broken link in CONTRIBUTORS and add myself 2021-05-27 12:12:44 +02:00
Claus Vium
b12f509de3 Merge pull request #5696 from Maxr1998/fix-music-video-metadata-probing 2021-05-27 10:20:22 +02:00
Claus Vium
6b9251fa10 Merge pull request #6102 from LinFor/pr_dont_prefer_omdb_rating
Don't prefer OMDB rating over all other providers
2021-05-27 08:28:16 +02:00
Claus Vium
6080093b51 Merge pull request #6094 from crobibero/album-artist-sort
Add sorting to /Artists/AlbumArtists
2021-05-27 07:23:34 +02:00
Claus Vium
61346dd2e2 Merge pull request #5828 from jackrvan/issue-5813
Add NextUpCutoffDate to NextUpQuery
2021-05-27 07:22:06 +02:00
Jack
accb974605 Add optional back 2021-05-26 22:49:53 -04:00
Jack
e3ff473bd4 Review notes to set value to Datetime min value instead of null 2021-05-25 20:46:29 -04:00
PingWin
7cba148a30 Don't prefer OMDB rating over all other providers 2021-05-25 14:38:02 +00:00
David Ullmer
e33e3ba610 Make localizationManager local instead of field 2021-05-25 12:33:55 +02:00
Claus Vium
8a58d552a6 Update tests/Jellyfin.Api.Tests/Jellyfin.Api.Tests.csproj 2021-05-25 00:35:16 +02:00
Claus Vium
75704effae Merge pull request #5659 from ssenart/feature/5644-dlna_next_track 2021-05-24 20:35:07 +02:00
Claus Vium
2f9034c94b Update Emby.Dlna/PlayTo/Device.cs 2021-05-24 19:37:23 +02:00
Claus Vium
e134a3677c Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-24 19:29:29 +02:00
Claus Vium
ffe2770388 Merge pull request #6043 from peterspenler/feature/chromecast-aac-handling
Reorder requested audio channels checks
2021-05-24 19:24:40 +02:00
Claus Vium
de80ce93db Merge pull request #6031 from ferferga/sql-optimization
Run SQLite query planner optimization at shutdown/restart
2021-05-24 13:50:34 +02:00
Fernando Fernández
6db229af5d Address review comments 2021-05-24 10:48:01 +02:00
Fernando Fernández
3b822116ed Create scheduled task for database optimization 2021-05-24 10:45:21 +02:00
Fernando Fernández
69baa9c467 Run SQLite query planner optimization at shutdown/restart 2021-05-24 10:45:21 +02:00
Claus Vium
74ba079c5c Merge pull request #5886 from Artiume/patch-3
Request all the logs
2021-05-24 08:53:29 +02:00
Claus Vium
9f2e8063ec Merge pull request #5997 from JKI12/master
Fixes for Book Progress
2021-05-24 08:52:38 +02:00
Claus Vium
1594385497 Merge pull request #6038 from crobibero/delete-existing-sessions
Don't logout if deviceId is null
2021-05-24 08:43:44 +02:00
Claus Vium
45e27a3bc4 Merge pull request #6075 from MrTimscampi/codec-tag-hdr
Properly detect Dolby Vision files derived from AV1, AVC and HEVC
2021-05-24 08:27:22 +02:00
cvium
1580bf5469 Fix property instantiation order 2021-05-24 08:03:24 +02:00
cvium
42a2cc1747 Remove some unnecessary allocations 2021-05-24 00:30:41 +02:00
crobibero
e01ce826e0 Allow sorting for AlbumArtist 2021-05-23 08:38:05 -06:00
BaronGreenback
51fb6e1d2d Merge branch 'master' into IsRoot_fix 2021-05-22 22:01:03 +01:00
Bond-009
db9d3b8653 Merge pull request #6090 from cvium/bump_sqlitepclpretty
Bump SQLitePCL.pretty.netstandard to 3.0.1
2021-05-21 23:16:30 +02:00
cvium
3b59064f97 Bump SQLitePCL.pretty.netstandard to 3.0.1 2021-05-21 19:35:00 +02:00
BaronGreenback
d0537a3271 Set isRoot to true 2021-05-21 15:07:35 +01:00
Marius Lindvall
19e2e0b7b8 Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2021-05-21 08:31:01 -04:00
TokieSan
d6ab9ab328 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-05-21 08:31:01 -04:00
Bond-009
0a30d8dd98 Merge pull request #6086 from Bond-009/deadcode
Remove dead code
2021-05-21 13:52:37 +02:00
Bond_009
9b8eb1ba53 Remove dead code 2021-05-21 13:43:49 +02:00
Bond-009
8046143158 Merge pull request #6084 from Bond-009/nullable5
Enable nullable reference types for MediaBrowser.MediaEncoding
2021-05-21 13:05:13 +02:00
Bond-009
d61530eb4b Merge pull request #6083 from Bond-009/nullable4
Enable nullable reference types for Emby.Server.Implementations
2021-05-21 13:05:03 +02:00
Patrick Barron
37a8a82ac5 Make methods static in AuthenticationContext 2021-05-21 00:19:54 -04:00
Patrick Barron
b6446c06ee Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Security/AuthenticationRepository.cs
#	Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
#	MediaBrowser.Controller/Devices/IDeviceManager.cs
2021-05-21 00:19:07 -04:00
Patrick Barron
a0c6f72762 Migrate authentication db to EF Core 2021-05-20 23:56:59 -04:00
Patrick Barron
b03f2353d8 Generate Access token in constructor 2021-05-20 20:57:10 -04:00
Patrick Barron
f4d1c3ef7a Add device query class 2021-05-20 20:48:53 -04:00
Patrick Barron
ab63a7745c Add PaginatedQuery abstract class, change startIndex to skip 2021-05-20 20:48:41 -04:00
Patrick Barron
e1f7086077 Remove unnecessary query class 2021-05-20 20:39:22 -04:00
Bond-009
a937a854f2 Merge pull request #6013 from Bond-009/minor13 2021-05-21 01:29:36 +02:00
Bond-009
95b909546d Merge pull request #6033 from Ullmie02/tmdb-person-language 2021-05-20 22:50:42 +02:00
Bond_009
7e8428e588 Enable nullable reference types for Emby.Server.Implementations 2021-05-20 22:48:53 +02:00
Bond-009
a7b7ff000b Merge branch 'master' into tmdb-person-language 2021-05-20 22:46:40 +02:00
Bond-009
e8790bfa96 Merge pull request #6054 from cvium/allocationz_2_extreme_db_plsdonthurtme 2021-05-20 22:40:25 +02:00
Bond_009
26d7fc8280 Enable nullable reference types for MediaBrowser.MediaEncoding.Subtitles 2021-05-20 22:10:19 +02:00
Sanaf Raw
c6ca722e57 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2021-05-19 16:30:58 -04:00
cvium
e0f793799a Fix build 2021-05-19 19:52:45 +02:00
cvium
7e6a45c402 Review changes 2021-05-19 19:33:24 +02:00
cvium
1027792b16 Review changes 2021-05-19 08:51:46 +02:00
Patrick Barron
a225f34796 Merge branch 'master' into authenticationdb-efcore
# Conflicts:
#	Jellyfin.Api/Helpers/RequestHelpers.cs
2021-05-18 18:09:46 -04:00
Bond-009
8d2e5ef8c6 Merge pull request #6042 from crobibero/mbc-warn-2 2021-05-18 21:21:26 +02:00
David Ullmer
ee7a95e088 Move GetMetadataLanguage 2021-05-18 13:44:38 +02:00
Bond-009
19e9bef256 Merge pull request #6074 from Bond-009/nullablequery
Enable nullable for InternalItemsQuery
2021-05-18 13:23:01 +02:00
David Ullmer
6353966abd Fix cache key 2021-05-18 13:17:34 +02:00
MrTimscampi
8407c3d558 Properly detect Dolby Vision files derived from AV1, AVC and HEVC 2021-05-18 12:37:00 +02:00
Bond_009
2b321d8b89 Enable nullable for InternalItemsQuery 2021-05-18 12:23:26 +02:00
Bond-009
44087da17a Merge pull request #6072 from crobibero/dotnet-5.0.6 2021-05-18 07:52:44 +02:00
Jack
7a17de84d9 Add optional to nextUpDateCutoff help text 2021-05-17 21:35:58 -04:00
crobibero
be17028e22 Remove erroneous newline 2021-05-17 18:34:44 -06:00
Joshua M. Boniface
24ddcd5955 Merge pull request #6047 from crobibero/dotnet-5.0.6
Update to Dotnet 5.0.6
2021-05-17 19:56:14 -04:00
BaronGreenback
48bb338352 Enable child items to be returned if a musicAlbum 2021-05-17 23:34:50 +01:00
Bond-009
c64bdbb4ff Merge pull request #6051 from Bond-009/tests7
Add tests for Recordinghelper
2021-05-18 00:05:33 +02:00
siankatabg
0cb69e28b9 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-05-17 12:13:49 -04:00
David Ullmer
96e05e5b66 Add tests for NoralizeLanguage 2021-05-17 12:55:27 +02:00
Anthony Lavado
92b606d7c0 Merge pull request #6037 from ferferga/pat_token 2021-05-16 14:38:11 -04:00
cvium
81ac11828b Fix ArrayIndexOutOfBounds 2021-05-16 20:16:47 +02:00
cvium
be4aeb5c2c Rename SQL extension methods 2021-05-16 19:06:10 +02:00
Claus Vium
652909e8a5 Update Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-16 15:27:31 +02:00
cvium
415e8fc0f3 Forward 2021-05-16 14:54:36 +02:00
cvium
eaafbdd623 Remove some leftover junk from a project that isn't in the sln 2021-05-16 14:52:56 +02:00
cvium
1b49435a0e Reduce some allocations 2021-05-16 14:49:11 +02:00
Bond-009
9b82b37095 Merge pull request #6053 from jellyfin/cuda-fix
Fix the 'No decoder surfaces left' error on Cuda
2021-05-16 11:58:28 +00:00
nyanmisaka
ffc5aba023 Fix the 'No decoder surfaces left' error on Cuda 2021-05-16 18:40:28 +08:00
Bond-009
5acb4e9491 Merge pull request #5999 from Bond-009/legacyhdhomerun
Add support for legacy HDhomerun DUAl
2021-05-16 10:29:28 +00:00
Bond-009
f06f3450c1 Merge pull request #5307 from barronpm/using-declarations 2021-05-16 09:58:10 +00:00
Bond_009
a9f44c21eb Add tests for Recordinghelper 2021-05-16 01:24:49 +02:00
crobibero
b6dda30a33 Fix suggestions from review 2021-05-15 15:33:50 -06:00
Bond-009
ca92a9a80c Merge pull request #6050 from Bond-009/ruleset3
Fully disable stupid rules
2021-05-15 20:55:41 +00:00
BaronGreenback
53bfe0e77d Changes as requested 2021-05-15 20:24:41 +01:00
Bond_009
42be818a09 Fully disable stupid rules 2021-05-15 20:38:29 +02:00
crobibero
66b185898f Update to dotnet5.0.6 2021-05-14 17:28:36 -06:00
Fernando Fernández
73654481e2 chore: replace GH_TOKEN with JF_BOT_TOKEN 2021-05-13 18:43:28 +02:00
Patrick Barron
81992ef205 Fix build 2021-05-13 10:47:00 -04:00
peterspenler
3c981cf41f Reorder requested audio channels checks 2021-05-13 09:55:31 -04:00
crobibero
6bcbc2b88a Reduce warnings in MediaBrowser.Controller 2021-05-13 07:33:11 -06:00
Haziq Rohaizan
88a7875a27 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-13 04:29:07 -04:00
archon eleven
abbdaa997e Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-13 04:29:07 -04:00
Benjamin Vraspillai
59c4170966 Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2021-05-13 04:29:07 -04:00
crobibero
f53aa55bdb Don't logout if deviceId is null. 2021-05-12 13:32:54 -06:00
BaronGreenback
d0bfb56d2e changed to slice. 2021-05-12 16:19:08 +01:00
David Ullmer
c584d36fd4 Fix Tmdb person language 2021-05-12 14:57:58 +02:00
BaronGreenback
85ecea7722 corrected tests 2021-05-11 21:45:15 +01:00
Cody Robibero
2888567ea5 Update Jellyfin.Api/Models/ClientLogDtos/ClientLogEventDto.cs
Co-authored-by: dkanada <dkanada@users.noreply.github.com>
2021-05-11 08:21:04 -06:00
Joshua M. Boniface
6f3bd59aac Merge pull request #5995 from tuky/patch-1
Respect configured JELLYFIN_USER in Debian's postinst
2021-05-11 09:20:06 -04:00
Bond-009
50f617357b Merge pull request #5929 from crobibero/sort 2021-05-11 12:41:25 +00:00
dkanada
138c564e8f Merge pull request #6023 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-4.1.0
Bump prometheus-net.DotNetRuntime from 4.0.0 to 4.1.0
2021-05-11 21:07:00 +09:00
dkanada
708e2de44d Merge pull request #6010 from crobibero/🐄
Mooooove the label commenter config
2021-05-11 21:06:33 +09:00
dkanada
720b364aa1 Merge pull request #5975 from thornbill/fix-web-docker-build
Fix web build in dockerfiles
2021-05-11 21:05:59 +09:00
Bond-009
c10f86960d Merge pull request #6026 from Ullmie02/tv-parental-rating-fix
Use TMDb parental rating building from movies for shows
2021-05-11 11:56:34 +00:00
Cody Robibero
e3f55a0c54 Reduce warnings in MediaBrowser.Controller (#6006)
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-11 13:55:46 +02:00
Haziq Rohaizan
a84e8c3884 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-10 17:16:08 -04:00
archon eleven
c9db6a78ee Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-10 17:16:08 -04:00
archon eleven
af5b09bd97 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-10 17:01:33 -04:00
Haziq Rohaizan
5b08bdda37 Translated using Weblate (Malay)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ms/
2021-05-10 17:00:38 -04:00
David Ullmer
cb01dd8684 Use TMDb parental rating building from movies for shows 2021-05-10 20:56:20 +02:00
David Ullmer
db2b53a4b5 Refactor LocalizationManager and remove dead method 2021-05-10 18:05:35 +02:00
David Ullmer
88bfd1bcf4 Add tests for LocalizationManager 2021-05-10 17:58:21 +02:00
Ishan Badgainya
b9163ff2aa Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2021-05-10 11:30:58 -04:00
Erikas
289c06adca Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2021-05-10 11:30:58 -04:00
thecoldicelander
a315ab4fa4 Translated using Weblate (Icelandic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2021-05-10 11:30:58 -04:00
Benjamin Vraspillai
b0a12c0bb0 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2021-05-10 11:30:58 -04:00
Benjamin Vraspillai
0115ca9bc2 Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2021-05-10 11:30:58 -04:00
Daniel Wykerd
b281488d36 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2021-05-10 11:30:58 -04:00
emmanuel billeaud
323bc75c13 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-05-10 11:30:58 -04:00
Benjamin Vraspillai
ba8ff2a7bc Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2021-05-10 11:30:58 -04:00
Dan Johansen
0668ab6721 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2021-05-10 11:30:58 -04:00
Levi
9c0d1f676d Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-05-10 11:30:58 -04:00
Marcus Hsu
566ad0907b Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2021-05-10 11:30:58 -04:00
Lukáš Kucharczyk
d2e8df1a48 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2021-05-10 11:30:58 -04:00
WWWesten
7af45a8f01 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-05-10 11:30:58 -04:00
0TTA
07ea5e2472 Translated using Weblate (Arabic)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2021-05-10 11:30:58 -04:00
a19guillermobf
85c771e64b Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2021-05-10 11:30:58 -04:00
Oskari Lavinto
9b2a87f981 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2021-05-10 11:30:58 -04:00
Federico Antoniazzi
7dc721923e Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2021-05-10 11:30:58 -04:00
radiusgreenhill
2bf2746231 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2021-05-10 11:30:58 -04:00
Koos van Riemsdijk
1237a7b82a Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-05-10 11:30:58 -04:00
WWWesten
dc15cc1370 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2021-05-10 11:30:58 -04:00
Robolov
061016a2a9 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-05-10 11:30:58 -04:00
Manjot Singh
0158f74d37 Translated using Weblate (Punjabi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pa/
2021-05-10 11:30:58 -04:00
flackseven
b5bde8d46e Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2021-05-10 11:30:58 -04:00
WWWesten
eaa102fc74 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2021-05-10 11:30:58 -04:00
WWWesten
90a8cd83f4 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2021-05-10 11:30:58 -04:00
Csaba
da5ca3f769 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2021-05-10 11:30:58 -04:00
WWWesten
95f25467c8 Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2021-05-10 11:30:58 -04:00
millallo
55f3dd4f2c Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2021-05-10 11:30:58 -04:00
Oatavandi
f56898a563 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2021-05-10 11:30:58 -04:00
WWWesten
2c66d36f10 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-05-10 11:30:58 -04:00
Csaba
c5783da4f6 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2021-05-10 11:30:58 -04:00
Baptiste
c78f584a99 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2021-05-10 11:30:58 -04:00
bvd13
7ebe30f0ab Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-05-10 11:30:58 -04:00
Patrick Barron
e55f35b62e Merge branch 'master' into using-declarations 2021-05-10 09:05:12 -04:00
dependabot[bot]
62a93d494b Bump prometheus-net.DotNetRuntime from 4.0.0 to 4.1.0
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/4.0.0...4.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 12:19:21 +00:00
BaronGreenback
903bf2a086 changed to use index 2021-05-08 16:00:41 +01:00
BaronGreenback
cb74a86975 Moved test 2021-05-08 13:33:47 +01:00
BaronGreenback
bd71de131c Changed to use span 2021-05-08 12:52:25 +01:00
BaronGreenback
7185de970c Merge remote-tracking branch 'upstream/master' into UrlDecoding 2021-05-08 12:22:09 +01:00
Bond_009
56ac64e70a Minor improvements
* properly dispose CancellationTokenSource
* rewrite DynamicHlsController.GetSegmentLengths
* remove dead code
2021-05-08 00:33:24 +02:00
Bond-009
d4a50be22c Merge pull request #6009 from jellyfin/nielsvanvelzen-disable-automation-ci
Disable automation CI on issues
2021-05-07 22:14:57 +02:00
crobibero
ce0e890d8d Mooooove the label commenter config 2021-05-07 13:39:38 -06:00
BaronGreenback
dca0298710 changed 2021-05-07 20:11:32 +01:00
Niels van Velzen
d21d1978a3 Disable automation CI on issues 2021-05-07 21:09:05 +02:00
BaronGreenback
8b34f76b63 Update Jellyfin.Api/Controllers/TestController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-07 18:51:31 +01:00
BaronGreenback
4c8cfaa61c Update Jellyfin.Api/Controllers/TestController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-07 18:51:15 +01:00
BaronGreenback
5ad8b53f5d Update Jellyfin.Api/Controllers/TestController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-07 18:51:04 +01:00
BaronGreenback
5f70b4ead1 Update tests/Jellyfin.Api.Tests/Controllers/EncodedQueryStringTest.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-07 18:50:38 +01:00
BaronGreenback
043e69d252 Update tests/Jellyfin.Api.Tests/Controllers/EncodedQueryStringTest.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-05-07 18:49:57 +01:00
BaronGreenback
af1fe1af6f Moved into test controller. 2021-05-07 14:37:26 +01:00
Bond-009
2f0ec9a70b Merge pull request #6005 from Bond-009/nullable3
Enable nullable reference types for Emby.Dlna
2021-05-07 15:14:30 +02:00
BaronGreenback
4f5c9e9504 tests and small fix. 2021-05-07 14:02:42 +01:00
Bond_009
06caee28b7 Enable nullable reference types for Emby.Dlna 2021-05-07 14:43:50 +02:00
Bond-009
a3c9edde34 Merge pull request #6000 from Bond-009/nullable2 2021-05-07 14:09:12 +02:00
Jake King
bc017737e6 Changed condition for readbility
- Refactored check if item is not audio book or book to be more readable
2021-05-07 10:35:03 +01:00
Bond_009
4367b97a54 Fix build 2021-05-07 00:52:06 +02:00
Bond_009
fb090df0b5 Enable nullable reference types for MediaBrowser.Controller 2021-05-07 00:39:20 +02:00
Bond_009
ead4e1e977 Add support for legacy HDhomerun DUAl 2021-05-06 23:54:42 +02:00
Bond-009
a4a3f598af Merge pull request #5982 from Bond-009/nullable 2021-05-06 23:33:41 +02:00
Bond_009
4b9a64c18c Abstract JsonDelimitedArrayConverter 2021-05-06 23:16:52 +02:00
wehrstedt
ad1d9d9a23 fixed no channel icons when using tvheadend (#5996)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Maximilian Wehrstedt <wehrstedt.coding@outlook.de>
2021-05-06 23:07:32 +02:00
Jake King
3cd57cb287 Fixes for Book Progress
- Ignore Books when checking for minium progress
2021-05-06 19:50:00 +01:00
Tobias Krönke
8eee32c8c2 Respect configured JELLYFIN_USER in Debian's postinst
In my setup I configured a different user. But updates keep "stealing" file permissions for my `$PROGRAMDATA $CONFIGDATA $LOGDATA $CACHEDATA` directories.
2021-05-06 18:56:13 +02:00
Bond-009
4b31c007e3 Merge pull request #4986 from Bond-009/readalllines
Use new ReadAllLines extensions
2021-05-06 17:10:41 +02:00
Bond_009
ddb04dc12b Use new ReadAllLines extensions 2021-05-06 14:12:43 +02:00
BaronGreenback
c8061f92be slight format correction. 2021-05-05 23:15:24 +01:00
BaronGreenback
dabeabc553 corrected comments 2021-05-05 23:14:05 +01:00
BaronGreenback
a7bccd4fe0 removed unneeded logger. 2021-05-05 23:09:04 +01:00
BaronGreenback
81d675990f Enable automatic url decoding 2021-05-05 22:52:39 +01:00
Bond-009
95b1cf532b Merge pull request #5985 from Bond-009/minor11 2021-05-05 19:22:01 +02:00
Bond-009
a6ee4632ce Merge pull request #5987 from Bond-009/ioob
PathExtensions: Fix index out of bounds in TryReplaceSubPath
2021-05-05 17:20:14 +02:00
Bond_009
47e7c1356c PathExtensions: Fix index out of bounds in TryReplaceSubPath
Fixes #5977
2021-05-05 16:45:04 +02:00
Bond_009
bcb4010db6 More improvements 2021-05-05 15:30:32 +02:00
Bond_009
787bcd4a83 Remove dead code 2021-05-05 14:45:08 +02:00
Bond_009
4479713e04 MediaStream: Replace string.IndexOf with string.Contains where possible 2021-05-05 14:44:53 +02:00
Bond_009
e432796f6f Minor improvements 2021-05-05 14:39:50 +02:00
Bond-009
d729a76707 Merge pull request #5934 from Bond-009/utf8
SqliteItemRepository: Parse ChannelId directly from utf-8 data
2021-05-05 14:04:20 +02:00
Bond-009
b6df851363 Merge pull request #5984 from Bond-009/container
Add regression test for ContainerProfile.ContainsContainer
2021-05-05 13:51:34 +02:00
BaronGreenback
2e98de9062 Code Clean up: Convert to null-coalescing operator ?? (#5845)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-05 13:51:14 +02:00
Bond-009
04447ed014 Merge pull request #5979 from Ullmie02/nfo-fanart
Add support for fanart aspect in thumb tag
2021-05-05 13:39:56 +02:00
BaronGreenback
f2c10471bf Code Clean up: Use Pattern Matching (#5838)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-05 13:37:36 +02:00
Bond_009
39931fe3ad Add regression test for ContainerProfile.ContainsContainer 2021-05-05 13:33:34 +02:00
Bond-009
18d799b22a Merge pull request #5980 from Maxr1998/fix-direct-play
Fix direct play for DirectPlayProfiles without any codecs set
2021-05-05 13:28:51 +02:00
Bond_009
91c2a57b28 Enable nullable reference types for MediaBrowser.Common 2021-05-05 12:57:01 +02:00
Maxr1998
65a9a4771a Fix direct play for DirectPlayProfiles without any codecs set
70771fdcd6 broke direct play by treating empty container/codec strings as unsupported in `ContainerProfile.ContainsContainer()`` (which is also used for video and audio codec checks). Instead, they should be treated as supported, for both the positive and negative list option.
2021-05-05 12:25:54 +02:00
David Ullmer
e57b80b8e2 Add support for fanart aspect in thumb tag 2021-05-05 10:11:31 +02:00
Bond-009
48e81e65e8 Merge pull request #5938 from cvium/allocationz 2021-05-05 09:35:30 +02:00
Bill Thornton
260782349c Fix web build in dockerfiles 2021-05-05 00:58:12 -04:00
Bill Thornton
52db719f50 Merge pull request #5963 from jellyfin/dependabot/github_actions/alex-page/github-project-automation-plus-v0.7.1
Bump alex-page/github-project-automation-plus from v0.6.0 to v0.7.1
2021-05-05 00:21:36 -04:00
Bill Thornton
f7435a605d Merge pull request #5944 from shortspider/ContinueReading
Add ResumeBook Section
2021-05-05 00:20:42 -04:00
Bill Thornton
df40828e1f Merge pull request #5941 from Maxr1998/device-profile-docs
Improve documentation for DeviceProfile
2021-05-05 00:19:49 -04:00
Bill Thornton
7fdd8df8a5 Merge pull request #5779 from joshuaboniface/issue-comments
Add label commenter workflow
2021-05-05 00:11:47 -04:00
Bill Thornton
7d8fca92f9 Merge pull request #5762 from BaronGreenback/networkTestHardening
Fix network test on dns failure
2021-05-05 00:10:11 -04:00
Bill Thornton
cd543f7e50 Merge pull request #5738 from cvium/resolve-from-path
Resolve name from episode folder
2021-05-05 00:08:40 -04:00
Bill Thornton
77f0f89e45 Merge pull request #5623 from barronpm/ef-cleanup2
EF Core Cleanup 2
2021-05-04 23:59:15 -04:00
Bill Thornton
9d02ebb577 Merge pull request #4981 from Ullmie02/nfo-ratings
Add .nfo ratings tag
2021-05-04 23:55:33 -04:00
Joshua M. Boniface
d655145867 Merge pull request #5973 from crobibero/legacy-ci-apiclient
Kill the CI
2021-05-04 21:32:08 -04:00
crobibero
08213f2368 Fully remove reference. 2021-05-04 19:30:51 -06:00
Joshua M. Boniface
a598a8071b Merge pull request #5968 from crobibero/legacy-ci-apiclient 2021-05-04 21:19:07 -04:00
Cody Robibero
08d0765623 Restore launchSettings.json 2021-05-04 19:17:16 -06:00
Joshua M. Boniface
fe0fce26e4 Merge pull request #5969 from crobibero/required-revert
Remove Required attributes
2021-05-04 21:14:23 -04:00
crobibero
1a178e8490 Remove Required attributes 2021-05-04 19:11:01 -06:00
crobibero
31cf9f4b76 Remove legacy apiclient generation 2021-05-04 18:21:08 -06:00
Maxr1998
031a5c122d Improve documentation for DeviceProfile 2021-05-05 00:58:43 +02:00
Bond-009
9d3f614527 Merge pull request #5943 from Maxr1998/device-profile-defaults 2021-05-05 00:40:32 +02:00
Maxr1998
b2bb062ced Revert shortened 'is ... or' check 2021-05-04 23:38:17 +02:00
Maxr1998
244ad5b225 Apply review feedback 2021-05-04 22:57:27 +02:00
cvium
ad3e835bcf remove redundant code 2021-05-04 19:57:03 +02:00
BaronGreenback
417a7011c7 changed to first 2021-05-04 16:32:17 +01:00
crobibero
3c8abeda7d Require Authorization for the ClientLogController 2021-05-04 07:16:35 -06:00
Bond-009
2390583b35 Merge pull request #5961 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.1.4
Bump Swashbuckle.AspNetCore.ReDoc from 6.1.3 to 6.1.4
2021-05-04 11:16:35 +02:00
dependabot[bot]
ee92dffa82 Bump Swashbuckle.AspNetCore.ReDoc from 6.1.3 to 6.1.4
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.3 to 6.1.4.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.3...v6.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-04 09:01:23 +00:00
Bond-009
ca5b86b1af Merge pull request #5960 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.1.4
Bump Swashbuckle.AspNetCore from 6.1.3 to 6.1.4
2021-05-04 10:54:22 +02:00
cvium
c0feb3694b rename to SplitEnumerator and fix test 2021-05-03 23:51:45 +02:00
Claus Vium
b9d18f0fa7 Merge branch 'master' into allocationz 2021-05-03 22:52:31 +02:00
BaronGreenback
7ff52bf755 Renamed 2021-05-03 19:30:56 +01:00
BaronGreenback
7936ea59eb Changed selection method 2021-05-03 17:27:23 +01:00
Bond-009
8bcffdc52e Merge pull request #5962 from jellyfin/dependabot/nuget/SQLitePCL.pretty.netstandard-2.2.0 2021-05-03 17:31:09 +02:00
dependabot[bot]
2ee33bd602 Bump alex-page/github-project-automation-plus from v0.6.0 to v0.7.1
Bumps [alex-page/github-project-automation-plus](https://github.com/alex-page/github-project-automation-plus) from v0.6.0 to v0.7.1.
- [Release notes](https://github.com/alex-page/github-project-automation-plus/releases)
- [Commits](https://github.com/alex-page/github-project-automation-plus/compare/v0.6.0...50502d399cbb98cefe7ce1f99f93f78c6756562e)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-03 12:03:25 +00:00
dependabot[bot]
9b1243cf5e Bump SQLitePCL.pretty.netstandard from 2.1.0 to 2.2.0
Bumps [SQLitePCL.pretty.netstandard](https://github.com/jellyfin/SQLitePCL.pretty.netstandard) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/jellyfin/SQLitePCL.pretty.netstandard/releases)
- [Commits](https://github.com/jellyfin/SQLitePCL.pretty.netstandard/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-03 12:00:50 +00:00
dependabot[bot]
6f722bac0f Bump Swashbuckle.AspNetCore from 6.1.3 to 6.1.4
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.1.3 to 6.1.4.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.1.3...v6.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-03 12:00:39 +00:00
Bond-009
e042651c54 Merge pull request #5956 from BaronGreenback/MultipleInstanciations
Minor optimization.
2021-05-03 09:50:47 +02:00
Joshua M. Boniface
e71cd8274a Merge pull request from GHSA-rgjw-4fwc-9v96
Remove /Images/Remote API endpoint
2021-05-02 16:53:36 -04:00
Bond-009
f6d967ded6 Merge pull request #5954 from Bond-009/tests5
Add tests for SqliteItemRepository.(De)SerializeProviderIds
2021-05-02 21:18:33 +02:00
BaronGreenback
bcba501dfb minor optimization. 2021-05-02 19:25:04 +01:00
Bond-009
7eb9f579a8 Merge pull request #5955 from Bond-009/tests6
Don't run integration tests in parallel
2021-05-02 17:48:45 +02:00
Bond_009
bdd7a37794 Don't run integration tests in parallel
* Easier to debug failing tests when the logs aren't scrambled
* Static properties could cause issues
2021-05-02 13:04:35 +02:00
Bond_009
874f92e93a Add tests for SqliteItemRepository.(De)SerializeProviderIds 2021-05-02 12:45:02 +02:00
Bond-009
ea5bc90189 Merge pull request #5952 from Bond-009/tests4 2021-05-02 11:35:21 +02:00
Joshua M. Boniface
3e4c860986 Remove /Items/RemoteSearch/Image API endpoint 2021-05-02 01:22:52 -04:00
Joshua M. Boniface
dc81d576ab Remove /Images/Remote API endpoint 2021-05-02 01:20:58 -04:00
Bond-009
266913c5d8 Merge pull request #5937 from Maxr1998/videoscontroller-api-fix
Remove extraneous 'stream' parameter
2021-05-02 00:43:41 +02:00
Bond_009
8a6b9e1fb6 Add tests for SqliteItemRepository.(De)SerializeImages 2021-05-02 00:26:30 +02:00
BaronGreenback
2e01fb3cda Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: David Ullmer <davidullmer@outlook.de>
2021-05-01 17:16:25 +01:00
BaronGreenback
2fbc1190bc Update LiveTvMediaSourceProvider.cs 2021-05-01 17:15:45 +01:00
BaronGreenback
a5aabbb885 Update ApplicationHost.cs
Renamed method
2021-05-01 17:14:37 +01:00
Bond-009
9a8c08b3e7 Merge pull request #5945 from Bond-009/fix
Fix scanning
2021-05-01 17:43:12 +02:00
Bond-009
214ab0b45f Merge pull request #5946 from Bond-009/tmdbutils
TmdbUtils: Use ordinal string compare
2021-05-01 17:43:05 +02:00
BaronGreenback
975d1537d4 Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: David Ullmer <davidullmer@outlook.de>
2021-05-01 16:29:28 +01:00
BaronGreenback
b4ab75cd69 Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: David Ullmer <davidullmer@outlook.de>
2021-05-01 16:29:22 +01:00
BaronGreenback
a49ded84c6 Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: David Ullmer <davidullmer@outlook.de>
2021-05-01 16:29:13 +01:00
Bond_009
e128b6d997 TmdbUtils: Use ordinal string compare 2021-05-01 15:59:21 +02:00
Bond_009
c608d5104d Fix scanning 2021-05-01 15:56:16 +02:00
Maxr1998
70771fdcd6 Nullability handling for device profile classes 2021-05-01 13:06:10 +02:00
cvium
716cbb0695 remove span based setproviderid 2021-04-30 23:35:29 +02:00
Bond-009
360d80c873 Merge pull request #5890 from Bond-009/filesystem
Reduce string allocations/fs lookups in resolve code
2021-04-30 20:45:43 +02:00
cvium
ba2e346d12 prevent cancellationtoken leakage 2021-04-30 15:27:07 +02:00
cvium
a6726730fc revert the last bits of the getcount experiment 2021-04-30 15:11:16 +02:00
cvium
608cba817c Reduce some allocations with the magic of spans etc. 2021-04-30 15:09:36 +02:00
Maxr1998
e90fbe90f9 Remove extraneous 'stream' parameter
The argument isn't passed to the method but causes the API generator to include an unnecessary parameter.
Also fixes some typos in the documentation comments.
2021-04-30 15:07:27 +02:00
Bond-009
13d09cbc47 Merge pull request #5911 from jellyfin/dependabot/nuget/AutoFixture.AutoMoq-4.17.0
Bump AutoFixture.AutoMoq from 4.16.0 to 4.17.0
2021-04-30 12:47:42 +02:00
dependabot[bot]
182117d0a7 Bump AutoFixture.AutoMoq from 4.16.0 to 4.17.0
Bumps [AutoFixture.AutoMoq](https://github.com/AutoFixture/AutoFixture) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.16.0...v4.17.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-30 08:47:38 +00:00
Bond-009
a4837475d3 Merge pull request #5913 from jellyfin/dependabot/nuget/AutoFixture.Xunit2-4.17.0
Bump AutoFixture.Xunit2 from 4.16.0 to 4.17.0
2021-04-30 10:32:26 +02:00
BaronGreenback
2182640519 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-30 09:08:56 +01:00
Nathan Mascitelli
bdab8d1edb Add ResumeBook section 2021-04-29 22:35:57 -04:00
Bond-009
eeb5d4bd1e Merge pull request #5842 from BaronGreenback/optimization
Code Clean up: Group Methods
2021-04-29 21:14:57 +02:00
Bond-009
78e66325fd Merge pull request #5891 from Bond-009/filesystem2 2021-04-29 21:14:14 +02:00
Bond-009
7195d3e42f Merge pull request #5893 from Bond-009/db
SqliteItemRepository: remove redundant operations
2021-04-29 21:13:24 +02:00
Bond_009
34313ef216 SqliteItemRepository: Parse ChannelId directly from utf-8 data 2021-04-29 16:23:29 +02:00
Bond-009
dcc2df75ec Merge pull request #5903 from iwalton3/auto-leave-syncplay
Leave SyncPlay group on session disconnect.
2021-04-29 14:19:07 +02:00
Cody Robibero
69e91c33d8 Update Jellyfin.Api/Controllers/GenresController.cs 2021-04-29 04:10:26 -06:00
crobibero
d27ca993a5 Add ability to sort on Genre, MusicGenre, Artist 2021-04-28 18:33:30 -06:00
dependabot[bot]
c1563d9303 Bump AutoFixture.Xunit2 from 4.16.0 to 4.17.0
Bumps [AutoFixture.Xunit2](https://github.com/AutoFixture/AutoFixture) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.16.0...v4.17.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-27 13:35:13 +00:00
Bond-009
adfc03ac9d Merge pull request #5651 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-4.0.0
Bump prometheus-net.DotNetRuntime from 3.4.1 to 4.0.0
2021-04-27 15:34:38 +02:00
Bond-009
bca06cb1d7 Merge pull request #5912 from jellyfin/dependabot/nuget/AutoFixture-4.17.0
Bump AutoFixture from 4.16.0 to 4.17.0
2021-04-27 15:34:26 +02:00
crobibero
f8cfc55a36 Clean client filename generation 2021-04-26 17:02:25 -06:00
Bond-009
b95ae84319 Merge pull request #5915 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.1.3
Bump Swashbuckle.AspNetCore.ReDoc from 6.0.7 to 6.1.3
2021-04-26 23:57:49 +02:00
dependabot[bot]
a3cb8dbc9d Bump Swashbuckle.AspNetCore.ReDoc from 6.0.7 to 6.1.3
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.0.7 to 6.1.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.0.7...v6.1.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 21:47:14 +00:00
Bond-009
1c4e7f6e10 Merge pull request #5917 from jellyfin/dependabot/github_actions/alex-page/github-project-automation-plus-v0.6.0
Bump alex-page/github-project-automation-plus from v0.5.1 to v0.6.0
2021-04-26 23:46:27 +02:00
Bond-009
ad3fc093b1 Merge pull request #5914 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.1.3
Bump Swashbuckle.AspNetCore from 6.0.7 to 6.1.3
2021-04-26 23:46:09 +02:00
BaronGreenback
851f610e11 Changed other method to match for consistency. 2021-04-26 19:59:35 +01:00
BaronGreenback
78e97dbaa9 updated comment 2021-04-26 19:56:15 +01:00
BaronGreenback
f30bbef781 Fixed test 2021-04-26 17:28:32 +01:00
BaronGreenback
2b85f43cab removed unused usings 2021-04-26 17:17:48 +01:00
BaronGreenback
5741fa7dfa Fix url for LiveTV 2021-04-26 17:13:45 +01:00
dependabot[bot]
47c54166e1 Bump prometheus-net.DotNetRuntime from 3.4.1 to 4.0.0
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 3.4.1 to 4.0.0.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/3.4.1...4.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 14:43:14 +00:00
Bond-009
b54f799121 Merge pull request #5916 from jellyfin/dependabot/nuget/sharpcompress-0.28.2
Bump sharpcompress from 0.28.1 to 0.28.2
2021-04-26 16:42:27 +02:00
crobibero
1d6224c9c6 Add endpoint to log client events 2021-04-26 07:02:26 -06:00
dependabot[bot]
e409d89138 Bump alex-page/github-project-automation-plus from v0.5.1 to v0.6.0
Bumps [alex-page/github-project-automation-plus](https://github.com/alex-page/github-project-automation-plus) from v0.5.1 to v0.6.0.
- [Release notes](https://github.com/alex-page/github-project-automation-plus/releases)
- [Commits](https://github.com/alex-page/github-project-automation-plus/compare/v0.5.1...4230e39aec629f1b622666350cdbdf29ff149aca)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 12:03:24 +00:00
dependabot[bot]
24a05bc9f8 Bump sharpcompress from 0.28.1 to 0.28.2
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.28.1 to 0.28.2.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28.1...0.28.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 12:00:57 +00:00
dependabot[bot]
d5037a8988 Bump Swashbuckle.AspNetCore from 6.0.7 to 6.1.3
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.0.7 to 6.1.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.0.7...v6.1.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 12:00:48 +00:00
dependabot[bot]
eee3b385da Bump AutoFixture from 4.16.0 to 4.17.0
Bumps [AutoFixture](https://github.com/AutoFixture/AutoFixture) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.16.0...v4.17.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 12:00:42 +00:00
Bond-009
5df87b3e0d Merge pull request #5904 from cvium/fix-updatepeople-questionmark
add UpdatePeopleAsync and add people to both tables
2021-04-25 18:53:28 +02:00
Bond-009
f4a59c92e6 Merge pull request #5826 from BaronGreenback/ssdpFix
PlayTo Fix: Use external ip not internal interface
2021-04-25 18:51:11 +02:00
Claus Vium
12496677bd Merge pull request #5861 from BaronGreenback/ProfileMatch
Change profile matching to match what the web interface says.
2021-04-25 17:27:32 +02:00
cvium
77261a8445 add UpdatePeopleAsync and add people to both tables 2021-04-24 20:22:23 +02:00
Ian Walton
e4691d45f5 Leave SyncPlay group on session disconnect. 2021-04-24 11:32:34 -04:00
Bond-009
224c48821e Merge pull request #5887 from Bond-009/perf
Improve perf of db save and query
2021-04-24 15:57:51 +02:00
Bond-009
1a54338e38 Merge pull request #5892 from crobibero/password-obsolete 2021-04-23 10:17:49 +02:00
Bond-009
184e05aeb6 Merge pull request #5681 from BaronGreenback/ContentFeatureOptimization
Various DLNA Optimizations
2021-04-22 16:45:36 +02:00
Bond-009
d83b2b1b2e Merge pull request #5889 from Bond-009/di
Remove unused/duplicate services
2021-04-22 16:36:39 +02:00
Bond_009
a02e37daa0 SqliteItemRepository: remove redundant operations
removed:
* nameof -> FullName lookup
* IndexOf before Replace
* Enum.GetNames -> Enum.Parse roundtrip
2021-04-22 16:05:12 +02:00
crobibero
940c30081e Mark PasswordSha1 as obsolete 2021-04-22 06:49:54 -06:00
crobibero
856819e58f Don't use obsolete Password property 2021-04-22 06:49:42 -06:00
Bond_009
33327aa1a9 Improve fast path of ManagedFileSystem.GetValidFilename
|                      Method |          Data |        Mean |     Error |    StdDev |      Median |  Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------------------- |-------------- |------------:|----------:|----------:|------------:|-------:|------:|------:|----------:|
|       GetValidFilenameBench |    AC/DCKD/A |    52.29 ns |  0.537 ns |  0.448 ns |    52.35 ns | 0.0255 |     - |     - |      80 B |
|    GetValidFilenameOldBench |    AC/DCKD/A |    86.68 ns |  1.205 ns |  1.127 ns |    86.33 ns | 0.0587 |     - |     - |     184 B |
|    GetValidFilenameWinBench |    AC/DCKD/A |   448.55 ns |  1.228 ns |  1.088 ns |   448.33 ns | 0.0505 |     - |     - |     160 B |
| GetValidFilenameOldWinBench |    AC/DCKD/A |   865.21 ns |  5.734 ns |  5.083 ns |   866.60 ns | 0.0839 |     - |     - |     264 B |
|       GetValidFilenameBench | ValidFileName |    16.00 ns |  0.234 ns |  0.207 ns |    16.02 ns | 0.0102 |     - |     - |      32 B |
|    GetValidFilenameOldBench | ValidFileName |   100.66 ns |  1.255 ns |  1.174 ns |   101.21 ns | 0.0587 |     - |     - |     184 B |
|    GetValidFilenameWinBench | ValidFileName |   116.60 ns |  1.624 ns |  1.519 ns |   116.88 ns | 0.0356 |     - |     - |     112 B |
| GetValidFilenameOldWinBench | ValidFileName | 1,052.66 ns | 18.077 ns | 33.056 ns | 1,037.25 ns | 0.0839 |     - |     - |     264 B |
2021-04-22 12:31:47 +02:00
crobibero
5b0dc21c64 Mark password property as obsolete 2021-04-21 20:46:15 -06:00
Bond_009
81209258ab ManagedFileSystem: Rewrite GetValidFilename and more improvements 2021-04-22 03:11:21 +02:00
Bond_009
b323044139 Reduce string allocations/fs lookups in resolve code 2021-04-22 01:24:21 +02:00
Bond_009
b0914f9f2c Remove unused/duplicate services 2021-04-22 01:20:55 +02:00
Bond_009
f46195899e Improve perf of db save and query 2021-04-21 22:25:08 +02:00
Bond-009
95ab603a40 Merge pull request #5878 from Artiume/patch-2 2021-04-21 20:05:42 +02:00
artiume
831e768ee7 Request more logs 2021-04-21 13:15:03 -04:00
Bond-009
e19d89bb4f Merge pull request #5881 from cvium/tmdb-episode-externalids
Add tvrage and imdb ids for episodes
2021-04-21 16:15:53 +02:00
Bond-009
aa992efd31 Update MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs 2021-04-21 16:15:31 +02:00
Bond-009
d5163b4167 Merge pull request #5877 from Bond-009/circ1
EncodingHelper: Fix circular dependency
2021-04-21 15:49:17 +02:00
Bond-009
24103d0953 Merge pull request #5876 from Bond-009/nullref5
DeepCopy: Throw ArgumentNullException if one of the args is null
2021-04-21 14:08:36 +02:00
Bond-009
86a2e6eeda Merge pull request #5867 from Bond-009/provider
ProviderManager: fix discard and 2 warnings
2021-04-21 13:53:53 +02:00
Bond-009
6b103f7ab2 Merge pull request #5870 from cvium/fix-tmdbpersonprovider 2021-04-21 13:53:41 +02:00
Bond-009
18cf030c77 Merge pull request #5866 from Bond-009/httpmsghandler
Switch from HttpClientHandler to SocketsHttpHandler
2021-04-21 13:53:03 +02:00
Bond-009
48ed4b016c Merge pull request #5808 from cvium/semi-fix-collection-perf 2021-04-21 13:52:51 +02:00
Bond-009
da78a96312 Merge pull request #5807 from Bond-009/refreshdelay
Remove throttle in refresh code
2021-04-21 13:52:05 +02:00
artiume
005ae80b31 Update var names 2021-04-21 07:11:14 -04:00
BaronGreenback
20e19ae9b3 Moved Assert 2021-04-21 12:08:02 +01:00
BaronGreenback
53e1b302cc Changes as requested 2021-04-21 10:18:29 +01:00
BaronGreenback
39eb5da44f Update tests/Jellyfin.Dlna.Tests/ProfileTester.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-21 10:09:21 +01:00
BaronGreenback
740e5ec167 Update tests/Jellyfin.Dlna.Tests/ProfileTester.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-21 10:09:14 +01:00
BaronGreenback
2559ceffab Update tests/Jellyfin.Dlna.Tests/ProfileTester.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-21 10:09:05 +01:00
cvium
96348ed744 Add tvrage and imdb ids for episodes 2021-04-21 08:33:29 +02:00
artiume
dcd96909cd Fix Audiobook Resume
https://github.com/jellyfin/jellyfin/issues/5703
2021-04-20 19:28:18 -04:00
Bond_009
499bac5185 EncodingHelper: Fix circular dependency 2021-04-20 23:03:36 +02:00
Bond_009
63e9b1ae2d DeepCopy: Throw ArgumentNullException if one of the args is null 2021-04-20 22:59:51 +02:00
BaronGreenback
522d5a7158 Fixed indent 2021-04-20 18:17:48 +01:00
BaronGreenback
41246909dc fixed merge 2021-04-20 18:14:50 +01:00
BaronGreenback
f8b717e7c5 Merge branch 'master' into ProfileMatch 2021-04-20 18:10:38 +01:00
BaronGreenback
7848ea1484 missed one. 2021-04-20 18:08:19 +01:00
BaronGreenback
a99caa0daa Changed testing 2021-04-20 18:05:38 +01:00
Bond-009
5a6e60b414 Merge pull request #5859 from cvium/fix-streambuilder-permissions
Respect user settings for transcode and remux
2021-04-20 17:56:12 +02:00
Bond-009
233900401e Merge pull request #5873 from cvium/fix-displaypref-migration 2021-04-20 15:51:57 +02:00
cvium
4d7c1fbdca use int.Parse 2021-04-20 13:43:05 +02:00
cvium
c0ea56a10d use int.Parse 2021-04-20 13:35:08 +02:00
Bond-009
94d339cf12 Merge pull request #5744 from mohd-akram/absolute-dvd-order 2021-04-20 13:29:31 +02:00
cvium
cbb855e65f Check for empty string when migrating displaypreferences 2021-04-20 13:24:15 +02:00
BaronGreenback
092c610fbf Update Emby.Dlna/DlnaManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-20 08:26:41 +01:00
cvium
06b8cf42d1 Fix TMDb Person Provider 2021-04-20 08:59:15 +02:00
Bond_009
dcd6ab769b ProviderManager: fix discard and 2 warnings 2021-04-19 23:52:58 +02:00
Bond_009
500c2e5224 Switch from HttpClientHandler to SocketsHttpHandler
SocketsHttpHandler is the default for .Net Core 2.1 and newer

Set RequestHeaderEncoding to UTF-8 by default
2021-04-19 22:37:24 +02:00
BaronGreenback
4449217f8f simplified isMatch 2021-04-19 14:24:58 +01:00
Bond-009
4c915f5edf Merge pull request #5683 from jellyfin/dependabot/nuget/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 12.0.3 to 13.0.1
2021-04-19 15:11:11 +02:00
Bond-009
83f20fee4a Merge pull request #5799 from jellyfin/dependabot/nuget/AutoFixture.Xunit2-4.16.0
Bump AutoFixture.Xunit2 from 4.15.0 to 4.16.0
2021-04-19 15:10:11 +02:00
dependabot[bot]
dc628d1e1c Bump AutoFixture.Xunit2 from 4.15.0 to 4.16.0
Bumps [AutoFixture.Xunit2](https://github.com/AutoFixture/AutoFixture) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.15.0...v4.16.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 13:07:31 +00:00
BaronGreenback
95b733ad4c reworked code 2021-04-19 14:07:14 +01:00
Bond-009
8e6d79aa3e Merge pull request #5690 from jellyfin/dependabot/nuget/AutoFixture.AutoMoq-4.16.0
Bump AutoFixture.AutoMoq from 4.15.0 to 4.16.0
2021-04-19 15:06:45 +02:00
Bond-009
5a4cfe11cf Merge pull request #5863 from cvium/fix-index-migration
use IF NOT EXISTS in migration
2021-04-19 15:06:08 +02:00
Mohamed Akram
64071873a0 Use StringComparison.Ordinal 2021-04-19 16:51:44 +04:00
Bond-009
4eeb69233d Merge pull request #5852 from cvium/fix-person-creation
Add Person to TypedBaseItems if it's new
2021-04-19 14:28:57 +02:00
dependabot[bot]
442bc8671b Bump AutoFixture.AutoMoq from 4.15.0 to 4.16.0
Bumps [AutoFixture.AutoMoq](https://github.com/AutoFixture/AutoFixture) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.15.0...v4.16.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 12:08:51 +00:00
Bond-009
8536418553 Merge pull request #5809 from jellyfin/dependabot/nuget/AutoFixture-4.16.0
Bump AutoFixture from 4.15.0 to 4.16.0
2021-04-19 14:07:57 +02:00
Bond-009
ebe8301404 Merge pull request #5860 from cvium/fix-notification-user-list
Fix notification disabled users list
2021-04-19 14:07:18 +02:00
cvium
586e1fc58a use IF NOT EXISTS in migration 2021-04-19 13:51:55 +02:00
BaronGreenback
c68f616377 Flip fields 2021-04-19 12:36:30 +01:00
Mohamed Akram
90b941b3f6 Add review changes 2021-04-19 14:59:24 +04:00
cvium
a9ca3c8b01 Fix notification disabled users list 2021-04-19 11:38:27 +02:00
cvium
8933389753 Respect user settings for transcode and remux 2021-04-19 10:49:52 +02:00
Claus Vium
665220c4fb Merge pull request #5848 from sgmoore/IndexError
Fix ArgumentOutOfRangeException scanning AudioBooks
2021-04-19 08:29:28 +02:00
cvium
351b987982 Add Person to TypedBaseItems if it's new 2021-04-18 12:34:33 +02:00
Stephen Moore
e841922ffd Fix ArgumentOutOfRangeException scanning AudioBooks
AudioResolver.ResolveMultipleAudio method can attempt to access the first item in a List without checking if the list is empty which throws an ArgumentOutOfRangeException and stops the 'Scan Library' process.
2021-04-17 17:21:40 +01:00
Bond-009
990e4e8e58 Merge pull request #5843 from BaronGreenback/Cleanup4
Code Clean up: Remove unused using directives
2021-04-17 14:51:33 +02:00
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01:00
BaronGreenback
bb6fddde9a Group Methods 2021-04-17 11:19:09 +01:00
Jack
198cc6e76a Some code cleanup. Allow NextUpDateCutoff to be null 2021-04-16 13:57:22 -04:00
Jack
d7855500c2 Add NextUpCutoffDate to NextUpQuery 2021-04-15 14:48:21 -04:00
BaronGreenback
3199d1c902 Fix: PlayTo using external ip not internal 2021-04-15 18:36:47 +01:00
Cody Robibero
b63f615fd4 Enable nullability for ServerDiscoveryInfo (#5804) 2021-04-15 15:39:59 +02:00
Bond-009
91d6ffd731 Merge pull request #5810 from jellyfin/dependabot/github_actions/eps1lon/actions-label-merge-conflict-v2.0.1
Bump eps1lon/actions-label-merge-conflict from v2.0.0 to v2.0.1
2021-04-14 22:47:48 +02:00
Joshua M. Boniface
e2cfc308ea Merge pull request #5729 from crobibero/dotnet5.0.5
Update to dotnet 5.0.5
2021-04-14 09:49:43 -04:00
Bond-009
159431ad2a Merge pull request #5612 from Bond-009/passwordhash 2021-04-14 15:41:23 +02:00
dependabot[bot]
1d4c8dcde3 Bump eps1lon/actions-label-merge-conflict from v2.0.0 to v2.0.1
Bumps [eps1lon/actions-label-merge-conflict](https://github.com/eps1lon/actions-label-merge-conflict) from v2.0.0 to v2.0.1.
- [Release notes](https://github.com/eps1lon/actions-label-merge-conflict/releases)
- [Changelog](https://github.com/eps1lon/actions-label-merge-conflict/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eps1lon/actions-label-merge-conflict/compare/v2.0.0...b8bf8341285ec9a4567d4318ba474fee998a6919)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-14 12:51:54 +00:00
Bond-009
9b4f1bbf19 Add workflows for rebase and automation (#5451)
Add workflows for rebase and automation
2021-04-14 14:51:27 +02:00
crobibero
78791a932f Simplify baseUrl check 2021-04-14 06:44:11 -06:00
Fernando Fernández
55700e0d1c Add workflows for rebase and project automation 2021-04-14 14:14:17 +02:00
BaronGreenback
0b774eac12 Enables the ability to bind to loopback address. (#5773) 2021-04-14 11:26:05 +02:00
Patrick Barron
12fa5c0c41 Add AccessToken to device 2021-04-13 20:01:31 -04:00
Patrick Barron
75df6965a0 Don't use database for QuickConnect 2021-04-13 20:01:21 -04:00
cvium
d44b2e2ee5 fixes 2021-04-13 20:12:50 +02:00
Bond_009
3d0a42da9e Remove throttle in refresh code 2021-04-13 20:09:50 +02:00
dependabot[bot]
d459f625d5 Bump Newtonsoft.Json from 12.0.3 to 13.0.1
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.3 to 13.0.1.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.3...13.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-13 17:11:49 +00:00
dependabot[bot]
27202ae8aa Bump AutoFixture from 4.15.0 to 4.16.0
Bumps [AutoFixture](https://github.com/AutoFixture/AutoFixture) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.15.0...v4.16.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-13 17:11:34 +00:00
Bond-009
51af569159 Merge pull request #5802 from jellyfin/dependabot/nuget/TMDbLib-1.8.1
Bump TMDbLib from 1.7.3-alpha to 1.8.1
2021-04-13 19:10:59 +02:00
Bond-009
7c9772ac81 Merge pull request #5713 from Bond-009/websocketauth
Add tests for unauthenticated websocket access
2021-04-13 18:29:29 +02:00
Bond-009
ba2a1c0209 Merge pull request #5806 from Bond-009/nullref5
Fix possible ArgumentNullException
2021-04-13 18:00:33 +02:00
Bond_009
2b948aead9 Fix possible ArgumentNullException
```
System.ArgumentNullException: Value cannot be null. (Parameter 'source')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate)
   at MediaBrowser.Providers.Manager.ProviderManager.GetImages(BaseItem
           item, IRemoteImageProvider provider, IReadOnlyCollection`1
           preferredLanguages, CancellationToken cancellationToken,
           Nullable`1 type) in
   /home/bond/dev/jellyfin/MediaBrowser.Providers/Manager/ProviderManager.cs:line
   280
```
2021-04-13 19:53:09 +02:00
Bond-009
4d014e3e5a Merge pull request #5653 from jellyfin/dependabot/nuget/BlurHashSharp.SkiaSharp-1.2.0
Bump BlurHashSharp.SkiaSharp from 1.1.1 to 1.2.0
2021-04-13 16:34:51 +02:00
cvium
723b6abcb3 Optimize the way items are grouped into collections 2021-04-13 15:38:13 +02:00
crobibero
b11718a01d Properly redirect healthcheck endpoint if using BaseUrl 2021-04-13 07:12:49 -06:00
dependabot[bot]
f1c4b541c1 Bump TMDbLib from 1.7.3-alpha to 1.8.1
Bumps [TMDbLib](https://github.com/LordMike/TMDbLib) from 1.7.3-alpha to 1.8.1.
- [Release notes](https://github.com/LordMike/TMDbLib/releases)
- [Commits](https://github.com/LordMike/TMDbLib/compare/v1.7.3-alpha...v1.8.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-13 13:09:28 +00:00
dependabot[bot]
63355af518 Bump BlurHashSharp.SkiaSharp from 1.1.1 to 1.2.0
Bumps [BlurHashSharp.SkiaSharp](https://github.com/Bond-009/BlurHashSharp) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/Bond-009/BlurHashSharp/releases)
- [Commits](https://github.com/Bond-009/BlurHashSharp/commits/v1.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-13 13:09:10 +00:00
Bond-009
89ae336694 Merge pull request #5654 from jellyfin/dependabot/nuget/BlurHashSharp-1.2.0
Bump BlurHashSharp from 1.1.1 to 1.2.0
2021-04-13 15:08:25 +02:00
Bond-009
8fdb3c88c4 Merge pull request #5794 from richlander/patch-1
Remove coupling to distro
2021-04-13 14:51:38 +02:00
Bond-009
0dbaa97d0d Merge pull request #5792 from Bond-009/nullref4 2021-04-13 11:25:51 +02:00
Rich Lander
fe54e9ae9d Remove coupling to distro
- The substring `-buster-slim` isn't useful/correct. 
- .NET 6 (from my team) is based exclusively on bullseye.
- If you update just `DOTNET_VERSION` to `6.0`, `docker build` will fail. 
- If the goal is to force using `buster` throughout the Dockerfile, then making `DOTNET_VERSION` configurable isn't correct.
- Context: https://github.com/dotnet/dotnet-docker/blob/main/src/runtime-deps/6.0/bullseye-slim/amd64/Dockerfile#L1

Just saw this as a drive by look at your code. Is intended as helpful context.
2021-04-12 17:16:26 -07:00
Bond-009
8a73e19f5e Merge pull request #5768 from Bond-009/dangling 2021-04-12 22:43:26 +02:00
Bond_009
8045a488ce Fix possible ArgumentNullException
```
  Error Message:
   System.ArgumentNullException : Value cannot be null. (Parameter 'source')
  Stack Trace:
     at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector)
   at Emby.Server.Implementations.Library.LibraryManager.ResolveItem(ItemResolveArgs args, IItemResolver[] resolvers) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 475
   at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, IDirectoryService directoryService, IItemResolver[] resolvers, Folder parent, String collectionType, LibraryOptions libraryOptions) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 618
   at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, Folder parent) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 536
   at Emby.Server.Implementations.Library.LibraryManager.GetUserRootFolder() in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 812
   at Emby.Server.Implementations.Library.LibraryManager.GetCollectionFolders(BaseItem item) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 2080
   at Emby.Server.Implementations.Library.LibraryManager.GetLibraryOptions(BaseItem item) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 2116
   at MediaBrowser.Providers.Manager.ProviderManager.SaveMetadata(BaseItem item, ItemUpdateType updateType, IEnumerable`1 savers) in /home/vsts/work/1/s/MediaBrowser.Providers/Manager/ProviderManager.cs:line 672
   at MediaBrowser.Providers.Manager.ProviderManager.SaveMetadata(BaseItem item, ItemUpdateType updateType) in /home/vsts/work/1/s/MediaBrowser.Providers/Manager/ProviderManager.cs:line 655
   at Emby.Server.Implementations.Library.LibraryManager.RunMetadataSavers(BaseItem item, ItemUpdateType updateReason) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 2017
   at Emby.Server.Implementations.Library.LibraryManager.UpdateItemsAsync(IReadOnlyList`1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken) in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 1975
   at Emby.Server.Implementations.Library.LibraryManager.CreateRootFolder() in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 775
   at Emby.Server.Implementations.Library.LibraryManager.get_RootFolder() in /home/vsts/work/1/s/Emby.Server.Implementations/Library/LibraryManager.cs:line 180
   at Emby.Server.Implementations.IO.LibraryMonitor.Start() in /home/vsts/work/1/s/Emby.Server.Implementations/IO/LibraryMonitor.cs:line 135
   at Emby.Server.Implementations.IO.LibraryMonitorStartup.RunAsync() in /home/vsts/work/1/s/Emby.Server.Implementations/IO/LibraryMonitorStartup.cs:line 26
   at Emby.Server.Implementations.ApplicationHost.StartEntryPoints(IEnumerable`1 entryPoints, Boolean isBeforeStartup)+MoveNext() in /home/vsts/work/1/s/Emby.Server.Implementations/ApplicationHost.cs:line 518
   at System.Threading.Tasks.Task.WhenAll(IEnumerable`1 tasks)
   at Emby.Server.Implementations.ApplicationHost.RunStartupTasksAsync(CancellationToken cancellationToken) in /home/vsts/work/1/s/Emby.Server.Implementations/ApplicationHost.cs:line 502
   at Jellyfin.Server.Integration.Tests.JellyfinApplicationFactory.CreateServer(IWebHostBuilder builder) in /home/vsts/work/1/s/tests/Jellyfin.Server.Integration.Tests/JellyfinApplicationFactory.cs:line 101
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.EnsureServer()
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(Uri baseAddress, DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient(WebApplicationFactoryClientOptions options)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient()
   at Jellyfin.Server.Integration.Tests.Controllers.ActivityLogControllerTests.ActivityLog_GetEntries_Ok() in /home/vsts/work/1/s/tests/Jellyfin.Server.Integration.Tests/Controllers/ActivityLogControllerTests.cs:line 21
--- End of stack trace from previous location ---
```
2021-04-12 22:01:35 +02:00
Claus Vium
dc4714fe40 fix webp compatibility testing (#5787) 2021-04-12 19:54:32 +02:00
Cody Robibero
cc59abd54e Mark cropWhitespace parameter as obsolete (#5751) 2021-04-12 15:50:24 +02:00
Bond-009
b94218849c Merge pull request #5784 from Bond-009/racecondition
Fix random failing of tests
2021-04-12 15:47:37 +02:00
BaronGreenback
10d358c8da Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: Odd Stråbø <oddstr13@openshell.no>
2021-04-12 10:28:24 +01:00
Bond_009
a4ffc7a813 Fix random failing of tests
Fully initialize the configuration manager at the init stage

```
Failed Jellyfin.Server.Integration.Tests.Controllers.ActivityLogControllerTests.ActivityLog_GetEntries_Ok [2 s]
  Error Message:
   MediaBrowser.Common.Extensions.ResourceNotFoundException : Configuration with key metadata not found.
  Stack Trace:
     at Emby.Server.Implementations.AppBase.BaseConfigurationManager.<>c__DisplayClass43_0.<GetConfiguration>b__0(String k) in D:\a\1\s\Emby.Server.Implementations\AppBase\BaseConfigurationManager.cs:line 309
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Emby.Server.Implementations.AppBase.BaseConfigurationManager.GetConfiguration(String key) in D:\a\1\s\Emby.Server.Implementations\AppBase\BaseConfigurationManager.cs:line 300
   at MediaBrowser.Common.Configuration.ConfigurationManagerExtensions.GetConfiguration[T](IConfigurationManager manager, String key) in D:\a\1\s\MediaBrowser.Common\Configuration\IConfigurationManager.cs:line 88
   at MediaBrowser.Controller.Library.MetadataConfigurationExtensions.GetMetadataConfiguration(IConfigurationManager config) in D:\a\1\s\MediaBrowser.Controller\Library\MetadataConfigurationStore.cs:line 28
   at Emby.Server.Implementations.Library.ResolverHelper.SetDateCreated(BaseItem item, IFileSystem fileSystem, FileSystemMetadata info) in D:\a\1\s\Emby.Server.Implementations\Library\ResolverHelper.cs:line 159
   at Emby.Server.Implementations.Library.ResolverHelper.EnsureDates(IFileSystem fileSystem, BaseItem item, ItemResolveArgs args) in D:\a\1\s\Emby.Server.Implementations\Library\ResolverHelper.cs:line 153
   at Emby.Server.Implementations.Library.ResolverHelper.SetInitialItemValues(BaseItem item, ItemResolveArgs args, IFileSystem fileSystem, ILibraryManager libraryManager) in D:\a\1\s\Emby.Server.Implementations\Library\ResolverHelper.cs:line 81
   at Emby.Server.Implementations.Library.LibraryManager.ResolveItem(ItemResolveArgs args, IItemResolver[] resolvers) in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 480
   at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, IDirectoryService directoryService, IItemResolver[] resolvers, Folder parent, String collectionType, LibraryOptions libraryOptions) in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 618
   at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, Folder parent) in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 536
   at Emby.Server.Implementations.Library.LibraryManager.CreateRootFolder() in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 732
   at Emby.Server.Implementations.Library.LibraryManager.get_RootFolder() in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 180
   at Emby.Server.Implementations.IO.LibraryMonitor.Start() in D:\a\1\s\Emby.Server.Implementations\IO\LibraryMonitor.cs:line 135
   at Emby.Server.Implementations.IO.LibraryMonitorStartup.RunAsync() in D:\a\1\s\Emby.Server.Implementations\IO\LibraryMonitorStartup.cs:line 26
   at Emby.Server.Implementations.ApplicationHost.StartEntryPoints(IEnumerable`1 entryPoints, Boolean isBeforeStartup)+MoveNext() in D:\a\1\s\Emby.Server.Implementations\ApplicationHost.cs:line 541
   at System.Threading.Tasks.Task.WhenAll(IEnumerable`1 tasks)
   at Emby.Server.Implementations.ApplicationHost.RunStartupTasksAsync(CancellationToken cancellationToken) in D:\a\1\s\Emby.Server.Implementations\ApplicationHost.cs:line 525
   at Jellyfin.Server.Integration.Tests.JellyfinApplicationFactory.CreateServer(IWebHostBuilder builder) in D:\a\1\s\tests\Jellyfin.Server.Integration.Tests\JellyfinApplicationFactory.cs:line 101
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.EnsureServer()
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(Uri baseAddress, DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient(WebApplicationFactoryClientOptions options)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient()
   at Jellyfin.Server.Integration.Tests.Controllers.ActivityLogControllerTests.ActivityLog_GetEntries_Ok() in D:\a\1\s\tests\Jellyfin.Server.Integration.Tests\Controllers\ActivityLogControllerTests.cs:line 21
--- End of stack trace from previous location ---

```
2021-04-12 00:28:17 +02:00
Bond-009
1361ccd9ea Merge pull request #5763 from Bond-009/ipobjects
Minor improvements to IPObjects
2021-04-11 23:31:03 +02:00
Joshua M. Boniface
4deccd451e Mention testing too 2021-04-11 16:31:10 -04:00
Joshua M. Boniface
f381c53634 Fix typo 2021-04-11 14:51:45 -04:00
Joshua M. Boniface
7aa53b060e Add label commenter workflow
Right now the main purpose is to handle instructions for stable
backports. Can be expanded in the future.
2021-04-11 14:46:43 -04:00
Joshua M. Boniface
770c123d12 Merge pull request #5764 from cvium/fix-folders-perms
Do not check permissions for Folders collectiontype
2021-04-11 13:30:15 -04:00
Joshua M. Boniface
19e7ebb279 Merge pull request #5416 from BaronGreenback/SubnetOverlappFix 2021-04-11 13:29:00 -04:00
Joshua M. Boniface
cd0daa7985 Merge pull request #5748 from cvium/playlist-audio-type
Set mediatype to Audio for playlists in a music library
2021-04-11 13:28:49 -04:00
BaronGreenback
fb7587dd84 Renamed 2021-04-11 17:17:05 +01:00
Bond-009
58fb3e9610 Merge pull request #5767 from cvium/dont-delete-artwork
Do not touch "old" local artwork unless saving locally
2021-04-11 17:56:01 +02:00
Bond-009
790f7430aa Merge pull request #5556 from oddstr13/image-fill-resize 2021-04-11 13:34:22 +02:00
Bond-009
f0625bb023 Merge pull request #5769 from cvium/workstation-gc
Enable Workstation GC mode
2021-04-11 13:33:42 +02:00
cvium
01491796a2 Enable Workstation GC mode 2021-04-11 12:57:28 +02:00
Odd Stråbø
d0857cf655 Fix build, increase StringBuilder starting size 2021-04-11 08:21:23 +02:00
Odd Stråbø
e0edbc5754 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-11 08:21:23 +02:00
Odd Stråbø
afff226514 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-11 08:21:23 +02:00
Odd Stråbø
e57c1655fb Remove GetSizeEstimate & GetEstimatedAspectRatio
from MediaBrowser.Controller.Drawing.ImageHelper

Rework GetCacheFilePath to take requested with and height parameters
in stead of using estimated output size
2021-04-11 08:21:23 +02:00
Odd Stråbø
13d0837b78 (mostly)Fix ResizeFill 2021-04-11 08:21:23 +02:00
Odd Stråbø
383aa4e4d9 Add Resize to fill box alternative to image endpoints 2021-04-11 08:20:47 +02:00
Bond-009
240e67d485 Merge pull request #5747 from cvium/more-convertimage-fixes
Catch IOException and include stack trace when saving images
2021-04-11 00:58:49 +02:00
Bond-009
f4654aaeb1 Merge pull request #5766 from cvium/fix-scheduledtaskworker
Use sync Serialize when writing scheduled tasks to disk
2021-04-11 00:38:44 +02:00
Bond_009
5fc664fd4f Add test for handling dangling symlinks 2021-04-11 00:35:32 +02:00
cvium
35cfd760d4 Do not touch "old" local artwork unless saving locally 2021-04-11 00:27:53 +02:00
cvium
42bcf171d9 Use sync Serialize when writing scheduled tasks to disk 2021-04-10 23:54:35 +02:00
Bond-009
62117a6c12 Merge pull request #5746 from cvium/dangling-symlinks 2021-04-10 23:18:55 +02:00
Patrick Barron
ed0b5ff017 Fix builds 2021-04-10 17:11:59 -04:00
Claus Vium
bf510ca04e Merge pull request #5750 from iwalton3/fix-audio-selection-uns
Fix setting audio stream in PlaybackInfo for jellyfin-web.
2021-04-10 23:10:16 +02:00
Patrick Barron
3ebc047434 Convert UpdateUser to solely async 2021-04-10 16:59:41 -04:00
cvium
f2e7491755 Do not check permissions for Folders collectiontype 2021-04-10 22:58:32 +02:00
Patrick Barron
8607b52541 Make device/session code async 2021-04-10 16:57:25 -04:00
Bond_009
be9cb7af2c Minor improvements to IPObjects 2021-04-10 22:42:09 +02:00
Patrick Barron
44e71774b1 Rewrite device manager using EF Core 2021-04-10 16:17:36 -04:00
Patrick Barron
f47fe308b1 Add navigation property to device entity 2021-04-10 16:17:02 -04:00
Patrick Barron
98e19c9fd3 Add device indexes 2021-04-10 16:16:08 -04:00
Patrick Barron
e6f1ffdc8d Add device entities to schema. 2021-04-10 16:15:59 -04:00
Patrick Barron
9cd5352358 Add device options entity 2021-04-10 16:03:20 -04:00
BaronGreenback
1fe26fe352 Work through dns failure on test. 2021-04-10 19:44:09 +01:00
BaronGreenback
af027b6283 Fixed after accepting suggestion. 2021-04-10 19:23:27 +01:00
BaronGreenback
0db5df86df Update Jellyfin.Api/Constants/Policies.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-10 18:49:18 +01:00
Bond-009
85daaec318 Merge pull request #5759 from Bond-009/logging
Fix LogUnmatchedProfile formatting
2021-04-10 17:17:24 +02:00
Bond_009
117736aac9 Fix LogUnmatchedProfile formatting 2021-04-10 17:09:45 +02:00
BaronGreenback
cf3aff93f2 revert change error 2021-04-10 12:09:24 +01:00
BaronGreenback
5fb7557763 Network Access Policy 2021-04-10 12:03:52 +01:00
Patrick Barron
271b4cadb7 Add device entity. 2021-04-09 23:16:07 -04:00
Bond-009
b2fbf97abd Merge pull request #4988 from Bond-009/crop 2021-04-10 02:57:43 +02:00
Bond-009
9d548c62ba Merge pull request #5258 from Smith00101010/next-up-specials-fix 2021-04-10 01:38:57 +02:00
Ian Walton
321e383965 Fix setting audio stream in PlaybackInfo for jellyfin-web. 2021-04-09 19:24:41 -04:00
Claus Vium
f99237cf9b Update Emby.Server.Implementations/IO/ManagedFileSystem.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-10 00:16:37 +02:00
cvium
ef527df28f Set mediatype to Audio for playlists in a music library 2021-04-10 00:06:48 +02:00
cvium
f2cba352e5 catch ioexception and include stack trace 2021-04-09 23:30:07 +02:00
Claus Vium
1a92d94e92 Merge pull request #5712 from BaronGreenback/5700 2021-04-09 23:06:40 +02:00
Claus Vium
d532e95410 Merge pull request #5734 from jellyfin/fix-isplayed-itemvalues
move IsPlayed to outerquery
2021-04-09 23:05:43 +02:00
cvium
1a3352003d don't die on dangling symlinks 2021-04-09 23:02:36 +02:00
Mohamed Akram
ce4f730221 Add support for TMDB series absolute and DVD order 2021-04-09 20:02:23 +04:00
cvium
381db60ed3 fix test 2021-04-09 15:05:39 +02:00
cvium
5c4be2416d Remove unused import 2021-04-09 13:48:25 +02:00
cvium
53db1a1ffc ... 2021-04-09 13:47:47 +02:00
cvium
457229c56d Simplification 2021-04-09 13:43:40 +02:00
cvium
69d2368fbc Copy paste error 2021-04-09 13:31:17 +02:00
cvium
e7fc18d0f3 Fix type check 2021-04-09 13:28:27 +02:00
cvium
08ccf2a49c Resolve name from episode folder 2021-04-09 13:20:12 +02:00
Bond-009
6577f1deb2 Merge pull request #5736 from jellyfin/catch-httprequestex-librarymanager
fetching images should not kill the scanner
2021-04-09 12:41:17 +02:00
Bond-009
900793e25d Merge pull request #5731 from Bond-009/usertests
Add tests for UserController
2021-04-09 12:04:13 +02:00
Claus Vium
a21b2714e7 fetching images should not kill the scanner 2021-04-09 12:03:56 +02:00
Claus Vium
db530e61f5 move IsPlayed to outerquery
IsPlayed is a column in UserDatas and does not belong in the inner query. None of the other UserDatas columns are in the innerquery.
2021-04-09 11:32:19 +02:00
Bond_009
391554d391 Add tests for UserController 2021-04-09 01:04:49 +02:00
Bond-009
a19a97ca42 Merge pull request #5721 from Bond-009/authenticatedtests
Add code to test authenticated endpoints
2021-04-08 23:33:18 +02:00
Bond-009
9bf3ec4ae2 Merge pull request #5730 from thornbill/disable-hevc-encoding
Disable HEVC encoding by default
2021-04-08 18:16:04 +02:00
Bill Thornton
cc0f191228 Disable hevc encoding by default 2021-04-08 09:57:17 -04:00
BaronGreenback
b645bb20de Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-08 14:38:25 +01:00
crobibero
b1faf8c2e8 Update to dotnet 5.0.5 2021-04-08 07:36:13 -06:00
Claus Vium
9d0467addf Merge pull request #5725 from BrianCArnold/Fix2845_PlaylistDeletion 2021-04-08 14:25:51 +02:00
Bond-009
47bbe4c146 Merge pull request #5717 from cvium/nullable-custompref-value 2021-04-08 13:15:02 +02:00
Brian Arnold
a2acfb02e9 Can't reference System.IO.Path as 'Path', even though System.IO is in the usings, because there is a Path property of the class. 2021-04-08 05:19:28 -04:00
BrianCArnold
2314487e38 Update MediaBrowser.Controller/Playlists/Playlist.cs
Included suggested change from cvium

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-08 04:03:43 -04:00
Brian Arnold
7c457da9ab Fixed issue with determining if a directory was a directory or file when it contained a '.' character in the directory path.
Resolves: #2845
2021-04-08 02:49:41 -04:00
Joshua M. Boniface
14f94b6793 Merge pull request #5707 from ferferga/deyarn 2021-04-07 18:51:22 -04:00
Bond-009
631df8c560 Merge pull request #5520 from Bond-009/hdhomerun2 2021-04-08 00:27:58 +02:00
Bond_009
45a16c19a7 Add code to test authenticated endpoints 2021-04-07 21:35:54 +02:00
Bond-009
51a075a895 Merge pull request #5711 from jellyfin/dependabot/nuget/Microsoft.AspNetCore.Mvc.Testing-5.0.5
Bump Microsoft.AspNetCore.Mvc.Testing from 5.0.3 to 5.0.5
2021-04-07 17:42:38 +02:00
Bond-009
5042246360 Merge pull request #5710 from jellyfin/dependabot/nuget/Microsoft.AspNetCore.Authorization-5.0.5
Bump Microsoft.AspNetCore.Authorization from 5.0.3 to 5.0.5
2021-04-07 17:42:27 +02:00
Claus Vium
f718735b4e Merge pull request #5688 from crobibero/api-docs-sever-discovery
Add SessionDiscoveryInfo to generated api-docs
2021-04-07 14:36:49 +02:00
Claus Vium
a1718e392b Merge pull request #5631 from BrianCArnold/FixMessageCommand 2021-04-07 14:36:08 +02:00
cvium
4892e0cf06 fix build...somehow 2021-04-07 13:17:59 +02:00
cvium
d772fddfb3 make custompref value nullable 2021-04-07 13:09:00 +02:00
Bond_009
fbd9141ecd Add tests for unauthenticated websocket access 2021-04-06 22:46:54 +02:00
BaronGreenback
65f880be32 Keep plugin status after update. 2021-04-06 20:59:47 +01:00
dependabot[bot]
3651ee5ed3 Bump Microsoft.AspNetCore.Mvc.Testing from 5.0.3 to 5.0.5
Bumps [Microsoft.AspNetCore.Mvc.Testing](https://github.com/dotnet/aspnetcore) from 5.0.3 to 5.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.3...v5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-06 18:35:51 +00:00
dependabot[bot]
e85ac4d975 Bump Microsoft.AspNetCore.Authorization from 5.0.3 to 5.0.5
Bumps [Microsoft.AspNetCore.Authorization](https://github.com/dotnet/aspnetcore) from 5.0.3 to 5.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.3...v5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-06 18:35:36 +00:00
Bond-009
221d9373e8 Merge pull request #5708 from Bond-009/netanalyzers
Enable NetAnalyzers for more projects
2021-04-06 20:34:30 +02:00
Bond_009
95327b842e Enable NetAnalyzers for more projects 2021-04-06 20:02:06 +02:00
Fernando Fernández
8d6713af65 Use npm ci instead of npm i 2021-04-06 17:37:50 +02:00
Fernando Fernández
ba958c70d5 (jellyfin-web): Switch to npm 2021-04-06 17:24:01 +02:00
Maxr1998
a7c8bc632f Fix typo in test data filename 2021-04-06 15:34:29 +02:00
Maxr1998
07751768f4 Add tests for music video metadata 2021-04-06 15:34:29 +02:00
Maxr1998
24ac8a1223 Improve metadata probing to better support music videos 2021-04-06 15:34:29 +02:00
Bond-009
3412120c61 Merge pull request #5702 from cvium/ws-auth
add simple auth handling to websocketmanager
2021-04-05 17:31:10 +02:00
cvium
14d0acf285 add simple auth handling to websocketmanager 2021-04-05 15:12:47 +02:00
Bond-009
d748d6cf3f Merge pull request #5699 from Bond-009/ffprobetests 2021-04-05 13:50:44 +02:00
Bond_009
e6d487f7ea Add test for ProbeResultNormalizer.GetMediaInfo 2021-04-05 01:53:00 +02:00
Bond-009
7978f30ff7 Merge pull request #5693 from Maxr1998/probe-result-tweaks 2021-04-04 17:16:17 +02:00
Maxr1998
873ad72c18 Support MKV DATE_RELEASED tag for PremiereDate
https://www.matroska.org/technical/tagging.html#temporal-information
2021-04-04 15:41:01 +02:00
Maxr1998
8d27e10cb6 Interpret ffprobe date as UTC
Currently, dates are parsed according to the local time, which results in potentially wrong data being stored in the database after normalizing to UTC - e.g. 2021-04-04 would be stored as '2021-04-03 22:00:00Z' and displayed in the UI as 03.04.2021.
2021-04-04 15:13:54 +02:00
Maxr1998
e0f513232b Reduce nesting 2021-04-04 15:13:54 +02:00
Bond-009
8eaefce14e Merge pull request #5691 from Bond-009/nullref3
Fix possible nullref
2021-04-04 13:22:49 +02:00
Bond_009
2ed0801be2 Fix possible nullref
when `ProviderManager.SaveMetadata` gets called before
`ProviderManager.AddParts`

```
Error Message:
   System.ArgumentNullException : Value cannot be null. (Parameter 'source')
  Stack Trace:
     at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate)
   at MediaBrowser.Providers.Manager.ProviderManager.SaveMetadata(BaseItem item, ItemUpdateType updateType, IEnumerable`1 savers) in D:\a\1\s\MediaBrowser.Providers\Manager\ProviderManager.cs:line 674
   at MediaBrowser.Providers.Manager.ProviderManager.SaveMetadata(BaseItem item, ItemUpdateType updateType) in D:\a\1\s\MediaBrowser.Providers\Manager\ProviderManager.cs:line 655
   at Emby.Server.Implementations.Library.LibraryManager.RunMetadataSavers(BaseItem item, ItemUpdateType updateReason) in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 2012
   at Emby.Server.Implementations.Library.LibraryManager.UpdateItemsAsync(IReadOnlyList`1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken) in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 1970
   at Emby.Server.Implementations.Library.LibraryManager.CreateRootFolder() in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 775
   at Emby.Server.Implementations.Library.LibraryManager.get_RootFolder() in D:\a\1\s\Emby.Server.Implementations\Library\LibraryManager.cs:line 180
   at Emby.Server.Implementations.IO.LibraryMonitor.Start() in D:\a\1\s\Emby.Server.Implementations\IO\LibraryMonitor.cs:line 135
   at Emby.Server.Implementations.IO.LibraryMonitorStartup.RunAsync() in D:\a\1\s\Emby.Server.Implementations\IO\LibraryMonitorStartup.cs:line 26
   at Emby.Server.Implementations.ApplicationHost.StartEntryPoints(IEnumerable`1 entryPoints, Boolean isBeforeStartup)+MoveNext() in D:\a\1\s\Emby.Server.Implementations\ApplicationHost.cs:line 541
   at System.Threading.Tasks.Task.WhenAll(IEnumerable`1 tasks)
   at Emby.Server.Implementations.ApplicationHost.RunStartupTasksAsync(CancellationToken cancellationToken) in D:\a\1\s\Emby.Server.Implementations\ApplicationHost.cs:line 525
   at Jellyfin.Server.Integration.Tests.JellyfinApplicationFactory.CreateServer(IWebHostBuilder builder) in D:\a\1\s\tests\Jellyfin.Server.Integration.Tests\JellyfinApplicationFactory.cs:line 101
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.EnsureServer()
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateDefaultClient(Uri baseAddress, DelegatingHandler[] handlers)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient(WebApplicationFactoryClientOptions options)
   at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory`1.CreateClient()
   at Jellyfin.Server.Integration.Tests.OpenApiSpecTests.GetSpec_ReturnsCorrectResponse() in D:\a\1\s\tests\Jellyfin.Server.Integration.Tests\OpenApiSpecTests.cs:line 26
--- End of stack trace from previous location ---
```
2021-04-04 01:45:15 +02:00
Bond-009
fa64d8e4f2 Merge pull request #5637 from dmitrylyzo/check-media-type 2021-04-04 01:25:09 +02:00
Dmitry Lyzo
36da7a06d7 Less negation
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-04-04 02:09:57 +03:00
Bond-009
ea2bd3398b Merge pull request #5685 from Bond-009/uselessnullcheck
Remove useless null check
2021-04-03 23:50:00 +02:00
Bond-009
cb111eb767 Merge pull request #5661 from ferferga/openapi-product-version
Return Major.Minor.Build instead of Major.Minor.Build.Revision for OpenAPI
2021-04-03 22:07:47 +02:00
Bond-009
4f387dca6e Merge pull request #5598 from cvium/fix_hls_default_values 2021-04-03 19:36:41 +02:00
Bond-009
9f21dd63ae Merge pull request #5684 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.9.4
Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4
2021-04-03 19:25:25 +02:00
crobibero
31d1dbfda6 Add SessionDiscoveryInfo to generated api-docs 2021-04-03 06:54:09 -06:00
Bond-009
959a09bdb0 Merge pull request #5676 from Bond-009/useless 2021-04-03 02:00:03 +02:00
Bond_009
0a00a73fec Remove useless null check 2021-04-03 01:46:31 +02:00
dependabot[bot]
7c70205326 Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.9.1 to 16.9.4.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.9.1...v16.9.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-02 22:42:12 +00:00
Bond-009
8cb3dc8469 Merge pull request #5590 from jellyfin/dependabot/nuget/Microsoft.Extensions.Diagnostics.HealthChecks-5.0.4
Bump Microsoft.Extensions.Diagnostics.HealthChecks from 5.0.3 to 5.0.4
2021-04-03 00:41:40 +02:00
Bond-009
ec0ef1530c Merge pull request #5602 from Ullmie02/IP-string-IP 2021-04-03 00:32:43 +02:00
dependabot[bot]
820a373016 Bump Microsoft.Extensions.Diagnostics.HealthChecks from 5.0.3 to 5.0.4
Bumps [Microsoft.Extensions.Diagnostics.HealthChecks](https://github.com/dotnet/aspnetcore) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.3...v5.0.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-02 22:27:11 +00:00
Bond-009
a92736baad Merge pull request #5174 from barronpm/authenticateuser-cleanup 2021-04-03 00:26:56 +02:00
Bond-009
fd66ca25cd Merge pull request #5652 from jellyfin/dependabot/nuget/Serilog.AspNetCore-4.1.0
Bump Serilog.AspNetCore from 3.4.0 to 4.1.0
2021-04-03 00:26:00 +02:00
BaronGreenback
d9a50cb510 Various DLNA Optimizations 2021-04-02 19:06:38 +01:00
Bond-009
6f373f615b Merge pull request #5675 from Bond-009/copytotests
Add tests for CopyToExtensions
2021-04-02 16:38:30 +02:00
Patrick Barron
499785bebb Use new entities for API key endpoints 2021-04-01 17:08:22 -04:00
Patrick Barron
1c501b17d7 Add ApiKey entity and associated relationships 2021-04-01 17:05:54 -04:00
Bond-009
a0258618ac Update Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-01 21:24:34 +02:00
Bond_009
c533b20496 Remove ManagedFileSystem.IsRootPath
`Path.IsPathRooted` should be used instead
2021-04-01 19:39:00 +02:00
Max Rumpf
21e7ceae8e StreamBuilder tweaks (#5668)
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-04-01 19:18:14 +02:00
Bond_009
aa76957338 Remove useless code 2021-04-01 19:16:00 +02:00
Bond_009
11f7ab4dd4 Add tests for CopyToExtensions 2021-04-01 19:13:03 +02:00
Bond-009
7c51d0a50e Merge pull request #5671 from jellyfin/tmdbmovieprovider-originaltitle
set original title in tmdbmovieprovider
2021-04-01 17:39:22 +02:00
Bond-009
38913a42b4 Merge pull request #5672 from jellyfin/skip-bad-images
ensure only valid images are saved in ItemImageProvider
2021-04-01 17:38:05 +02:00
Patrick Barron
16ca8c7536 Remove unused SessionManager methods 2021-04-01 10:49:09 -04:00
Claus Vium
df60d176b8 ensure only valid images are saved in ItemImageProvider 2021-04-01 15:27:28 +02:00
Claus Vium
28a0eb6d53 set original title in tmdbmovieprovider 2021-04-01 14:28:03 +02:00
Brian C. Arnold
3820671724 Merge remote-tracking branch 'main/master' into FixMessageCommand 2021-03-31 08:08:27 -04:00
BrianCArnold
4fa2a32d81 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-31 01:24:38 -04:00
BrianCArnold
af03b280bc Update SessionController.cs 2021-03-31 01:23:51 -04:00
Stéphane Senart
3164781ce0 [5644] [DLNA] [Music] Next track command from any DLNA device does not do anything. 2021-03-30 22:18:32 +02:00
Bond-009
b49d50e634 Merge pull request #5467 from Ullmie02/nfo-fixes 2021-03-30 15:35:56 +02:00
Fernando Fernández
8c6bd2537c Return Major.Minor.Build instead of Major.Minor.Build.Revision for OpenAPI version 2021-03-30 15:15:16 +02:00
BrianCArnold
80fe48fda9 Update SessionController.cs
Removed unnecessary construction of POCO to represent data from POST body
2021-03-30 07:29:40 -04:00
Stéphane Senart
ec113816aa [5644] [DLNA] [Music] Next track command from any DLNA device does not do anything. 2021-03-29 23:43:02 +02:00
Brian Arnold
54107ae882 Fix spacing requirement for MessageCommand. 2021-03-29 11:40:07 -04:00
Brian Arnold
ca25301e64 Added Required attribute to Text property of MessageCommand. 2021-03-29 10:10:44 -04:00
dependabot[bot]
949ef2ed10 Bump BlurHashSharp from 1.1.1 to 1.2.0
Bumps [BlurHashSharp](https://github.com/Bond-009/BlurHashSharp) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/Bond-009/BlurHashSharp/releases)
- [Commits](https://github.com/Bond-009/BlurHashSharp/commits/v1.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 12:00:57 +00:00
dependabot[bot]
023467ebce Bump Serilog.AspNetCore from 3.4.0 to 4.1.0
Bumps [Serilog.AspNetCore](https://github.com/serilog/serilog-aspnetcore) from 3.4.0 to 4.1.0.
- [Release notes](https://github.com/serilog/serilog-aspnetcore/releases)
- [Commits](https://github.com/serilog/serilog-aspnetcore/compare/v3.4.0...v4.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 12:00:44 +00:00
Stéphane Senart
a7c82b2681 [5644] [DLNA] [Music] Next track command from any DLNA device does not do anything. 2021-03-29 12:11:38 +02:00
Ionut Andrei Oanca
776ce7c660 Send playing item status in SyncPlay group update 2021-03-29 11:29:48 +02:00
David
1669cb6618 Split valid and invalid tests 2021-03-29 10:35:29 +02:00
Ionut Andrei Oanca
9eb740ba57 Fix storing outdated sessions in SyncPlay 2021-03-28 13:25:40 +02:00
Brian C. Arnold
998833ea6e Removed null check for body object and user [Required] attribute in replacement. 2021-03-27 23:29:24 -04:00
Brian Arnold
f114ba57dd Fixed comment and code block runes to match coding
standards required by Jellyfin team.
2021-03-27 23:29:24 -04:00
Brian Arnold
81e3e5ca48 Changed SessionController.SendMessageCommand
implementation receive data in the POST body, as that is how the
jellyfin-web client currently posts the data to the server.

Resolves: #5628
2021-03-27 23:29:24 -04:00
Bond-009
a890a85092 Merge pull request #5495 from BaronGreenback/RemoteAccessFix 2021-03-27 17:24:47 +01:00
Dmitry Lyzo
364e8931af Check appropriate profile type 2021-03-27 11:53:57 +03:00
Claus Vium
9144d11a9d Merge pull request #5624 from crobibero/subtitle-format 2021-03-27 09:25:34 +01:00
BaronGreenback
aae2aad0f2 changed split to single quotes 2021-03-27 08:16:48 +00:00
Bond-009
1de031a7c3 Merge pull request #5634 from cvium/directoryservice-case-sensitive
make directoryservice cache case sensitive
2021-03-27 00:51:52 +01:00
crobibero
afe3b5999e Fix route naming 2021-03-26 17:40:55 -06:00
Claus Vium
90d9530aed Merge pull request #5629 from lmaonator/fix-cast-stream-selection 2021-03-27 00:34:57 +01:00
cvium
7670189561 make directoryservice cache case sensitive 2021-03-27 00:26:56 +01:00
David
78f7fdeacc Rename methods and optimize allocations 2021-03-26 17:16:29 +01:00
lmaonator
694d772b11 Update Jellyfin.Api/Controllers/SessionController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-03-26 14:13:45 +01:00
crobibero
5b758c4711 Mark query parameters as obsolete 2021-03-26 07:07:45 -06:00
lmaonator
db2fbcef2b Fix stream selection having no effect when casting
When casting to jellyfin-mpv-shim from jellyfin-web in the browser,
jellyfin-web sends data about which version (for grouped items) and
which streams the user selected in the browser to the
"Sessions/{sessionId}/Playing" API endpoint.

The API endpoint currently doesn't forward them to jellyfin-mpv-shim
through the Play command, which results in the default streams being
played instead of the browser selected ones.

PlayRequest already has the properties and they are already sent to the
cast client by SendPlayCommand when present.
jellyfin-mpv-shim will already use them to select the wanted streams
when it receives the Play command.

All that's needed to make it work is to take the parameters and assign
them to PlayRequest.
2021-03-26 13:41:34 +01:00
crobibero
e0ff51cf2a Mark query parameters as obsolete 2021-03-25 20:30:15 -06:00
crobibero
73fe9d3f69 Allow subtitle format to be set from query parameter. 2021-03-25 18:06:25 -06:00
Patrick Barron
7364155579 Clean up user deletion 2021-03-25 19:51:27 -04:00
Patrick Barron
a7b29e2fe0 Clean up user renaming 2021-03-25 19:51:27 -04:00
Patrick Barron
daa21c9e99 Add migration 2021-03-25 19:51:27 -04:00
Patrick Barron
ea0a9c2cca Properly configure foreign keys 2021-03-25 19:51:27 -04:00
Patrick Barron
a07ad71222 Use NOCASE collation and index on username field 2021-03-25 19:51:27 -04:00
Patrick Barron
3c4187e780 Add indexes for user permissions and preferences 2021-03-25 19:51:27 -04:00
Patrick Barron
f1cadb27d9 Add id properties for preferences and permissions 2021-03-25 19:51:27 -04:00
Patrick Barron
0a579e5bbd Configure user deletion behavior 2021-03-25 19:51:27 -04:00
Patrick Barron
3ffef5794e Delete unnecessary indexes
Multicolumn indexes can be queried on the first column without needing a separate index
2021-03-25 19:51:26 -04:00
Patrick Barron
36669ff451 Use correct setter access modifiers 2021-03-25 19:51:26 -04:00
Bond-009
6946e58ca4 Merge pull request #5614 from jellyfin/Bond-009-patch-2 2021-03-25 23:55:54 +01:00
Bond-009
4cea6d9ccf Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-03-25 18:53:36 +01:00
Claus Vium
411570e6d4 Merge pull request #5621 from cvium/enable-range-processing-download
enable range processing for download endpoints
2021-03-25 17:01:18 +01:00
Claus Vium
a76d997a86 Merge pull request #5620 from MrTimscampi/iso-ignore 2021-03-25 17:00:32 +01:00
cvium
b3d084044e enable range processing for download endpoints 2021-03-25 15:09:37 +01:00
MrTimscampi
5bb7d99b48 Remove DVDs from files exempt from chapter image extraction 2021-03-25 13:16:09 +01:00
MrTimscampi
ef9eba8bc9 Ignore format for ISO files 2021-03-25 12:23:29 +01:00
Bond-009
6d0b2ed080 Merge pull request #5579 from cocool97/master 2021-03-25 01:45:43 +01:00
Bond-009
55102973d6 Merge pull request #5596 from BaronGreenback/DLNA_Hardening
Implemented DLNA exception handling
2021-03-25 01:29:10 +01:00
Bond-009
16011d96a0 Merge pull request #5321 from Ullmie02/nfo-thumb 2021-03-25 01:10:37 +01:00
Claus Vium
e64f9f2f66 Merge pull request #5613 from accek/accek-samsung-dlna-fix 2021-03-24 23:04:28 +01:00
Szymon Acedański
b1e8a8565f Update Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-24 22:46:08 +01:00
cocool97
86852178c2 Update MediaBrowser.Controller/LiveTv/ChannelInfo.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-03-24 21:23:59 +01:00
Bond-009
066c19a26b Fix possible null ref exception 2021-03-24 21:06:03 +01:00
Szymon Acedański
136136dea9 Fix incorrect responses for HEAD /audio/<id>/stream
Without this fix my Samsung Soundbar (HW-Q80R) fails to play using DLNA
and returns "Error: Resource not found (716)" instead.

I had a look on tcpdump network logs between Jellyfin and the soundbar
and noticed that the device performs a HEAD request for the media before
responding to the DLNA UPNP control request from Jellyfin (or BubbleUPNP
Android App).

Jellyfin retuns 204 No Content response, which is unusual.  Common web
servers generally return 200 OK if the GET would return content, and
this is not-very-clearly suggested [in HTTP
spec](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1)

The other patch is to ensure, that invalid Content-Length: 0 is not
returned with the HEAD response in the streaming case.

I think in both cases we still don't return the same headers with HEAD
as with GET (e.g. Content-Length or Accept-Ranges), but at least we
don't return anything misleading.
2021-03-24 20:43:54 +01:00
Bond_009
c2cd7fa0b2 Add more PasswordHash tests 2021-03-24 18:39:33 +01:00
Bond_009
d77507ba09 Rewrite PasswordHash.Parse to work with ReadOnlySpans 2021-03-24 18:21:14 +01:00
Mason Tran
415b03d719 Delay starting services until after network is online 2021-03-24 02:35:44 -04:00
David
a4cac09d5b Use |= 2021-03-23 19:25:32 +01:00
David
c2af50c51d Add tests for IsInNetwork 2021-03-23 17:39:55 +01:00
David
19e4ef82dd Remove conversion from IPAddress to string to IPAddress 2021-03-23 17:16:10 +01:00
David
572600b38e Use conditional operator instead of if/else block 2021-03-23 15:47:55 +01:00
BaronGreenback
6765f6ab17 fix compilation 2021-03-23 00:12:14 +00:00
Bond-009
8410a9a266 Merge pull request #5586 from nyanmisaka/disable-autorotate 2021-03-22 22:59:01 +01:00
cvium
74e14b4ca5 fix isdirectstream default 2021-03-22 22:34:47 +01:00
cvium
7dedeb6c79 change HLS endpoint defaults to false 2021-03-22 20:53:55 +01:00
Kenneth SB
4637bbc723 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2021-03-22 13:34:36 -04:00
BaronGreenback
4bd345fbab DLNA Exception catching 2021-03-22 17:21:12 +00:00
BaronGreenback
5d16d1f66d Merge branch 'master' into RemoteAccessFix 2021-03-22 17:05:44 +00:00
BaronGreenback
7fa525c83b Added more tests 2021-03-22 17:04:09 +00:00
Nyanmisaka
0853d1265c Disable auto rotation for some HWA methods (#5586)
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-22 17:59:57 +01:00
Bond-009
f6671e05fd Merge pull request #5580 from Bond-009/integrationtests2 2021-03-22 17:57:14 +01:00
Bond_009
5253483ce4 Improve naming 2021-03-22 13:49:00 +01:00
Nyanmisaka
fab4bf184e Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-22 19:47:05 +08:00
Nyanmisaka
a6bc191607 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-22 19:25:41 +08:00
nyanmisaka
fcb070abf7 disable auto rotation for some HWA methods 2021-03-22 18:36:04 +08:00
Joshua M. Boniface
fe8cf29cad Merge pull request from GHSA-wg4c-c9g9-rxhx
Fix issues 1 through 5 from GHSL-2021-050
2021-03-21 19:12:14 -04:00
Joshua M. Boniface
890a490776 Merge pull request #5532 from cvium/fix_episode_extras_questionmark 2021-03-21 15:13:56 -04:00
Bond_009
c5079ebed5 Add tests for GetFirstUser, UpdateStartupUser and CompleteWizard 2021-03-21 03:59:31 +01:00
Bond_009
849ced470a Add StartupControllerTests 2021-03-21 03:26:51 +01:00
LIAUD
72db3df605 Changed CONTRIBUTORS.md 2021-03-20 20:31:38 +01:00
LIAUD
32853ca244 Add 'group-title' channel parsing 2021-03-20 20:15:19 +01:00
Bill Thornton
9fe3ca7a92 Merge pull request #5476 from jellyfin/EraYaN-nuget-ci
Remove BuildPackage dependency for PublishNuget in CI
2021-03-19 20:50:42 -04:00
Erwin de Haan
1f3aa3fe6f Apply review suggestions 2021-03-20 01:28:14 +01:00
Erwin de Haan
470305f75e Authenticated arbitrary file overwrite in SubtitleController -> SubtitleManager
GHSL-2021-050: Issue 5 Arbitrary file overwrite.
2021-03-20 01:14:59 +01:00
Erwin de Haan
239a7156cc Fix arbitrary image file reads in ImageByNameController
GHSL-2021-050: Issue 4 Arbitrary image file read and directory traversal.
2021-03-20 01:14:59 +01:00
Erwin de Haan
f61d18612b Fix directory traversal in the HlsSegmentController in a fairly rudimentary but working way.
GHSL-2021-050: Issue 1,2,3 Arbitrary file read and directory traversal.
The segment id's can probably just be verified to be an actual ID or to not contain any forward or backward slashes
2021-03-20 01:14:59 +01:00
Bond-009
1a0ce16f4d Merge pull request #5504 from crobibero/json-string-converter 2021-03-20 00:48:41 +01:00
David
7685569480 Rollback char.IsDigit 2021-03-19 12:34:21 +01:00
Claus Vium
9360fecb31 Merge pull request #5559 from cvium/fix-tmdb-search-clean
Clean the entity name for non-words before searching
2021-03-19 09:24:20 +01:00
Claus Vium
e1c6bb0482 Merge pull request #5561 from barronpm/permissions-fix 2021-03-19 09:23:32 +01:00
andrewthemeow
9857c21717 Translated using Weblate (Lithuanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2021-03-19 02:50:08 -04:00
David
59641e5c76 Use ReadOnlySpan<char> and char.IsDigit 2021-03-18 20:52:56 +01:00
David
840eeff2af Apply suggestions from code review 2021-03-18 11:25:58 +01:00
Patrick Barron
85da0b50e2 Fix user mocking 2021-03-17 21:24:14 -04:00
Patrick Barron
12b8e29aef Fix duplicate permissions 2021-03-17 17:42:45 -04:00
cvium
151156f227 Clean the entity name for non-words before searching 2021-03-17 10:29:45 +01:00
Vitorvlv
37aa3e8735 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2021-03-16 23:19:43 -04:00
David
14cbd22fbe Use Helper Methods for provider url parsing 2021-03-16 21:45:12 +01:00
Alyssa Ross
e14311ca8b Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-03-16 15:19:34 -04:00
Bond-009
f42cee4790 Merge pull request #5550 from cvium/revert_underscore_multiversion 2021-03-16 14:38:29 +01:00
cvium
23c3188501 revert underscore as a multiversion separator 2021-03-15 23:24:59 +01:00
Claus Vium
94820f569b Merge pull request #5512 from crobibero/api-spec-version 2021-03-15 18:01:20 +01:00
Claus Vium
baa43c6b41 Merge pull request #5475 from BaronGreenback/SSDPFix 2021-03-15 09:06:15 +01:00
cvium
025e351f61 add unit tests 2021-03-15 08:25:20 +01:00
cvium
ab0cff8556 do not resolve episode-like files if they are in extras folders 2021-03-14 19:56:45 +01:00
BaronGreenback
4c7680e186 Merge remote-tracking branch 'upstream/master' into SubnetOverlappFix 2021-03-14 18:40:44 +00:00
Bond-009
f2125da9f9 Merge pull request #5395 from barronpm/ef-cleanup 2021-03-14 19:08:50 +01:00
BaronGreenback
6087831aa6 Fixed selection of correct interface ip 2021-03-14 17:30:25 +00:00
Patrick Barron
e5380c653b Merge branch 'master' into ef-cleanup
# Conflicts:
#	Jellyfin.Data/Entities/Libraries/MediaFileStream.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
2021-03-14 10:19:35 -04:00
Claus Vium
109f24514f Merge pull request #5510 from BaronGreenback/DlnaFirstFix
Fix: Streaming crashing due to no deviceProfileId match.
2021-03-14 15:07:31 +01:00
Claus Vium
bd70f56218 Merge pull request #5324 from danieladov/master
Fix duplicated movies when group movies into collections is enabled
2021-03-14 13:37:00 +01:00
Bond-009
0e5d4a3bcf Merge pull request #5422 from Bond-009/warn51 2021-03-14 00:41:40 +01:00
Bond-009
5c0c205bed Merge pull request #5522 from Bond-009/integrationtests
Fix integration test project
2021-03-14 00:21:51 +01:00
Bond_009
72d3eed15c Fix integration test project 2021-03-14 01:07:53 +01:00
BaronGreenback
b1f0c5eb49 Update NetworkExtensions.cs
changed description
2021-03-13 22:16:12 +00:00
Bond-009
8bb2420a25 Merge pull request #5518 from crobibero/missing-endpoints
Add missing InstantMix endpoints
2021-03-13 22:59:47 +01:00
Bond_009
01dfa8801a Fix GetDaysOfWeek behavior 2021-03-13 22:40:23 +01:00
Bond_009
46a41ecba6 Sunday isn't a weekend 2021-03-13 22:33:28 +01:00
Bond_009
a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009
d9eb7ae6dc Fix invalid crc in TryGetReturnValueOfGetSet_InvalidPacketType test 2021-03-13 21:28:04 +01:00
Bond_009
f9640f4366 Rewrite HdHomerunManager.ParseReturnMessage 2021-03-13 21:12:11 +01:00
Mister Rajoy
8883aa4a37 Merge branch 'master' of https://github.com/danieladov/jellyfin 2021-03-13 20:35:52 +01:00
Mister Rajoy
4cc3b938fa Change Guid.Parse to Guid.TryParse 2021-03-13 20:33:05 +01:00
Bond_009
e8b18e5f8f Add test for HdHomerunManager.ParseReturnMessage 2021-03-13 19:32:40 +01:00
Bond_009
7fb3a354fd Add test for HdHomerunManager.WriteSetMessage with lockkey 2021-03-13 19:24:47 +01:00
Daniel
7a3109104b Remove empty line
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-03-13 19:24:02 +01:00
Daniel
4b17648df3 Remove empty line
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-03-13 19:23:52 +01:00
Bond_009
f5789483fd Add test for HdHomerunManager.WriteSetMessage 2021-03-13 19:21:29 +01:00
crobibero
9ac9543ee2 Add missing InstantMix endpoints 2021-03-13 09:09:22 -07:00
crobibero
1169a0214b Set default version 2021-03-13 08:43:14 -07:00
crobibero
37b1b31a46 Convert full ValueSequence 2021-03-13 08:41:16 -07:00
Bond-009
260b48ef9d Merge pull request #5515 from jellyfin/fix-refresh-endpoint
fix refresh endpoint
2021-03-13 15:07:42 +01:00
Bond-009
b755c25217 Merge pull request #5220 from Bond-009/hdhomerun 2021-03-13 15:05:18 +01:00
Bond-009
7a988ef77d Merge pull request #5500 from crobibero/api-integration-fix
Fix third party integration
2021-03-13 15:03:06 +01:00
Claus Vium
fe2a310fe2 fix refresh endpoint
It was originally a POST 9af6eda0b4/MediaBrowser.Api/Library/LibraryService.cs (L155)
2021-03-13 09:13:45 +01:00
crobibero
500832bdfd Set openapi version to server version 2021-03-12 17:11:43 -07:00
BaronGreenback
1d5b7b61fb Change First to FirstOrDefault 2021-03-12 22:20:13 +00:00
BaronGreenback
4cf88f67ba Update NetworkManager.cs 2021-03-12 14:58:04 +00:00
BaronGreenback
b7fb152faf Update tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-12 14:44:05 +00:00
crobibero
e814d8e2cf Add JsonStringConverter 2021-03-12 06:43:57 -07:00
WWWesten
80846a1c66 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-03-12 08:21:06 -05:00
Bond-009
a037e30b41 Merge pull request #5457 from cvium/fix_double_artist 2021-03-12 13:18:12 +01:00
crobibero
eef15dc7ac Fix third part integration 2021-03-11 22:45:58 -07:00
Bond-009
d7f0aaaec1 Merge pull request #5417 from Bond-009/codeanal
Add code analysis attributes where appropriate
2021-03-12 00:15:12 +01:00
BaronGreenback
e5914fd28c split tests 2021-03-11 22:47:37 +00:00
BaronGreenback
3fa84500cf Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-11 22:46:24 +00:00
BaronGreenback
f66cb9777d Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-11 22:46:07 +00:00
BaronGreenback
034ee38583 Update Jellyfin.sln
reverted
2021-03-11 21:42:01 +00:00
BaronGreenback
3fdf0de6e3 Fix remote access 2021-03-11 21:36:58 +00:00
Bond-009
e3adc9ab74 Merge pull request #5480 from crobibero/api-session-message-type
Add SessionMessageType to generated openapi spec
2021-03-11 22:35:33 +01:00
Bond-009
d967267cef Merge pull request #5461 from cvium/fix_multiversion 2021-03-11 22:31:06 +01:00
Anthony Lavado
227eaca99c Merge pull request #5490 from thornbill/remove-forum-badge 2021-03-11 10:45:06 -05:00
Bill Thornton
e6407b414b Remove forum badge 2021-03-11 09:34:10 -05:00
crobibero
8e09276d7d Add websocket session message type to generated openapi.json 2021-03-10 16:33:46 -07:00
Erwin de Haan
b827913fcf Run CollectArtifacts taks regardless of result from BuildPackage and BuildDocker 2021-03-10 21:09:45 +01:00
Erwin de Haan
e6f49f5009 Remove BuildPackage dependeny for PublishNuget in CI 2021-03-10 21:00:33 +01:00
BaronGreenback
1723ed1604 removed the space AGAIN!!! 2021-03-10 19:59:58 +00:00
BaronGreenback
5db998e135 removed space. 2021-03-10 19:59:18 +00:00
BaronGreenback
0960c945d0 Revert "removed space"
This reverts commit a324d8a9c5.
2021-03-10 19:58:45 +00:00
BaronGreenback
a324d8a9c5 removed space 2021-03-10 19:57:32 +00:00
BaronGreenback
1dd6036765 Fixed false starts 2021-03-10 19:56:33 +00:00
BaronGreenback
2f843b3b48 Hide msg if dlna disabled 2021-03-10 19:32:13 +00:00
BaronGreenback
eafb8cf652 Null Pointer fix 2021-03-10 19:27:22 +00:00
cvium
7d69c2550c fix copy/paste error in test 2021-03-10 19:30:23 +01:00
cvium
b0af11c34e make the eligibility check more strict wrt. brackets 2021-03-10 19:29:52 +01:00
David
954148eb6d Fix Radarr url nfo files 2021-03-10 17:08:24 +01:00
David
8a74d76598 Fix id tag setting IMDb id when it is TMDb id 2021-03-10 17:03:19 +01:00
BaronGreenback
2fe26ef136 removed parameter preset 2021-03-10 13:28:18 +00:00
Claus Vium
5592967497 Merge pull request #5403 from BaronGreenback/DLNAProfileFix 2021-03-10 11:50:08 +01:00
cvium
3824c09e77 fix multiversion eligibility check for complex folder names 2021-03-10 10:47:35 +01:00
BaronGreenback
84da57cd48 Update StreamingHelpers.cs
Updated condition
2021-03-10 09:07:11 +00:00
Claus Vium
84e16a8535 Merge pull request #5431 from cvium/fix_tmdb_imdbid
Use imdbid as fallback in movie provider
2021-03-10 08:37:00 +01:00
cvium
c5a870051a Use distinct for artists to avoid double refreshing 2021-03-10 08:20:02 +01:00
Claus Vium
88a8fa7100 Merge pull request #5447 from joshuaboniface/fix-fedora-build
Remove Microsoft repo from install step
2021-03-09 19:41:25 +01:00
Claus Vium
329edd9dbe Merge pull request #5444 from Ullmie02/hdhr-fix 2021-03-09 19:41:01 +01:00
Joshua M. Boniface
235b36a4c7 Remove Microsoft repo from install step
This was breaking Fedora builds due to a mismatch. We can use the .NET
SDK 5.0 from the Fedora 33 repos instead and this seems to work.
2021-03-09 12:41:51 -05:00
David
ece0d67f99 Use FileShare.Read for log files 2021-03-09 17:31:31 +01:00
David
eca3b37d6e Use FileShare.Read to fix HdHomeRun 2021-03-09 17:01:05 +01:00
Bond-009
97fd136a8c Merge pull request #5428 from cvium/fix_tmdb_year
Default to the searchinfo year, fallback to parsed year
2021-03-09 15:59:37 +01:00
Bond-009
087e98d78a Merge pull request #5336 from Bond-009/integration 2021-03-09 14:51:45 +01:00
Bond_009
a618d6053f Move TestPluginWithoutPages to the correct project 2021-03-09 14:24:19 +01:00
Bond_009
37eb7d6d49 Perform static initialization only once 2021-03-09 14:24:19 +01:00
Bond_009
b9577d0fd9 Check for specific status code instead of success 2021-03-09 14:24:19 +01:00
Bond_009
3471ddfc84 Fix duplicate project id in sln 2021-03-09 14:24:17 +01:00
Bond_009
bbbb811e72 Fix azure 2021-03-09 14:21:30 +01:00
Bond_009
afc70b28d4 Add Jellyfin.Server.Tests to solution 2021-03-09 14:21:28 +01:00
Bond_009
fa8bfece4e Split integration tests from unit tests 2021-03-09 14:17:59 +01:00
cvium
880c8636bc Use imdbid as fallback in movie provider
Includes post-ProviderIdExtensions cleanup
2021-03-09 11:44:39 +01:00
cvium
80fb52e64f Default to the searchinfo year, fallback to parsed year 2021-03-09 10:46:54 +01:00
Bond-009
94db751f4b Merge pull request #4754 from jellyfin/warn50 2021-03-09 05:58:01 +01:00
pkreuzt
e89bd8ba02 Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2021-03-08 23:04:24 -05:00
Bond_009
d202df6e8a Remove useless line 2021-03-09 03:22:51 +01:00
Bond_009
9ed7f429c0 FxCop -> Net Analyzers (part 1) 2021-03-09 03:04:47 +01:00
Bond_009
5241bd41ef Add code analysis attributes where appropriate 2021-03-09 01:28:21 +01:00
BaronGreenback
a031f7e410 Fix for multiple ip's in the same subnet per interface. 2021-03-09 00:07:21 +00:00
Joshua M. Boniface
3c46f10e3d Merge pull request #5315 from BaronGreenback/FixFor5280Part2 2021-03-08 18:06:40 -05:00
Joshua M. Boniface
0ef8bea125 Merge pull request #5406 from cvium/trycleanstring-dont-die-on-me 2021-03-08 16:54:26 -05:00
Joshua M. Boniface
82d88bdec6 Merge pull request #5409 from ikomhoog/master 2021-03-08 16:39:40 -05:00
Claus Vium
90cdd1345d Merge pull request #5407 from Bond-009/hack 2021-03-08 21:23:14 +01:00
BaronGreenback
d3390302f9 Update ApplicationHost.cs 2021-03-08 11:43:59 +00:00
Bond_009
54f81c4da4 Call ToLower on CollectionTypeOptions.ToString 2021-03-08 12:08:17 +01:00
Ikomhoog
02122f28cc Update contributors 2021-03-08 11:14:01 +01:00
Ikomhoog
d4201f812c Changed string.Length == 0 to string.IsNullOrEmpty in case of null 2021-03-08 11:02:51 +01:00
Bond_009
2e62c09f2e Fix casing CollectionType 2021-03-08 02:16:35 +01:00
Joshua M. Boniface
480dd66428 Merge pull request #5402 from Ullmie02/fix-null-size
Use FileShare.None when creating files
2021-03-07 19:37:21 -05:00
WWWesten
bc95268bd6 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-03-07 17:24:42 -05:00
cvium
fcacae8cde return empty span instead of null for backwards compat 2021-03-07 22:59:08 +01:00
cvium
e0db17a935 do not throw ArgumentNullException in TryCleanString 2021-03-07 22:49:31 +01:00
BaronGreenback
75c9659e05 Fix unreachable code & assign id to each profile. 2021-03-07 14:17:32 +00:00
David
60ffa6f514 Use FileShare.None when creating files 2021-03-07 14:43:28 +01:00
Bond-009
a1cdc2c63f Merge pull request #5385 from Bond-009/dlna2
Use XDocument.LoadAsync instead of XDocument.Parse
2021-03-07 02:38:05 +01:00
Patrick Barron
7c413a323b Move EF Core dependency out of Jellyfin.Data 2021-03-06 20:33:11 -05:00
Patrick Barron
7b37ae94f7 Remove unused factory method 2021-03-06 20:02:42 -05:00
Patrick Barron
f638ee6b09 Enable nullable for Jellyfin.Data and remove unnecessary attributes 2021-03-06 17:43:01 -05:00
Patrick Barron
287dab4655 Remove constructor side effects and remove unneeded parameterless constructors 2021-03-06 17:37:47 -05:00
Bond-009
497ea57fd2 Merge pull request #5381 from cvium/fix-network-substitution 2021-03-06 21:38:32 +01:00
cvium
946411be8e Remove redundant check 2021-03-06 21:18:20 +01:00
cvium
67af30d1ff Remove redundant checks 2021-03-06 20:53:50 +01:00
cvium
54211b921c rider is a prick 2021-03-06 19:07:02 +01:00
David Ullmer
b8d52dafa9 Update MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-03-06 16:02:52 +01:00
David
6f898145af Use Uri.TryCreate and ImageType helper method 2021-03-06 14:50:27 +01:00
cvium
bc661c16e1 simplify 2021-03-06 14:01:37 +01:00
dkanada
22402650cb Merge pull request #5354 from shortspider/AddFfmpegToReadme
Update README to include ffmpeg
2021-03-06 13:40:08 +09:00
Nathan Mascitelli
10229e1afe Link to jellyfin-ffmpeg 2021-03-05 23:09:35 -05:00
Bond_009
e8413ed8c0 Use XDocument.LoadAsync instead of XDocument.Parse 2021-03-06 03:33:52 +01:00
Bond-009
e839929b91 Merge pull request #5380 from Bond-009/plugins
100% branch coverage for DashboardController
2021-03-06 00:59:28 +01:00
Bond-009
db2d1bca33 Merge pull request #5382 from crobibero/json-version-converter 2021-03-06 00:03:08 +01:00
Smith00101010
6293629d32 Apply suggested formatting changes
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2021-03-05 22:51:08 +01:00
Bond-009
3741be51ec Merge pull request #5383 from cvium/fix-mergeversions-overflow
do not pick a linked item as primary when merging versions
2021-03-05 21:57:22 +01:00
Bond-009
1d87274cc2 Merge pull request #5377 from cvium/fix-tmdb-image-languages
Do not use language or imagelanguages when searching for images with TMDb
2021-03-05 21:56:09 +01:00
cvium
59814bd55e do not pick a linked item as primary when merging versions 2021-03-05 19:57:48 +01:00
Claus Vium
d0a2d00b29 Fix UpdateMediaPath model binding (#5378) 2021-03-05 16:56:21 +01:00
Cody Robibero
df1951cfe2 Apply suggestions from code review
Co-authored-by: dkanada <dkanada@users.noreply.github.com>
2021-03-05 08:30:49 -07:00
crobibero
fd0b3ca5ef Add JsonVersionConverter and tests 2021-03-05 07:48:45 -07:00
cvium
37e374d33d make sure network path substitution matches correctly 2021-03-05 14:09:23 +01:00
Bond_009
a6d0db5d04 100% branch coverage for DashboardController 2021-03-05 11:15:14 +01:00
Bond-009
a0f6bc14a2 Merge pull request #5375 from crobibero/default-api-value
Specify defaults or set query parameter to nullable
2021-03-05 11:04:47 +01:00
Nichgon
ed7154db68 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2021-03-05 02:54:45 -05:00
cvium
ba366118f9 Do not use language or imagelanguages when searching for images
TMDb API returns all images if languages are excluded, which is needed for the All Languages toggle in Identify.
2021-03-05 08:18:04 +01:00
crobibero
858c91ab48 Specify defaults or set query parameter to nullable 2021-03-04 18:25:52 -07:00
dkanada
8615847a8a Merge pull request #5345 from BaronGreenback/IP6Fix
Dual IP4 / IP6 server fails on non-windows platforms
2021-03-04 17:03:53 +09:00
dkanada
74a927db3e Merge pull request #5362 from crobibero/case-json
Fix case-sensitive json parsing
2021-03-04 17:02:16 +09:00
crobibero
631c0a35f6 Always use case insensitive json parsing for api 2021-03-03 17:11:19 -07:00
Claus Vium
ddc62a89ba Merge pull request #5356 from cvium/fix_provideridextensions
return false when providerid is null or empty
2021-03-03 17:24:58 +01:00
BaronGreenback
d819a1d928 Remove Content-Length header from DLNA HEAD request (#5335) 2021-03-03 15:41:18 +01:00
Bond-009
72d063c563 Merge pull request #5359 from cvium/fix_broadcasttimer_disposed
Do nothing in timer callback when device locator is disposed
2021-03-03 15:27:46 +01:00
cvium
610a30d791 Do nothing in timer callback when device locator is disposed 2021-03-03 15:13:43 +01:00
cvium
8b72b902f5 fix HasProviderId and add tests 2021-03-03 12:28:40 +01:00
cvium
a49f5d2a44 revert removal of null check 2021-03-03 09:37:21 +01:00
cvium
664c5da317 return false when providerid is null or empty 2021-03-03 09:09:57 +01:00
Nathan Mascitelli
bfe84affb3 Update README to include ffmpeg 2021-03-02 22:20:41 -05:00
David Ullmer
8f99bdd07c Fix TMDb search name containing year (#5349) 2021-03-02 21:17:25 +01:00
BaronGreenback
c275c5c1ea Update Jellyfin.Server/Program.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-03-02 08:57:27 +00:00
Claus Vium
e858e5f0b8 Merge pull request #5339 from Bond-009/hasproviderids
Revert breaking change to HasProviderId
2021-03-02 09:35:51 +01:00
Bond-009
1f0bbe266c Merge pull request #5342 from BaronGreenback/errorMessageCorrection
Corrected logging message
2021-03-02 03:07:45 +01:00
Patrick Barron
b5e3c02865 Move IHasPermissions.cs to correct namespace 2021-03-01 19:37:46 -05:00
BaronGreenback
5942948714 Kestrel workaround 2021-03-01 23:42:04 +00:00
Claus Vium
0b1b99c2ca Merge pull request #5338 from Bond-009/ssatests
Remove tests that are upstreamed
2021-03-01 23:40:11 +01:00
BaronGreenback
dedc94ec91 correction of ip6 loopback 2021-03-01 21:32:49 +00:00
BaronGreenback
fdd4b6b3f1 Changed message 2021-03-01 21:02:20 +00:00
Bond_009
ba62d9d1fe Revert breaking change 2021-03-01 20:35:38 +01:00
Bond_009
ed0267252f Remove tests that are upstreamed
libse (the SSA parser we use) has these same tests now
2021-03-01 20:00:00 +01:00
Bond-009
9390dd2df8 Merge pull request #5317 from Bond-009/notnullwhen
MaybeNullWhen(false) -> NotNullWhen(true)
2021-03-01 18:58:46 +01:00
Bond-009
c2af32d035 Merge pull request #5299 from Bond-009/tests13 2021-03-01 18:51:09 +01:00
Bond-009
557a2ad715 Merge pull request #5328 from jellyfin/dependabot/nuget/Moq-4.16.1
Bump Moq from 4.16.0 to 4.16.1
2021-03-01 15:51:27 +01:00
dependabot[bot]
b0d391427b Bump Moq from 4.16.0 to 4.16.1
Bumps [Moq](https://github.com/moq/moq4) from 4.16.0 to 4.16.1.
- [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.16.0...v4.16.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 14:06:48 +00:00
Bond-009
640f341ce5 Merge pull request #5327 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.9.1
Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1
2021-03-01 15:06:03 +01:00
Bond-009
153021eec6 Merge pull request #5326 from jellyfin/dependabot/nuget/libse-3.6.0
Bump libse from 3.5.8 to 3.6.0
2021-03-01 14:30:59 +01:00
dependabot[bot]
829442c419 Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 12:00:38 +00:00
dependabot[bot]
fef43c556d Bump libse from 3.5.8 to 3.6.0
Bumps [libse](https://github.com/SubtitleEdit/subtitleedit) from 3.5.8 to 3.6.0.
- [Release notes](https://github.com/SubtitleEdit/subtitleedit/releases)
- [Changelog](https://github.com/SubtitleEdit/subtitleedit/blob/master/Changelog.txt)
- [Commits](https://github.com/SubtitleEdit/subtitleedit/compare/3.5.8...3.6.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 12:00:38 +00:00
Csaba
f6c49f1373 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2021-03-01 04:54:59 -05:00
Mister Rajoy
18cd634ec8 Fix duplicated movies when group movies into collections is enabled 2021-02-28 23:03:28 +01:00
Moshe Schmidt
4bbfcaef83 Include specials in the calculation for the "Next Up" episode. Fixes #1479 2021-02-28 21:21:26 +01:00
Sebastian
0fde0a82e4 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-02-28 10:01:34 -05:00
David
16694b0cfc Add nfo thumb tag support 2021-02-28 15:00:17 +01:00
dkanada
0cf4c7857b Merge pull request #5314 from barronpm/cleanup
Remove unused entity
2021-02-28 19:27:48 +09:00
BaronGreenback
8836242559 fixed tests 2021-02-28 10:25:14 +00:00
BaronGreenback
caa8e7cdf3 fixed build 2021-02-28 10:16:28 +00:00
BaronGreenback
159ecb882f Fixed bad sync 2021-02-28 10:14:05 +00:00
BaronGreenback
80ca3da55c Merge remote-tracking branch 'upstream/master' into FixFor5280Part2 2021-02-28 10:12:14 +00:00
BaronGreenback
1d6f489f17 comment change 2021-02-28 10:11:37 +00:00
BaronGreenback
f666b7e102 fix 2021-02-27 23:32:22 +00:00
Bond_009
02848189e3 MaybeNullWhen(false) -> NotNullWhen(true) 2021-02-28 00:10:36 +01:00
Claus Vium
f8c9c37c29 Merge pull request #5181 from BaronGreenback/Fix_IPHostIP6Parsing 2021-02-27 22:52:24 +01:00
Claus Vium
14605280a0 Merge pull request #5274 from BaronGreenback/bindfix 2021-02-27 22:51:45 +01:00
BaronGreenback
5074d67379 performance 2021-02-27 21:17:58 +00:00
BaronGreenback
cc19d281e7 Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-02-27 19:10:58 +00:00
BaronGreenback
d99d95422e Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-02-27 19:10:53 +00:00
Claus Vium
64730b5661 Merge pull request #5278 from BaronGreenback/STRMFix
Fix for #5168
2021-02-27 20:07:45 +01:00
Claus Vium
9e77fdc70d Merge pull request #5312 from BaronGreenback/FixFor5280 2021-02-27 20:01:51 +01:00
Claus Vium
e5f99762e2 Merge pull request #5073 from BaronGreenback/ffmpeg
Fix for 4933: Alternative ffmpeg fix
2021-02-27 19:55:52 +01:00
BaronGreenback
73ca367bf9 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-27 17:34:48 +00:00
BaronGreenback
9f03064ad8 Update MediaBrowser.Controller/IServerApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-27 17:34:44 +00:00
Patrick Barron
ebb6467db4 Remove unused entity 2021-02-27 11:42:37 -05:00
BaronGreenback
d95ca20fc7 removed bad merge code 2021-02-27 14:05:13 +00:00
BaronGreenback
a25e3c0256 fix for override ports contained in PublishedServerUrl 2021-02-27 13:56:21 +00:00
Eben van Deventer
0a1b91f084 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2021-02-26 15:41:34 -05:00
BaronGreenback
414e918c01 Optimized and added test 2021-02-26 14:30:00 +00:00
Patrick Barron
9413d974f3 Switch to using declarations in MediaBrowser.Providers 2021-02-25 20:38:18 -05:00
Patrick Barron
03cc6b1d78 Make styling more consistent 2021-02-25 19:02:27 -05:00
dkanada
c54ca489f1 Merge pull request #5217 from jellyfin/auto-manifest
handle plugin manifests automatically
2021-02-25 17:17:34 +09:00
Raúl Estévez
bae97322a0 Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2021-02-24 17:17:00 -05:00
Bond_009
2bc1eef4dd Clean up code 2021-02-24 22:18:59 +01:00
Bond-009
5860979500 Merge pull request #5301 from Bond-009/validinput 2021-02-24 22:02:47 +01:00
sebastianporta
1569cc301c Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_MX/
2021-02-24 10:50:20 -05:00
BaronGreenback
039a4fb22d renamed method 2021-02-24 11:42:09 +00:00
Bond-009
bc7e31a1bc Merge pull request #5285 from Bond-009/tests11 2021-02-24 12:15:06 +01:00
Bond_009
81f527f808 CollectionType can be null 2021-02-24 11:57:04 +01:00
Bond_009
1c74e2f40e Fix build 2021-02-24 02:57:10 +01:00
Christopher G
82634a9934 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2021-02-23 20:28:45 -05:00
Bond_009
914e891689 Fix unchecked input 2021-02-24 02:05:12 +01:00
BaronGreenback
b5c6e5fb97 Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-02-23 20:34:42 +00:00
BaronGreenback
f67137004c Update Jellyfin.Networking/Manager/NetworkManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-02-23 20:34:32 +00:00
BaronGreenback
ff7cae8a13 renamed method 2021-02-23 17:06:40 +00:00
Bond_009
032d72a8a7 Pls fix race condition 2021-02-23 17:30:24 +01:00
Bond_009
acac21d8dc Improve tests 2021-02-23 16:45:10 +01:00
dkanada
9bfe945f6c catch http exception and fix possible issues 2021-02-24 00:03:26 +09:00
dkanada
fb2d178242 add await directive for image download
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:39:33 +09:00
dkanada
e9030a62fb remove useless call to dispose
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:37:32 +09:00
dkanada
454deece13 improve performance in the wrong place
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:36:49 +09:00
dkanada
64cc5889f2 add suggested changes 2021-02-23 23:11:17 +09:00
Bond_009
aff0aea60f Improve branch coverage 2021-02-23 14:14:02 +01:00
Bond-009
92e5a5c6e8 Merge pull request #5166 from netpok/index-number-end-from-nfo 2021-02-23 13:00:16 +01:00
Bond-009
e09e67deae Merge branch 'master' into tests11 2021-02-23 12:54:05 +01:00
dkanada
b18bb3d0de update timestamp parse for plugins 2021-02-23 19:22:20 +09:00
dkanada
bc746b4d05 merge branch 'master' into auto-manifest 2021-02-23 19:19:38 +09:00
Balázs Váradi
a015caba3f Remove unnecessary sanity check 2021-02-23 06:34:46 +01:00
Joshua M. Boniface
7ece3c5523 Merge pull request #5273 from Bond-009/warn31 2021-02-22 21:00:46 -05:00
Joshua M. Boniface
c0c4aff8a6 Merge pull request #5276 from Bond-009/minor12 2021-02-22 21:00:34 -05:00
Joshua M. Boniface
da55462d92 Merge pull request #5291 from Bond-009/tests12 2021-02-22 21:00:15 -05:00
Joshua M. Boniface
1442a63556 Merge pull request #5290 from Bond-009/nullref
Fix possible null ref exception
2021-02-22 21:00:04 -05:00
Joshua M. Boniface
5ce4df4178 Merge pull request #5270 from Bond-009/imdb 2021-02-22 20:59:57 -05:00
Joshua M. Boniface
23ff1fab46 Merge pull request #4984 from Bond-009/subtitleedit 2021-02-22 20:59:49 -05:00
Bond-009
6cfec511c3 Merge pull request #5287 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-6.0.7
Bump Swashbuckle.AspNetCore from 6.0.5 to 6.0.7
2021-02-22 17:13:01 +01:00
dependabot[bot]
875e02318c Bump Swashbuckle.AspNetCore from 6.0.5 to 6.0.7
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.0.5 to 6.0.7.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.0.5...v6.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 16:11:56 +00:00
Bond-009
accb0ad08b Merge pull request #5289 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.0.7
Bump Swashbuckle.AspNetCore.ReDoc from 6.0.5 to 6.0.7
2021-02-22 17:11:21 +01:00
Bond-009
003945f25b Update MediaBrowser.Model/LiveTv/LiveTvChannelQuery.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-22 17:10:42 +01:00
Bond_009
baadc48f43 Address comments 2021-02-22 16:27:02 +01:00
Bond-009
799fd8f545 Merge pull request #5288 from jellyfin/dependabot/nuget/sharpcompress-0.28.1
Bump sharpcompress from 0.28.0 to 0.28.1
2021-02-22 14:16:22 +01:00
Bond-009
c9ea66f0bd Merge pull request #5286 from jellyfin/dependabot/nuget/coverlet.collector-3.0.3
Bump coverlet.collector from 3.0.2 to 3.0.3
2021-02-22 14:15:22 +01:00
Bond_009
ec3237ba55 Fix tests 2021-02-22 13:46:40 +01:00
Bond_009
57102090d3 Add tests for DashboardController 2021-02-22 13:15:29 +01:00
Bond_009
93a1f434a3 Fix possible null ref exception 2021-02-22 13:13:31 +01:00
dependabot[bot]
29fb2c57c8 Bump Swashbuckle.AspNetCore.ReDoc from 6.0.5 to 6.0.7
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.0.5 to 6.0.7.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.0.5...v6.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 12:00:48 +00:00
dependabot[bot]
35f460998b Bump sharpcompress from 0.28.0 to 0.28.1
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28...0.28.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 12:00:47 +00:00
dependabot[bot]
d033c30cd7 Bump coverlet.collector from 3.0.2 to 3.0.3
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 12:00:42 +00:00
Bond_009
ff10dd9e12 Update deps Jellyfin.Model.Tests 2021-02-22 09:58:23 +01:00
Bond-009
0beda0e32c Merge pull request #5275 from BaronGreenback/upnpStartupFix
Fixes #5148
2021-02-21 19:59:15 +01:00
BaronGreenback
473a995650 Update SubtitleEncoder.cs 2021-02-21 15:53:20 +00:00
denikrejn1000
0d3606a746 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2021-02-21 10:42:19 -05:00
BaronGreenback
7bfc59b562 Fixed test data. 2021-02-21 13:41:37 +00:00
Claus Vium
c715bc6dd9 Merge pull request #5277 from Bond-009/modeltests
Add Jellyfin.Model.Tests project to the solution
2021-02-21 07:57:57 +01:00
Bond_009
b489761658 Add Jellyfin.Model.Tests project to the solution 2021-02-21 03:06:59 +01:00
Bond_009
b1fe28d0a6 Use GetEncodingOptions where possible 2021-02-21 02:58:30 +01:00
Bond_009
eba859e33e Minor improvements 2021-02-21 02:49:52 +01:00
BaronGreenback
5756c6dbad Merge branch 'master' into bindfix 2021-02-21 00:44:14 +00:00
BaronGreenback
cb09096a59 optimized 2021-02-21 00:42:06 +00:00
BaronGreenback
b03bd7a299 Fix testing 2021-02-21 00:41:14 +00:00
BaronGreenback
c50d0dbc72 Fixed startup racing issue 2021-02-20 23:06:48 +00:00
BaronGreenback
605bd80251 Fix for ignoreVirtualInterfaces 2021-02-20 22:46:16 +00:00
Bond_009
401bafbfd0 Address comments 2021-02-20 23:36:22 +01:00
hoanghuy309
55dd0da5da Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2021-02-20 17:34:16 -05:00
Bond_009
40b9e7592f Fix build 2021-02-20 23:34:15 +01:00
Bond_009
141efafd3d Enable TreatWarningsAsErrors for MediaBrowser.Model 2021-02-20 23:29:33 +01:00
dkanada
13d65318eb Merge pull request #5223 from Bond-009/minor10
Minor improvements
2021-02-20 10:56:55 +09:00
dkanada
175e2a5249 Merge pull request #5242 from jellyfin/cancellationtokens
Properly forward cancellationTokens
2021-02-20 10:52:30 +09:00
Bond_009
2b131ddaac Cover all branches 2021-02-19 17:26:34 +01:00
Bond_009
941d3f6217 Add tests for ProviderIdsExtensions 2021-02-19 17:01:52 +01:00
Bond_009
b2700ecf44 TMDB: Also search with IMDB or TVDB Id if specified 2021-02-19 16:09:23 +01:00
Andrew Rabert
5379fa0bd0 Merge pull request #5263 from Bond-009/tmdb
TMDB: Include year in search
2021-02-18 17:29:32 -05:00
Bond_009
c1b17b2fa4 TMDB: Include year in search 2021-02-18 22:58:18 +01:00
Bond-009
ae30eaf320 Merge pull request #5255 from cvium/fix_renameuser 2021-02-18 17:52:25 +01:00
Bond-009
4996c997d7 Merge pull request #5253 from jellyfin/tests10
Fix broken test
2021-02-18 17:47:57 +01:00
cvium
2112d2a9a0 Restructure tests 2021-02-17 11:51:15 +01:00
cvium
442e770688 Validate the new username when renaming 2021-02-17 11:30:14 +01:00
Bond_009
54eee41207 Fix broken test 2021-02-17 10:38:44 +01:00
Bond-009
467cd9227e Merge pull request #5251 from crobibero/vpp-null-ref
Fix vpp null reference
2021-02-17 10:07:54 +01:00
dkanada
b4c2086138 Merge pull request #5250 from barronpm/user-rename-fix
Fix user renaming logic
2021-02-17 11:49:59 +09:00
dkanada
1e2ce4e698 Merge pull request #5243 from crobibero/wish-i-had-my-swagger-back
Bump Swashbuckle.AspNetCore to 6.0.5
2021-02-17 11:48:05 +09:00
crobibero
0cce843f07 Fix vpp null reference 2021-02-16 19:14:17 -07:00
Patrick Barron
f127096660 Don't allow new users to be created with the same name as an existing user. 2021-02-16 20:48:41 -05:00
Patrick Barron
1171b5ab92 Fix user renaming logic 2021-02-16 20:41:53 -05:00
Bond-009
91ee1b1d02 Merge pull request #5235 from Ullmie02/nfo-tests 2021-02-15 20:17:57 +01:00
crobibero
9da972682c Enable non-nullable reference types in generated api spec 2021-02-15 10:08:38 -07:00
crobibero
6ad2544a30 Bump Swashbuckle.AspNetCore to 6.0.5 2021-02-15 10:07:50 -07:00
Bond-009
32934cb33d Merge pull request #5230 from orryverducci/double-rate-deint-fix
Fix double rate deinterlacing for some TS files
2021-02-15 14:35:07 +01:00
Bond-009
4770085c63 Merge pull request #5239 from jellyfin/dependabot/nuget/sharpcompress-0.28.0
Bump sharpcompress from 0.27.1 to 0.28.0
2021-02-15 14:33:51 +01:00
Bond-009
d1888d6d10 Merge pull request #5241 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.0.5
Bump Swashbuckle.AspNetCore.ReDoc from 6.0.2 to 6.0.5
2021-02-15 14:33:03 +01:00
Bond_009
e9f22303a4 Properly forward cancellationTokens 2021-02-15 14:19:17 +01:00
dependabot[bot]
7feef9a01b Bump Swashbuckle.AspNetCore.ReDoc from 6.0.2 to 6.0.5
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.0.2 to 6.0.5.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.0.2...v6.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-15 12:00:48 +00:00
dependabot[bot]
8a22913c84 Bump sharpcompress from 0.27.1 to 0.28.0
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.27.1 to 0.28.0.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.27.1...0.28)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-15 12:00:40 +00:00
David
9379f535c2 Merge remote-tracking branch 'jellyfin/master' into nfo-tests 2021-02-15 12:00:51 +01:00
David
e924545ae2 Fix tests for UNIX 2021-02-15 11:39:00 +01:00
Bond-009
30372fcd68 Merge pull request #5194 from Ullmie02/nfo-watched 2021-02-14 18:25:41 +01:00
Luca Benini
078b6244ee Restored GUID in Jellyfin.XbmcMetadata.Tests
Restored the project type guid as by review
See https://github.com/dotnet/project-system/issues/1821
2021-02-14 12:46:28 +01:00
Luca Benini
1664109d14 Merge branch 'baseitemkind-fixes' of github.com:lbenini/jellyfin into baseitemkind-fixes 2021-02-14 12:40:33 +01:00
Luca Benini
2f8d15ed08 Moved test to Jellyfin.Server.Implementation.Tests as by review
Aligned code base to review comments:
	Jellyfin.Server.Implementation.Tests is the correct place
2021-02-14 12:40:08 +01:00
Luca Benini
c4d142eda1 Fix BaseItemKind conversion for PlaylistsFolder
Return the correct ClientTypeName to allow Enum Parse
Added dynamic unit tests to ensure all BaseItem concrete descend
2021-02-14 12:40:08 +01:00
dkanada
75ec8b0c8c Merge pull request #5207 from matthin/default-language
Default to English metadata during the setup wizard.
2021-02-14 16:06:27 +09:00
dkanada
8d2b9ba657 Merge pull request #5222 from Bond-009/jsoncase
Don't enable case-insensitivity for json by default
2021-02-14 15:56:03 +09:00
dkanada
8301dabca6 Merge pull request #5226 from Bond-009/null
100% branch coverage for Emby.Naming
2021-02-14 15:49:41 +09:00
dkanada
d671a74c02 Merge pull request #5218 from jellyfin/totally-unnecessary
rename the solution file
2021-02-14 15:44:46 +09:00
David
fc7377fb9b Merge remote-tracking branch 'jellyfin/master' into nfo-tests
# Conflicts:
#	tests/Jellyfin.XbmcMetadata.Tests/Parsers/EpisodeNfoProviderTests.cs
#	tests/Jellyfin.XbmcMetadata.Tests/Parsers/SeriesNfoParserTests.cs
2021-02-13 22:55:33 +01:00
David
7f12b27319 Add nfo location tests 2021-02-13 22:48:29 +01:00
David
36d91a1601 Add test for music video nfo 2021-02-13 22:41:38 +01:00
David
eecdc3c110 Add more tags to nfo tests 2021-02-13 22:41:12 +01:00
Luca Benini
c8395899ba Moved test to Jellyfin.Server.Implementation.Tests as by review
Aligned code base to review comments:
	Jellyfin.Server.Implementation.Tests is the correct place
2021-02-13 19:40:15 +01:00
Orry Verducci
b718eed314 Use average frame rate when determining deinterlace mode 2021-02-13 15:27:19 +00:00
Luca Benini
991adc8efe Fix BaseItemKind conversion for PlaylistsFolder
Return the correct ClientTypeName to allow Enum Parse
Added dynamic unit tests to ensure all BaseItem concrete descend
2021-02-13 15:28:37 +01:00
Bond_009
dc9e2ad1a4 Add some more Crc32 tests 2021-02-13 11:46:38 +01:00
Bond_009
8a6242826f 100% branch coverage for Emby.Naming 2021-02-13 11:38:17 +01:00
Bond-009
6616add8c8 Merge pull request #5213 from Bond-009/tests9
Add tests for RequestHelpers.GetItemTypeStrings
2021-02-13 11:10:28 +01:00
Dar Donkov
cd612edbf0 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-02-12 23:30:50 -05:00
dkanada
542401c7f4 Merge pull request #5216 from jellyfin/remove-old-settings
remove deprecated settings from server config
2021-02-13 10:52:50 +09:00
Bond_009
65bab55ca0 Minor improvements 2021-02-13 00:39:18 +01:00
Bond_009
fd7b215c28 Don't enable case-insensitivity for json by default 2021-02-13 00:22:58 +01:00
Dar Donkov
0a8587295e Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-02-12 13:00:37 -05:00
Bond_009
e1bc322b70 Add test for WriteGetMessage 2021-02-12 18:35:54 +01:00
Bond_009
3a9fcb6abd Rewrite packet writing code for HdHomerun 2021-02-12 17:34:51 +01:00
dkanada
9caf311925 handle plugin manifests automatically 2021-02-12 22:33:10 +09:00
dkanada
57091d2854 rename the solution file 2021-02-12 22:25:43 +09:00
dkanada
9fcdbd4c4b remove deprecated settings from server config 2021-02-12 21:58:37 +09:00
Bond_009
97935d2cd2 Add tests for RequestHelpers.GetItemTypeStrings 2021-02-11 18:21:08 +01:00
Bond-009
76d66e0dee Merge pull request #5208 from crobibero/api-post-image
Add image file accept to openapi
2021-02-11 17:42:28 +01:00
Bond-009
a2ac4d3dd7 Merge pull request #5209 from crobibero/base-item-kind
Create BaseItemKind enum
2021-02-11 17:12:35 +01:00
David Ullmer
eaaab10cf3 Don't split playcount 2021-02-11 14:15:11 +01:00
David Ullmer
ab5fb1b1f2 Merge branch 'master' of github.com:jellyfin/jellyfin into nfo-watched 2021-02-11 13:48:58 +01:00
David Ullmer
ae57ed4ac7 Add nfo user data tests 2021-02-11 13:36:35 +01:00
David Ullmer
dc2f8b5e6b Fix xml loop 2021-02-11 12:43:36 +01:00
Manjot Singh
d490c1c2bc Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2021-02-11 02:20:32 -05:00
crobibero
223b42aed3 Create BaseItemKind enum 2021-02-10 17:09:23 -07:00
crobibero
d5f0b046bb Add image file accept to openapi 2021-02-10 16:12:52 -07:00
me@justinharrison.ca
90236efdf2 Default to English metadata during the setup wizard. 2021-02-10 17:08:55 -05:00
Joshua M. Boniface
bd8c269ea2 Merge pull request #5107 from jellyfin/enhanced-nvdec-vpp-tonemap 2021-02-10 01:24:51 -05:00
Joshua M. Boniface
426b55052f Merge pull request #5200 from crobibero/dotnet-5.0.3
Update to dotnet 5.0.3
2021-02-10 01:22:48 -05:00
crobibero
407c35f087 Update to dotnet 5.0.3 2021-02-09 19:02:02 -07:00
Bond-009
f2e5b14db7 Merge pull request #5193 from Ullmie02/nfo-id-test
Add test for generic nfo provider id parsing
2021-02-09 16:45:22 +01:00
Bond_009
9e5c4439b9 Comment out broken tests 2021-02-09 15:12:43 +01:00
Bond_009
f81bcf7f35 Fix tests on windows 2021-02-09 15:12:43 +01:00
Bond_009
be965e35b6 Log subtitle errors 2021-02-09 15:12:43 +01:00
Bond_009
ed8fce2dce Use SubtitleEdit to parse subtitles 2021-02-09 15:12:41 +01:00
David
3a4c33ca5f Add nfo parsing for watched, playcount and lastplayed 2021-02-09 12:42:55 +01:00
David Ullmer
086254821f Add test for generic nfo provider id parsing 2021-02-09 11:19:19 +01:00
Balázs Váradi
7ba53548a2 Fix typos in nfo tests 2021-02-09 07:21:08 +01:00
dkanada
995b370017 Merge pull request #4663 from joshuaboniface/bump-version-10.8.0
Bump version to 10.8.0 for next release
2021-02-09 11:38:31 +09:00
dkanada
7f1243978c Merge pull request #5012 from jellyfin/ws
Improve WebSocket Message Deserialization
2021-02-09 11:10:52 +09:00
dkanada
bb33d5f190 Merge pull request #5190 from jellyfin/regressiontest
Add regression test for PluginManager.SaveManifest
2021-02-09 11:04:02 +09:00
netpok
c97edc96eb Fix typo
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-08 21:02:54 +01:00
Balázs Váradi
351d61a318 Add test for multiepisode nfo parsing 2021-02-08 19:40:17 +01:00
Balázs Váradi
094ffafb24 Comment and simplify code 2021-02-08 18:56:06 +01:00
Bond_009
13c1c2815f Add regression test for PluginManager.SaveManifest 2021-02-08 17:10:20 +01:00
dkanada
76fdf73991 Merge pull request #5189 from jellyfin/antiunicode
Remove last usage of \d
2021-02-09 00:47:03 +09:00
dkanada
f0212d377e Merge pull request #5186 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-6.0.2
Bump Swashbuckle.AspNetCore.ReDoc from 5.6.3 to 6.0.2
2021-02-09 00:45:32 +09:00
Bond_009
88f37833df Remove last usage of \d 2021-02-08 16:33:37 +01:00
Bond-009
fba80cf6f9 Merge pull request #5188 from cvium/fix_manifest_bom
Exclude BOM when writing meta.json plugin manifest
2021-02-08 16:22:37 +01:00
cvium
311b2f5012 Exclude BOM when writing meta.json plugin manifest 2021-02-08 15:38:06 +01:00
dkanada
158e69c6f0 Merge pull request #4935 from ConfusedPolarBear/quickconnect-cleanup
Remove used quick connect tokens
2021-02-08 22:54:53 +09:00
dkanada
aea1c4f310 Merge pull request #5142 from M0ssTee/updateRegex
Replaced /d with [0-9], see issue #2923
2021-02-08 22:52:58 +09:00
dependabot[bot]
df121c1516 Bump Swashbuckle.AspNetCore.ReDoc from 5.6.3 to 6.0.2
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 5.6.3 to 6.0.2.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v5.6.3...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-08 12:00:45 +00:00
Nyanmisaka
22e8667105 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-02-08 16:41:38 +08:00
Jakub Fabijan
6c2eb5fc7e Translated using Weblate (Esperanto)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eo/
2021-02-08 00:30:44 -05:00
Jakub Fabijan
e8fd4531ed Added translation using Weblate (Esperanto) 2021-02-07 14:57:33 -05:00
BaronGreenback
053063fd47 Fixed IP6 host parsing 2021-02-07 17:42:23 +00:00
Oskari Lavinto
49b08798e6 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2021-02-07 10:57:52 -05:00
Patrick Barron
a5e55ba859 Clean up UserManager.AuthenticateUser 2021-02-06 15:59:27 -05:00
Bond-009
34e10622c6 Merge pull request #5171 from Ullmie02/reset-fix 2021-02-06 18:56:36 +01:00
David Ullmer
07f1a2c2dc Update Jellyfin.Api/Controllers/UserController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-06 18:36:18 +01:00
David
eb0ff0c370 Fix forgot password pin request 2021-02-06 17:18:37 +01:00
nyanmisaka
3052068161 hybird vpp tonemapping for QSV on Linux 2021-02-06 13:21:50 +08:00
nyanmisaka
b0e0e19468 add cuda format converter 2021-02-06 13:21:40 +08:00
nyanmisaka
09b9fa3ce1 add vpp tonemapping for vaapi 2021-02-06 13:21:30 +08:00
Balázs Váradi
b646787ab6 Get IndexNumberEnd from nfo 2021-02-05 20:02:47 +01:00
WWWesten
f8283d8c20 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-02-05 05:55:58 -05:00
WWWesten
9eabad685e Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-02-05 05:55:58 -05:00
dkanada
54a3ab15a3 Merge pull request #5005 from jellyfin/bytes
JsonSerializer deserialize from bytes where possible
2021-02-05 11:47:06 +09:00
dkanada
2e9661c415 Merge pull request #5043 from senritsu/improve-episode-number-parsing-with-digits-in-names
adjust episode path expression to allow digits in series names
2021-02-05 11:43:32 +09:00
dkanada
86859a3926 Merge pull request #5010 from BaronGreenback/Remove_IPluginConfigurationPage
Removal of IPluginConfigurationPage
2021-02-05 11:38:44 +09:00
M0ssTee
256bb3ee98 Update MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-04 16:14:57 -05:00
dkanada
ad203d011b Merge pull request #5006 from jellyfin/roundtrip
Use JsonSerializer.SerializeToUtf8Bytes when doing a round trip
2021-02-04 23:28:20 +09:00
dkanada
bfbbee0bc9 Merge pull request #5085 from Ullmie02/nfo-actor-type
Process actor type in nfo files
2021-02-04 23:27:34 +09:00
dkanada
cfe37474f1 Merge pull request #5088 from Ullmie02/nfo-watched
Fix nfo saving during UserDataSaved event
2021-02-04 23:24:53 +09:00
dkanada
793ae6f7a6 Merge pull request #5112 from jellyfin/shuffle
Add test for ShuffleExtensions
2021-02-04 23:23:11 +09:00
dkanada
6afbc98b60 Merge pull request #5159 from Ullmie02/unused
Remove unused files
2021-02-04 23:21:17 +09:00
Bond-009
28ffbf6945 Merge pull request #5106 from BaronGreenback/FileShareTest2 2021-02-03 19:16:22 +01:00
BaronGreenback
8d12e6d6eb Update BaseNfoSaver.cs 2021-02-03 10:42:17 +00:00
David
f854a1ce1f Remove unused files 2021-02-03 11:34:21 +01:00
Claus Vium
3fd0987ee3 Merge pull request #5111 from Larvitar/tmdb-season-name-fix
Remove season name from metadata result
2021-02-03 08:20:21 +01:00
Claus Vium
5f63c33557 Merge pull request #5154 from crobibero/skip-attributes 2021-02-03 08:18:39 +01:00
M0ssTee
8f88d0d2cb Update Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-03 00:57:04 -05:00
crobibero
8d902478a0 Don't skip hidden files 2021-02-02 07:14:11 -07:00
Troy
8c640a1492 Replaced /d with [0-9], see issue #2923 2021-02-01 02:49:23 +00:00
Tomi
4bcf684b72 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2021-01-31 11:30:29 -05:00
Jacob Adlers
edc7efe4d7 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-01-31 11:30:29 -05:00
WWWesten
fa59d2afe3 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2021-01-31 11:30:29 -05:00
WWWesten
027ef41d87 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-01-31 11:30:29 -05:00
WWWesten
a50459a2a1 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-01-29 01:31:43 -05:00
Claus Vium
63be326302 Merge pull request #5117 from jellyfin/fix-framerate-locale
Make FRAME-RATE field culture invariant
2021-01-28 15:35:23 +01:00
nyanmisaka
3ce0d589ba make FRAME-RATE field culture invariant 2021-01-28 01:00:55 +08:00
Bond_009
bf4829a38c Remove redundant statement 2021-01-26 20:28:35 +01:00
Bond_009
80e22d9670 Add test for ShuffleExtensions 2021-01-26 20:21:07 +01:00
Mariusz Chryc
0d1f356373 Remove season name from metadata result 2021-01-26 19:04:20 +01:00
Bond-009
4a2678e63b Merge pull request #5097 from Bond-009/cleanup4
Remove useless abstraction and clean up formatting
2021-01-26 17:44:49 +01:00
Bond-009
51b9e62830 Merge pull request #5104 from jellyfin/dependabot/nuget/coverlet.collector-3.0.2
Bump coverlet.collector from 3.0.1 to 3.0.2
2021-01-25 22:08:34 +01:00
Claus Vium
e7e385d7a2 Merge pull request #5105 from crobibero/image-null-ref
Add null check for ImageTags
2021-01-25 19:27:59 +01:00
BaronGreenback
21d15989f5 1 attempted fix 2021-01-25 17:34:11 +00:00
crobibero
4e2d029b3d Add null check for ImageTags 2021-01-25 08:48:24 -07:00
dependabot[bot]
09471a206a Bump coverlet.collector from 3.0.1 to 3.0.2
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-25 12:00:44 +00:00
Claus Vium
e5828cdbf1 Merge pull request #5099 from crobibero/non-required-query-param 2021-01-25 12:55:06 +01:00
Claus Vium
f82e6ee8cc Merge pull request #5090 from Ullmie02/plugin-startup-fix 2021-01-25 12:04:25 +01:00
David Ullmer
b014f2309d Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-01-25 09:44:06 +01:00
crobibero
77b417e41e Mark non-nullable body as null 2021-01-24 15:02:56 -07:00
crobibero
ef97ead707 Fix openapi nullable properties 2021-01-24 14:36:36 -07:00
nyanmisaka
326fa8ce38 add an enhanced nvdec decoder 2021-01-25 03:40:34 +08:00
Claus Vium
98a4e1b840 Merge pull request #5095 from Bond-009/sortorder 2021-01-24 19:04:12 +01:00
Bond_009
f6b293203a Restore weird behaviour 2021-01-24 17:55:25 +01:00
Bond-009
3806cc5b3f Merge pull request #5074 from jellyfin/cov
100% branch coverage for Jellyfin.Naming
2021-01-24 14:11:48 +01:00
David Ullmer
39f9a7981a Update MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-01-24 13:35:08 +01:00
David
677bba742e Remove try-catch nesting 2021-01-24 13:34:22 +01:00
Bond_009
1c2cd7efa0 Remove useless abstraction and clean up formatting 2021-01-24 13:32:29 +01:00
David
80f3e20394 Change plugin error message 2021-01-24 13:22:04 +01:00
Bond_009
d24e7f60c7 Fix GetOrderBy and add tests 2021-01-24 11:43:05 +01:00
Bond-009
b4d04f9ca5 Merge pull request #5091 from crobibero/query-param-array
Use ArrayModelBinder for sortBy and sortOrder
2021-01-24 11:13:18 +01:00
crobibero
55670b91b2 Use ArrayModelBinder for sortBy and sortOrder 2021-01-23 17:32:13 -07:00
Ionut Andrei Oanca
68969c9530 Clear playlist in SyncPlay group 2021-01-24 01:05:17 +01:00
David Ullmer
4adbbb9f51 Catch TypeLoadException during plugin loading 2021-01-24 00:58:52 +01:00
Karandeep Singh Grewal
4aaf71b873 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2021-01-23 18:12:17 -05:00
Bond-009
6e9cebaf74 Merge pull request #5084 from Ullmie02/nfo-tagline
Don't write tagline in <outline> in nfo files
2021-01-23 23:57:53 +01:00
David Ullmer
3838e8ac15 Update MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2021-01-23 23:36:51 +01:00
Joshua M. Boniface
3fda50de6d Merge pull request #5064 from BaronGreenback/PluginFix
Plugin bug fixes
2021-01-23 15:24:10 -05:00
Joshua M. Boniface
4b6b90e0b1 Merge pull request #5069 from crobibero/obsolete-param 2021-01-23 14:45:18 -05:00
Joshua M. Boniface
4d13cad7af Merge pull request #5062 from crobibero/delete_log_task 2021-01-23 14:43:09 -05:00
Joshua M. Boniface
3bf7e18886 Merge pull request #5031 from crobibero/5.0.2
Update to dotnet 5.0.2
2021-01-23 14:41:03 -05:00
Joshua M. Boniface
c5e9d56028 Merge pull request #4911 from Ullmie02/nuget_again 2021-01-23 14:40:06 -05:00
David
18e33b6b2d Remove check for wrong metadata saving property 2021-01-23 19:05:55 +01:00
David
454d82c52c Process actor type in nfo files 2021-01-23 18:06:26 +01:00
David
b2f2126edd Don't write tagline in <outline> in nfo files 2021-01-23 17:35:06 +01:00
Bond-009
828b0be254 Merge pull request #5047 from jellyfin/dependabot/nuget/Moq-4.16.0
Bump Moq from 4.15.2 to 4.16.0
2021-01-23 15:05:18 +01:00
dependabot[bot]
1bc1d1c07b Bump Moq from 4.15.2 to 4.16.0
Bumps [Moq](https://github.com/moq/moq4) from 4.15.2 to 4.16.0.
- [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.15.2...v4.16.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-23 13:43:41 +00:00
Bond-009
7c3db79535 Merge pull request #5053 from jellyfin/dependabot/nuget/coverlet.collector-3.0.1
Bump coverlet.collector from 3.0.0 to 3.0.1
2021-01-23 14:43:11 +01:00
Bond-009
27f8823cbe Merge pull request #5055 from jellyfin/dependabot/nuget/sharpcompress-0.27.1
Bump sharpcompress from 0.26.0 to 0.27.1
2021-01-23 14:42:29 +01:00
Bond-009
827f39f54b Merge pull request #5068 from Ullmie02/nfo-tests 2021-01-23 13:52:33 +01:00
David
7297412195 Fix indentation 2021-01-23 12:02:22 +01:00
WWWesten
91abc09e79 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2021-01-22 17:25:47 -05:00
Wong To Han, Toby
84f6d683f2 Translated using Weblate (Chinese (Hong Kong))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant_HK/
2021-01-22 02:44:01 -05:00
Arian Ar
d80daa3bec Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2021-01-21 18:58:04 -05:00
Rodlan Bernabe
17cff101ce Translated using Weblate (Filipino)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fil/
2021-01-21 15:21:29 -05:00
Bond_009
956ca0e5aa 100% branch coverage for Jellyfin.Naming 2021-01-21 15:46:10 +01:00
Cody Robibero
91a9af95c2 Apply suggestions from code review
Co-authored-by: dkanada <dkanada@users.noreply.github.com>
2021-01-21 07:01:51 -07:00
BaronGreenback
df402df908 fix return 2021-01-21 12:48:43 +00:00
crobibero
59ff2c5b4b Add ability to mark query parameter as obsolete. 2021-01-20 16:24:15 -07:00
ImSoSx
215554bb41 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2021-01-20 18:07:16 -05:00
David
cf9a03790b Check rating name for "audience" 2021-01-20 20:32:45 +01:00
David
d71dce50ca Add music album nfo parser test 2021-01-20 20:02:35 +01:00
David
ccea02fbb2 Add season nfo parser test 2021-01-20 20:02:03 +01:00
David
dbd70bd394 Add episode nfo parser test 2021-01-20 19:47:31 +01:00
David
0279af5f6b Move existing tests to correct namespace 2021-01-20 19:46:44 +01:00
David
07613f0821 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2021-01-20 12:06:25 -05:00
AdmiralAnimE
27cbd14377 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-01-20 06:35:27 -05:00
AdmiralAnimE
b3059238e3 Translated using Weblate (Bulgarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bg/
2021-01-20 04:43:28 -05:00
BaronGreenback
89046e1d97 Bug fixes 2021-01-19 21:15:40 +00:00
Claus Vium
14bd4a110f Merge pull request #4978 from BaronGreenback/MultipeProxies 2021-01-19 20:55:21 +01:00
BaronGreenback
25eaf21a8f renamed func in test 2021-01-19 19:32:46 +00:00
BaronGreenback
ab632b96fe renamed. 2021-01-19 19:31:55 +00:00
BaronGreenback
9db8a4d88d reverted 2021-01-19 13:56:16 +00:00
BaronGreenback
82d365045a Removed systemIp6 functionality. 2021-01-19 12:50:11 +00:00
BaronGreenback
821473557c Changed mapping logic 2021-01-19 11:31:40 +00:00
BaronGreenback
dd089fd27a Changed test 2021-01-19 10:50:17 +00:00
BaronGreenback
6a7623da02 Simplified Code 2021-01-19 10:36:37 +00:00
BaronGreenback
8b2b3b77a5 Removed duplication 2021-01-19 10:29:17 +00:00
crobibero
6abee2dd22 fix delete log task 2021-01-18 19:42:50 -07:00
Claus Vium
65c09f82c5 Merge pull request #5027 from crobibero/episode-first-up 2021-01-18 15:48:53 +01:00
crobibero
1455c2aa10 Remove commented code 2021-01-18 06:47:18 -07:00
Claus Vium
b9691e8712 Merge pull request #5025 from BaronGreenback/DlnaFix 2021-01-18 14:24:35 +01:00
BaronGreenback
49e3b70722 Moved InternalsVisibleTo 2021-01-18 13:03:37 +00:00
BaronGreenback
e81b7c8f4f reverted 2021-01-18 12:17:18 +00:00
dependabot[bot]
4e13b41eed Bump sharpcompress from 0.26.0 to 0.27.1
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.26.0 to 0.27.1.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.26...0.27.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 12:01:04 +00:00
dependabot[bot]
0cb80d3815 Bump coverlet.collector from 3.0.0 to 3.0.1
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 12:01:03 +00:00
Oriol Serra
01836e55e4 Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2021-01-17 19:28:35 -05:00
BaronGreenback
828a9b7c75 rollback 2021-01-17 23:30:56 +00:00
BaronGreenback
13012bfa27 Fix bug in GetItemId 2021-01-17 22:43:05 +00:00
senritsu
4e21b49994 adjust episode path expression to allow digits in series names
The previous expression was too greedy to consume digits, because the hyphen was optional. This lead to incorrect episode numbers for certain series with digits in their names, in those cases each episode was recognized as the same episode number (the digit from the series name).

The rule, which matches most standard  anime filenames, also had a lower priority than one of the Kodi rules, leading to incorrect recognition for absolute numbered episodes with triple digits and higher (first digit was used as season number, rest of digits as episode number). This also resolves one of the TODO test cases.

Additional test cases were added to ensure that both hyphens in different parts of the filename, as well as names without hyphens, still work correctly. All previous test cases still pass.

Unfortunately another TODO (EpisodeNumberTests.cs@L76, Uchuu Senkan Yamato 2199) with the same issue (digits in the series name) could not be trivially fixed in the same change, due to the significantly different formatting. Attempts to resolve this case did not work out for now.
2021-01-17 20:24:23 +01:00
Sinan
d8d9d90469 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2021-01-17 11:09:42 -05:00
BaronGreenback
b9f0f4f53b reverted 2021-01-17 13:35:30 +00:00
BaronGreenback
688e7c6a2d Moved internalVisibleToAttribute to .csj 2021-01-17 12:45:11 +00:00
Joshua M. Boniface
03242a6afd Merge pull request #5007 from jellyfin/create 2021-01-16 13:28:48 -05:00
Joshua M. Boniface
fe9096be94 Merge pull request #4970 from BaronGreenback/networkTestCorrection 2021-01-16 13:28:34 -05:00
Joshua M. Boniface
3204ce71b3 Merge pull request #4956 from jceresini/master
Fix rpm package dependencies
2021-01-16 13:27:36 -05:00
crobibero
a087ab389a dotnet 5.0.2 2021-01-16 10:17:33 -07:00
crobibero
3b9567d583 Add query parameter to disable returning first episode as next up 2021-01-15 15:08:48 -07:00
crobibero
3d754fa5bf Revert "Don't return first episodes in next up" 2021-01-15 15:06:11 -07:00
BaronGreenback
620648fe81 Fixed for no data. 2021-01-15 18:55:52 +00:00
BaronGreenback
16d092a8a7 Fixed encoding issue 2021-01-15 12:17:50 +00:00
BaronGreenback
a4e838fbf5 Remoed configurationPageType 2021-01-15 10:36:44 +00:00
BaronGreenback
8ef37f6b0e Rename IPluginConfigurationPage.cs to ConfigurationPageType.cs.cs
Renamed file.
2021-01-15 10:26:00 +00:00
BaronGreenback
bced1eab54 Assert.True 2021-01-13 21:16:04 +00:00
Alexander Brissman
549160b9b9 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2021-01-13 14:35:17 -05:00
BaronGreenback
4bc8a1e77b updated 2021-01-13 15:29:57 +00:00
BaronGreenback
9a730241b1 Changed to address. 2021-01-13 15:14:04 +00:00
Deniz
eb82879a4f Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2021-01-13 02:59:55 -05:00
Bond_009
9a5ceb34d1 Improve WebSocket Deserialization 2021-01-13 01:11:25 +01:00
BaronGreenback
c6aa6ceed9 Removal of IPluginConfigurationPage 2021-01-12 22:10:23 +00:00
趙映翔
f7aae0e876 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2021-01-12 16:28:17 -05:00
Oriol Serra
580b90aa4c Translated using Weblate (Catalan)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ca/
2021-01-12 16:28:17 -05:00
BaronGreenback
d66bc3fb3e Fixed indentation 2021-01-12 20:43:25 +00:00
BaronGreenback
dfd7ff5732 Update MediaBrowser.Common/Net/INetworkManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-01-12 20:41:48 +00:00
BaronGreenback
94cc5b9d8b Update MediaBrowser.Common/Net/INetworkManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-01-12 20:41:40 +00:00
BaronGreenback
08e83cfa54 Remove additional debug logging. 2021-01-12 18:52:48 +00:00
Bond_009
eeff9f52c6 Fix Omdb caching 2021-01-12 16:27:38 +01:00
Bond-009
bffebce909 Merge pull request #5004 from jellyfin/camera-upload
remove unused notification type
2021-01-12 16:13:21 +01:00
Bond_009
1fdd2d6e05 Handle IO errors in LoadManifest 2021-01-12 16:03:13 +01:00
Bond_009
1752423e52 Open FileStream with FileMode.Create instead of FileMode.OpenOrCreate
> The OpenWrite method opens a file if one already exists for the file path,
    or creates a new file if one does not exist. For an existing file,
    it does not append the new text to the existing text. Instead,
    it overwrites the existing characters with the new characters.
    If you overwrite a longer string
    (such as "This is a test of the OpenWrite method") with a shorter string
    (such as "Second run"), the file will contain a mix of the strings
    ("Second runtest of the OpenWrite method").

Ref: https://docs.microsoft.com/en-us/dotnet/api/system.io.file.openwrite?view=net-5.0#remarks
2021-01-12 15:51:32 +01:00
Bond_009
a9b497720d Use JsonSerializer.SerializeToUtf8Bytes when doing a round trip
This test uses a very small object (CountryInfo), using a bigger object
would increase the difference in allocated memory.

```
BenchmarkDotNet=v0.12.1, OS=fedora 32
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100
  [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
  DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT

|          Method |       Mean |    Error |   StdDev |  Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------- |-----------:|---------:|---------:|-------:|------:|------:|----------:|
|  RoundTripBytes |   932.0 ns |  5.09 ns |  4.25 ns | 0.1173 |     - |     - |     368 B |
| RoundTripString | 1,114.8 ns | 22.19 ns | 23.74 ns | 0.1469 |     - |     - |     464 B |
```
2021-01-12 15:37:18 +01:00
Bond_009
1ea2b200c0 JsonSerializer deserialize from bytes where possible
This is faster and uses way less memory
```
BenchmarkDotNet=v0.12.1, OS=fedora 32
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100
  [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
  DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT

| Method |     Mean |   Error |  StdDev |   Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|--------:|--------:|--------:|------:|------:|----------:|
|  Bytes | 158.4 us | 2.56 us | 2.14 us | 16.8457 |     - |     - |  52.08 KB |
| String | 172.8 us | 0.78 us | 0.70 us | 41.5039 |     - |     - | 127.82 KB |
| Custom | 155.5 us | 2.95 us | 2.76 us | 10.0098 |     - |     - |  31.27 KB |
```
2021-01-12 15:28:02 +01:00
BaronGreenback
2979c8dd37 Fixed test on Mac 2021-01-12 13:23:10 +00:00
BaronGreenback
35a30c9d09 Impliments KnownNetworks and KnownProxies 2021-01-12 13:07:34 +00:00
dkanada
cac33ef105 remove unused notification type 2021-01-12 12:28:21 +09:00
Bond-009
aaf889f683 Merge pull request #5002 from jellyfin/dependabot/nuget/coverlet.collector-3.0.0
Bump coverlet.collector from 1.3.0 to 3.0.0
2021-01-11 14:58:23 +01:00
dependabot[bot]
b00f3334f2 Bump coverlet.collector from 1.3.0 to 3.0.0
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 1.3.0 to 3.0.0.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](https://github.com/coverlet-coverage/coverlet/commits/v3.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-11 12:01:03 +00:00
Claus Vium
5c00b4175a Merge pull request #4997 from crobibero/subtitle-upload-auth
Require elevated auth to upload subtitles
2021-01-10 20:45:15 +01:00
crobibero
5f998bdd1f Require elevated auth to upload subtitles 2021-01-10 10:48:37 -07:00
Claus Vium
9970b87439 Merge pull request #4994 from Bond-009/artistnfo
Add tests for artist nfo
2021-01-10 10:33:31 +01:00
Bond_009
4c3fa21e97 Add tests for artist nfo 2021-01-09 21:49:36 +01:00
Claus Vium
75a25de991 Merge pull request #4992 from Bond-009/seriesnfo
Add tests for series nfo
2021-01-09 20:43:15 +01:00
Bond_009
585821954d Add tests for series nfo 2021-01-09 20:15:16 +01:00
Bond-009
8d4312d739 Merge pull request #4989 from Bond-009/nfotests 2021-01-09 19:35:24 +01:00
Bond-009
0bb0dd646f Merge pull request #4980 from Ullmie02/chinese
Add additional chinese languages
2021-01-09 18:55:57 +01:00
Bond-009
2e33e14bb2 Merge pull request #4899 from jellyfin/nullableguid
Cover all branches in JsonNullableGuidConverter
2021-01-09 17:37:23 +01:00
Bond-009
2c74262f7c Merge pull request #4945 from obradovichv/fix-string-culture-specificity 2021-01-09 16:21:19 +01:00
David
262c6ae249 Remove ',' hack 2021-01-09 15:33:39 +01:00
Bond_009
be511ca162 Fix release build ... again 2021-01-09 15:14:26 +01:00
Bond_009
3a9ce6d366 Fix release build 2021-01-09 15:08:48 +01:00
Bond_009
d07eef4f25 Add tests for NFO parsers 2021-01-09 15:00:59 +01:00
Bond_009
620fbf0f89 Remove CropWhitespace function 2021-01-09 10:51:59 +01:00
Bond-009
a8230c07ea Merge pull request #4961 from crobibero/person-blurhash-null-ref
Fix potential null reference
2021-01-09 00:41:16 +01:00
Bond-009
45c6d79dc9 Merge pull request #4877 from jellyfin/ass 2021-01-08 21:43:45 +01:00
Bond-009
efa2dc6829 Merge pull request #4878 from jellyfin/srt
Add tests for srt parser
2021-01-08 21:43:36 +01:00
Bond-009
a554423163 Merge pull request #4976 from BaronGreenback/dlnaPortFix
Fixed DLNA Server on RC2
2021-01-08 21:06:14 +01:00
Bond-009
4549c96f6d Merge pull request #4906 from Spacetech/library_scan_ignore_inaccessible
Ignore inaccessible files & folders during library scans
2021-01-08 21:01:32 +01:00
David
357429b8ea Add .nfo ratings tag 2021-01-08 14:55:16 +01:00
Christian
cb6ae4a188 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2021-01-08 07:48:22 -05:00
David Ullmer
87c2802984 Add additional chinese languages 2021-01-08 11:25:23 +01:00
BaronGreenback
192efff791 Update DlnaEntryPoint.cs 2021-01-07 17:17:22 +00:00
minystory
7acee4070e Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2021-01-07 10:48:05 -05:00
Oatavandi
0ac993e1b3 Translated using Weblate (Malayalam)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ml/
2021-01-07 09:37:18 -05:00
Bond-009
07650d91da Merge pull request #4962 from thornbill/fix-playstate-name
Fix capitalization of Playstate message
2021-01-07 10:04:02 +01:00
Bond-009
7758c61ea8 Merge pull request #4968 from ianjazz246/fix-music-album-display
Fix library with music directly under artist folder
2021-01-07 10:02:23 +01:00
BaronGreenback
a664aac881 optimization 2021-01-06 20:46:22 +00:00
BaronGreenback
90d72d6628 Update NetworkManager.cs
Changed split character
2021-01-06 20:39:25 +00:00
BaronGreenback
8044f1f72f Update NetworkParseTests.cs 2021-01-06 20:30:57 +00:00
Bond-009
6f0a6fdd5d Merge pull request #4943 from crobibero/omdb-fix 2021-01-06 20:28:29 +01:00
Ian
0f4bbbc63c Fix 3169 and 2879 by making MusicArtistResolver run ahead of MusicAlbumResolver 2021-01-06 10:58:07 -08:00
Oatavandi
66ab4e77cd Added translation using Weblate (Malayalam) 2021-01-06 11:57:06 -05:00
crobibero
75ed532fca Add serialize test 2021-01-06 07:07:38 -07:00
GlibTongue
162e8d3045 Translated using Weblate (Urdu (Pakistan))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ur_PK/
2021-01-05 23:06:44 -05:00
David
989c6dcffa Update azure-pipelines-package.yml 2021-01-05 23:01:46 +01:00
Bill Thornton
cfca27e99a Fix capitalization of Playstate message 2021-01-05 10:06:55 -05:00
crobibero
13f347a813 Fix potential null reference 2021-01-05 07:00:48 -07:00
Joe Ceresini
530c4dc11b Use variables for version, and fix conflict 2021-01-05 00:32:46 -05:00
suelio bertulino lima
a4a261e940 Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2021-01-04 12:06:45 -05:00
Aron Szakacs
12144d2d9e Translated using Weblate (German (Swiss))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gsw/
2021-01-04 12:06:45 -05:00
crobibero
c1d1b6e9f4 Fix serialization loop 2021-01-04 07:52:44 -07:00
Tommaso Stocchi
452af30511 Added UrlDecode for authorization parts 2021-01-03 19:32:58 +01:00
obradovichv
d45e2fe95a Update contributors 2021-01-03 20:32:33 +02:00
obradovichv
0282a1ed09 Fix string culture specificity
Fix bug in SsaParser.cs primary color {\1c} formatting that would leave
behind the {\1c} closing token and instead append </font> token
unconditionally to the dialogue text. Add tests.

Change AlphanumComparatorTests.cs complementary test data generation
from an array shuffle to an array reversal. Although it was previously
using a seeded Random, the shuffle itself could result in no
rearrangement of elements if the seed or test data changed over time.
The reversal guarantees reordering of elements and has the added benefit
of simplifying the test code since no special handling is needed for
arrays of 2 elements.

Change DailyTrigger.cs logging of TriggerDate format to
"yyyy-MM-dd HH:mm:ss.fff zzz" for consistency with configured log
timestamp format and change DueTime format to culture-invariant "c"
format.
2021-01-03 20:17:27 +02:00
Bond-009
841996c642 Merge pull request #4936 from crobibero/series-start-item-id
Fix inverted SkipWhile
2021-01-03 17:40:22 +01:00
crobibero
a3a31952f4 Fix OMDb converter 2021-01-03 09:35:22 -07:00
crobibero
a15e126ef8 Fix inverted SkipWhile 2021-01-02 19:23:54 -07:00
Azunyan-
d1da1aa407 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2021-01-02 21:11:01 -05:00
lemmens95
e15b2ea10f Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2021-01-02 21:11:00 -05:00
Matt Montgomery
8dd83327b5 Remove quick connect tokens after usage 2021-01-02 16:37:43 -06:00
Manjot Singh
5932b967b7 Translated using Weblate (Punjabi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pa/
2021-01-02 13:23:32 -05:00
Tommaso Stocchi
a03880b687 Improve get auth header parts using substring 2021-01-02 18:18:47 +01:00
Manjot Singh
cf52503630 Added translation using Weblate (Punjabi) 2021-01-02 06:00:18 -05:00
dkanada
c117b12b6b Merge pull request #4920 from crobibero/person-blurhash
Attach correct Blurhash to BaseItemPerson
2021-01-02 15:45:02 +09:00
crobibero
d077c425d3 Add only correct person blurhash 2021-01-01 12:35:03 -07:00
Bond-009
9a10a18db1 Merge pull request #4905 from BaronGreenback/streamingHelper
Null exception fix
2021-01-01 18:21:21 +01:00
Bond-009
9265dd68a4 Change converter log level (#4916)
Change converter log level
2021-01-01 18:21:06 +01:00
crobibero
1b894798b1 Change log level for converters 2021-01-01 09:34:39 -07:00
David
f154c0dfad Change stable ci nuget build command 2021-01-01 14:56:14 +01:00
Gary Wilber
1fdeac0a7d Ignore inaccessible files during library scans 2020-12-31 18:40:24 -08:00
BaronGreenback
11700db312 Update StreamingHelpers.cs
Null exception fix
2021-01-01 00:25:47 +00:00
Joshua M. Boniface
406ae3e43a Merge pull request #4709 from BaronGreenback/PluginDowngrade 2020-12-31 18:47:05 -05:00
BaronGreenback
bd1c115e46 renamed imagePath to imageUrl 2020-12-31 15:59:48 +00:00
dkanada
e006cc8ac3 Merge pull request #4840 from jellyfin/dependabot/nuget/AutoFixture.AutoMoq-4.15.0
Bump AutoFixture.AutoMoq from 4.14.0 to 4.15.0
2020-12-31 23:14:19 +09:00
dependabot[bot]
6717b8c91a Bump AutoFixture.AutoMoq from 4.14.0 to 4.15.0
Bumps [AutoFixture.AutoMoq](https://github.com/AutoFixture/AutoFixture) from 4.14.0 to 4.15.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.14.0...v4.15.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-31 14:13:22 +00:00
dkanada
d6db0e4b02 Merge pull request #4902 from BaronGreenback/NetmaskFix
Fixed loopback subnet
2020-12-31 23:13:07 +09:00
dkanada
ac7648ab29 Merge pull request #4841 from jellyfin/dependabot/nuget/AutoFixture.Xunit2-4.15.0
Bump AutoFixture.Xunit2 from 4.14.0 to 4.15.0
2020-12-31 23:12:23 +09:00
dkanada
8365d99e52 Merge pull request #4788 from jellyfin/dependabot/nuget/prometheus-net.AspNetCore-4.1.1
Bump prometheus-net.AspNetCore from 4.0.0 to 4.1.1
2020-12-31 23:12:09 +09:00
BaronGreenback
c76faa9708 Update IPNetAddress.cs
Corrected loopback subnet
2020-12-31 13:18:13 +00:00
BaronGreenback
149c2b2169 Added referenced assembly failure detection, and DI failure protection. 2020-12-31 11:39:34 +00:00
martinek-stepan
cc92f7afe5 Enable nullable for MediaBrowser.XbmcMetadata project (#4612)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Stepan <ste.martinek+git@gmail.com>
2020-12-31 12:09:25 +01:00
Bond_009
45331ad83a Cover all branches in JsonNullableGuidConverter 2020-12-31 11:32:32 +01:00
dependabot[bot]
fdb3632e7a Bump prometheus-net.AspNetCore from 4.0.0 to 4.1.1
Bumps [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.0.0...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-31 06:45:10 +00:00
dependabot[bot]
79227fcfef Bump AutoFixture.Xunit2 from 4.14.0 to 4.15.0
Bumps [AutoFixture.Xunit2](https://github.com/AutoFixture/AutoFixture) from 4.14.0 to 4.15.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.14.0...v4.15.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-31 06:43:16 +00:00
dkanada
1327bd9f7d Merge pull request #4787 from jellyfin/dependabot/nuget/prometheus-net-4.1.1
Bump prometheus-net from 4.0.0 to 4.1.1
2020-12-31 15:36:22 +09:00
dkanada
e53379502c Merge pull request #4876 from jellyfin/dependabot/nuget/DotNet.Glob-3.1.2
Bump DotNet.Glob from 3.1.0 to 3.1.2
2020-12-31 15:33:51 +09:00
dkanada
72f1bcb742 Merge pull request #4839 from jellyfin/dependabot/nuget/AutoFixture-4.15.0
Bump AutoFixture from 4.14.0 to 4.15.0
2020-12-31 15:33:30 +09:00
crobibero
dbfbf9fb5b Fix bad merge 2020-12-30 19:45:31 -07:00
Cody Robibero
5c57569692 Merge branch 'master' into PluginDowngrade 2020-12-30 18:11:37 -07:00
Joshua M. Boniface
ccc1b8bf92 Merge pull request #4729 from BaronGreenback/19.0RC---Fix-networkInterfaceFix 2020-12-30 19:57:53 -05:00
Joshua M. Boniface
0de45d8724 Merge pull request #4884 from crobibero/json-nullable-guid-converter
Add JsonConverter for Nullable Guids
2020-12-30 19:56:04 -05:00
Joshua M. Boniface
7caba04c3c Merge pull request #4890 from nielsvanvelzen/4888-fix-search-hints
Fix search hint endpoint error
2020-12-30 19:55:57 -05:00
Joshua M. Boniface
eb084f9021 Merge pull request #4891 from Artiume/patch-1 2020-12-30 19:12:40 -05:00
BaronGreenback
4c291da45c Encoding fix for System Logs. (#4564) 2020-12-30 18:31:26 +01:00
artiume
f411353c8c Update Emby.Server.Implementations/Library/UserDataManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-12-30 09:30:02 -05:00
artiume
c7cb177260 Update Emby.Server.Implementations/Library/UserDataManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-12-30 09:12:36 -05:00
artiume
77b478c726 Update Emby.Server.Implementations/Library/UserDataManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-12-30 09:12:13 -05:00
artiume
cd979e6b62 Add default of 5 minutes 2020-12-30 08:52:11 -05:00
artiume
99adbf0497 Split resume function for Audiobooks 2020-12-30 08:48:33 -05:00
Niels van Velzen
2bb84c0675 Fix limit parameter error for search hints endpoint 2020-12-30 11:16:09 +01:00
dependabot[bot]
9460611fbb Bump prometheus-net from 4.0.0 to 4.1.1
Bumps [prometheus-net](https://github.com/prometheus-net/prometheus-net) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v4.0.0...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-30 09:34:28 +00:00
dependabot[bot]
633507eee1 Bump DotNet.Glob from 3.1.0 to 3.1.2
Bumps [DotNet.Glob](https://github.com/dazinator/DotNet.Glob) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/dazinator/DotNet.Glob/releases)
- [Changelog](https://github.com/dazinator/DotNet.Glob/blob/develop/ReleaseNotes.md)
- [Commits](https://github.com/dazinator/DotNet.Glob/compare/3.1.0...3.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-30 09:34:26 +00:00
Bond-009
054adf6379 Merge pull request #4853 from Ullmie02/servicestack-json 2020-12-30 10:33:32 +01:00
crobibero
cae38f3a7e Add JsonConverter for Nullable Guids 2020-12-29 16:08:16 -07:00
Shaunak Basu
8dfe89ea52 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2020-12-29 11:33:54 -05:00
Shaunak Basu
782c233389 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2020-12-29 11:33:54 -05:00
David
3dec1fd6b2 Use UTF8 encoding and async correctly 2020-12-29 00:35:59 +01:00
David
8ac1ed16ca Use Theory instead of Fact for unit tests 2020-12-29 00:15:36 +01:00
David
9e0f425783 Make RootObject and SeasonRootObject internal again 2020-12-28 23:41:46 +01:00
Bond-009
4ed20c75f7 Merge pull request #4872 from BaronGreenback/NetworkManagerFix
Removed workaround code as web is now fixed.
2020-12-28 15:45:05 +01:00
Bond-009
f8681aa518 Merge pull request #4874 from MrTimscampi/enable-tmdb-omdb
Enable TMDB and OMDB by default
2020-12-28 15:44:45 +01:00
Bond_009
5ac36a8b58 Add tests for srt parser 2020-12-28 15:43:55 +01:00
Bond_009
07cc28946b Add tests for ass parser 2020-12-28 15:33:36 +01:00
Bond_009
d0382db37d Minor improvements to ass parser 2020-12-28 15:33:15 +01:00
Bond_009
bad516d473 Disable broken rule 2020-12-28 15:32:50 +01:00
Bond-009
3542985360 Merge pull request #4857 from crobibero/dep-2 2020-12-28 11:03:16 +01:00
MrTimscampi
48d8536d2f Enable TMDB and OMDB by default 2020-12-28 09:19:08 +01:00
dkanada
2913e2604c Merge pull request #4860 from nyanmisaka/3ch-transcode-hls
Avoid transcoding to 3ch audio for HLS streaming
2020-12-28 13:38:04 +09:00
Joshua M. Boniface
f2e05bd183 Merge pull request #4863 from nyanmisaka/boxes-backdrop
Fix boxes in library name backdrop
2020-12-27 22:29:35 -05:00
WWWesten
926c70f9f7 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2020-12-27 13:17:19 -05:00
BaronGreenback
d96c8d7efd Remove todo 2020-12-27 15:57:27 +00:00
David
21fd124bca Code revie 2020-12-27 11:15:46 +01:00
David
f73bb92ce3 Remove manual N/A removal and write directly to stream 2020-12-26 20:00:54 +01:00
mahi160
108d2da0aa Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2020-12-25 15:12:49 -05:00
Mislav Milinković
41324300ec Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2020-12-25 15:12:49 -05:00
David
e0499f8769 Remove attributes 2020-12-25 19:37:38 +01:00
Nyanmisaka
470f40442c not apply to progressive playback 2020-12-26 02:28:38 +08:00
David
dfd5a118ca Merge branch 'servicestack-json' of github.com:Ullmie02/jellyfin into servicestack-json 2020-12-25 19:22:30 +01:00
David
aacda01ca5 Add more tests 2020-12-25 19:21:58 +01:00
nyanmisaka
4839c2006b fix boxes in library name backdrop for CJK character 2020-12-26 01:24:25 +08:00
David
af62ab490c Update tests/Jellyfin.Common.Tests/Jellyfin.Common.Tests.csproj
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-12-25 15:21:57 +01:00
crobibero
e09dd5aa87 Add targeted tests 2020-12-25 14:43:10 +01:00
crobibero
fc212e5e5f Remove JsonOmdbNotAvailableConverterFactory 2020-12-25 14:43:10 +01:00
crobibero
6ddbe8420f Add tests for special Omdb json 2020-12-25 14:43:10 +01:00
Joshua M. Boniface
93b754c366 Merge pull request #4861 from crobibero/null-ref
Fix null reference when logging
2020-12-24 12:19:02 -05:00
crobibero
c8a95e0926 Fix null reference when logging 2020-12-24 10:05:06 -07:00
Joshua M. Boniface
7227d0d48b Merge pull request #4859 from Ullmie02/ci
Don't build unstable Nuget packages on tags
2020-12-24 09:54:15 -05:00
nyanmisaka
ae1187042a also avoid 7ch transcoding 2020-12-24 20:06:55 +08:00
nyanmisaka
bc6ec08322 avoid transcoding to 3ch audio for HLS streaming 2020-12-24 19:41:02 +08:00
David
043d045448 Put json serializer options in private field 2020-12-24 11:22:34 +01:00
David
e835dfb27d Use sync string instead of file 2020-12-24 10:31:51 +01:00
David
20993412f2 Add unstable nuget condition 2020-12-24 10:18:32 +01:00
David
a714008b59 Add missing FileStreams 2020-12-23 21:00:50 +01:00
crobibero
570b4dc0d0 Explicity reference Newtonsoft.Json 2020-12-23 12:34:07 -07:00
crobibero
79cf57ce16 Remove SQLitePCLRaw.provider.sqlite3.netstandard11 2020-12-23 12:33:50 -07:00
Claus Vium
afdc98746b Merge pull request #4856 from nyanmisaka/amf-profile
Fix some profiles for H264 AMF encoder
2020-12-23 19:30:45 +01:00
David
2a574914ea Use streams instead of strings 2020-12-23 19:24:58 +01:00
BaronGreenback
21f6d39432 copy constructor 2020-12-23 17:43:29 +00:00
nyanmisaka
b61541b6f7 fix some profiles for H264 AMF encoder 2020-12-24 01:32:23 +08:00
BaronGreenback
dae6798a18 Making it work 2020-12-23 17:25:41 +00:00
BaronGreenback
889e988167 Updated to latest unstable. 2020-12-23 17:25:34 +00:00
Bond-009
f42208673f Merge pull request #4855 from crobibero/cache-json-serializer
Initialize JsonSerializerOptions statically
2020-12-23 18:09:39 +01:00
BaronGreenback
62702fa3eb Changes as requested 2020-12-23 16:28:50 +00:00
crobibero
af8acf7128 Initialize JsonSerializerOptions statically 2020-12-23 09:01:24 -07:00
David
f38970cbd3 Remove xml docs 2020-12-23 15:03:14 +01:00
David
e2d338412f Fix OMDb "N/A" 2020-12-23 14:45:05 +01:00
David
276b219fbd Add missing options 2020-12-23 13:47:57 +01:00
David
62fcc84bf4 Remove nuget reference 2020-12-23 13:35:49 +01:00
David
b9dbdc7e54 Remove custom Json serializer from MediaBrowser.Controller 2020-12-23 13:25:49 +01:00
David
e9902e9d35 Remove custom Json serializer 2020-12-23 13:24:34 +01:00
David
196388d607 Remove custom Json serializer from Emby.Server.Implementations 2020-12-23 13:14:40 +01:00
David
bc0976ceac Remove custom Json serializer from Dlna 2020-12-23 13:14:40 +01:00
David
e09d3ba9ef Remove custom Json serializer from Providers 2020-12-23 13:14:39 +01:00
Bond-009
3a452463fc Merge pull request #4849 from crobibero/clean-deps
Remove unused dependencies
2020-12-23 11:51:41 +01:00
BaronGreenback
d98f42a6aa Update PackageInfo.cs
uncommented attribute.
2020-12-23 10:36:34 +00:00
BaronGreenback
e8df9551ef Update PluginManager.cs
Changed a to i
2020-12-23 10:31:11 +00:00
BaronGreenback
9a97933499 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-23 10:29:21 +00:00
BaronGreenback
8e04e6c837 Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-23 10:27:27 +00:00
BaronGreenback
63c290f878 Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-23 10:26:20 +00:00
BaronGreenback
4ba4eefeeb Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-23 10:26:02 +00:00
BaronGreenback
66d98cb8e4 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-23 10:24:30 +00:00
Claus Vium
e36881f4fd Merge pull request #4852 from ryanpetris/fix-schedulesdirect-refresh
SchedulesDirect no longer refreshes channels properly
2020-12-23 11:08:18 +01:00
Ryan Petris
c0c0eaec05 new List(int) does not pre-allocate indicies like Arrays, it merely sets the initial capacity. 2020-12-22 20:37:07 -07:00
Joshua M. Boniface
bfdd4727b5 Merge pull request #4850 from BaronGreenback/NetworkApiFix
Null reference fix
2020-12-22 22:21:59 -05:00
Joshua M. Boniface
ca535b2fbe Merge pull request #4847 from crobibero/display-prefs-migration-x251256
Fix another key collision in MigrateDisplayPreferencesDatabase
2020-12-22 22:21:16 -05:00
Joshua M. Boniface
a77788906c Merge pull request #4821 from BaronGreenback/disableDlna 2020-12-22 22:20:44 -05:00
BaronGreenback
e113a50597 Possible null reference fix. 2020-12-22 16:14:06 +00:00
crobibero
1dac2226c4 Remove unused deps 2020-12-22 08:57:51 -07:00
BaronGreenback
bc9462981e changed to constants 2020-12-22 15:33:25 +00:00
BaronGreenback
bf24929d27 Changed to 503. 2020-12-22 15:23:55 +00:00
BaronGreenback
1f2ecd0775 Fix for DI. 2020-12-22 15:01:26 +00:00
BaronGreenback
621e6d28cd Fallback to default guid 2020-12-22 14:07:01 +00:00
crobibero
3a6501abe0 Fix another key collision in MigrateDisplayPreferencesDatabase 2020-12-21 17:28:06 -07:00
Claus Vium
c8a89b0fe3 Merge pull request #4842 from crobibero/date-time-formatter
Add JsonDateTimeConverter
2020-12-21 23:11:54 +01:00
Claus Vium
53119ed2a1 Merge pull request #4824 from crobibero/livestream-post-body
Add request parameters to OpenLiveStreamDto
2020-12-21 23:10:46 +01:00
crobibero
d3b6a24f78 Add JsonDateTimeConverter 2020-12-21 08:41:13 -07:00
crobibero
242b5a45ab Add JsonDateTimeConverter 2020-12-21 08:12:32 -07:00
dependabot[bot]
fd488cd3ff Bump AutoFixture from 4.14.0 to 4.15.0
Bumps [AutoFixture](https://github.com/AutoFixture/AutoFixture) from 4.14.0 to 4.15.0.
- [Release notes](https://github.com/AutoFixture/AutoFixture/releases)
- [Commits](https://github.com/AutoFixture/AutoFixture/compare/v4.14.0...v4.15.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-21 12:00:39 +00:00
BaronGreenback
3633996a53 New json converter implemented. 2020-12-21 09:01:59 +00:00
Predrag Ljubenović
e778fda843 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2020-12-21 02:25:41 -05:00
Page Asgardius
3df97d5441 Translated using Weblate (Spanish (Latin America))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_419/
2020-12-21 02:25:41 -05:00
Claus Vium
98da2c67a5 Merge pull request #4836 from crobibero/dashboard-theme
Return dashboardTheme when requesting DisplayPreferences
2020-12-21 00:14:30 +01:00
Claus Vium
c90c382e2f Merge pull request #4833 from Ullmie02/similar-fix
Fix similar items endpoint for movies and TV
2020-12-21 00:14:07 +01:00
David
13de663201 Fix similar endpoint for TV 2020-12-20 22:21:11 +01:00
crobibero
a682fc4516 Return dashboardTheme when requesting DisplayPreferences 2020-12-20 12:59:44 -07:00
BaronGreenback
7a66761981 write json files indented. 2020-12-20 19:30:48 +00:00
BaronGreenback
53e280b80f json name override. 2020-12-20 16:29:28 +00:00
David
eba403158e Re-add IsMovie 2020-12-20 17:00:27 +01:00
David
f4d1e33010 Fix similar items endpoint for movies and TV 2020-12-20 15:37:44 +01:00
Claus Vium
e9db47cd20 Merge pull request #4816 from nyanmisaka/profiles
Fix some video profiles for Android client
2020-12-20 13:57:25 +01:00
Claus Vium
6274cf8fcc Merge pull request #4803 from ryanpetris/fix-getuser
Fix Live TV Recording Scheduling
2020-12-20 13:54:32 +01:00
WWWesten
cc5d0af4c1 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2020-12-20 03:50:47 -05:00
WWWesten
1d50c2ad63 Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2020-12-20 03:50:47 -05:00
WWWesten
b8ef0823fa Translated using Weblate (Kazakh)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2020-12-19 19:14:28 -05:00
Bond-009
2e8e96874f Merge pull request #4828 from joshuaboniface/linux-alt-arch 2020-12-19 23:06:34 +01:00
Joshua M. Boniface
704d627f3a Add Azure pipeline configs for new arches 2020-12-19 15:57:08 -05:00
Joshua M. Boniface
841df64e9f Add static Linux builds for arm and musl 2020-12-19 15:56:08 -05:00
crobibero
4539164d38 Add request parameters to OpenLiveStreamDto 2020-12-19 10:55:07 -07:00
BaronGreenback
9470712118 Added xml docs 2020-12-19 17:38:46 +00:00
BaronGreenback
3d0b9f9ea1 Did the other API, 2020-12-19 09:34:04 +00:00
BaronGreenback
c98144c60d Updated docs. 2020-12-18 23:59:21 +00:00
BaronGreenback
46c7499e2b reverted change 2020-12-18 23:55:23 +00:00
BaronGreenback
bae8f0c4ec corrected. 2020-12-18 23:52:19 +00:00
BaronGreenback
f06d52c475 Disable API if dlna is disabled. 2020-12-18 23:29:21 +00:00
Greenback
d34428f2f7 removed exception 2020-12-18 22:17:50 +00:00
BaronGreenback
9bf970e5c6 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:59:14 +00:00
BaronGreenback
a293024efd Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:56:54 +00:00
BaronGreenback
5c3ebb63e6 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:56:35 +00:00
BaronGreenback
09f219bbce Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:56:15 +00:00
BaronGreenback
3708ca8dbb Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:56:03 +00:00
BaronGreenback
4757824a82 Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:55:50 +00:00
Greenback
4cc19be173 removed compiler directives. 2020-12-18 21:14:38 +00:00
Greenback
cb793af30e Renamed guid to id 2020-12-18 21:11:29 +00:00
BaronGreenback
46a64deb66 Update MediaBrowser.Model/Updates/PackageInfo.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 21:07:24 +00:00
Greenback
5c4fdaa253 MaxAbi property removed. 2020-12-18 21:05:27 +00:00
Greenback
5d748c0e9f Renamed to ImagePath 2020-12-18 20:52:44 +00:00
Greenback
ce19f2be55 Renamed Guid property to Id 2020-12-18 20:37:35 +00:00
Predrag Ljubenović
07ee98b65f Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2020-12-18 15:04:11 -05:00
Nyanmisaka
ac03ef57c9 allow empty video encoder profile
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-19 01:47:31 +08:00
Greenback
486148dd6b Removed maxAbi 2020-12-18 09:44:57 +00:00
Greenback
5a3efc5266 Changes as required. 2020-12-18 09:04:40 +00:00
BaronGreenback
4153551dfc Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:26:11 +00:00
BaronGreenback
0dcf6b09c1 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:25:39 +00:00
BaronGreenback
8ce765c4d1 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:25:04 +00:00
BaronGreenback
591ad3b04b Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:24:26 +00:00
BaronGreenback
30645e7265 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:24:12 +00:00
BaronGreenback
2d094bedf5 Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:24:00 +00:00
BaronGreenback
3a8d395c9c Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:23:46 +00:00
BaronGreenback
5d5b198525 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:23:28 +00:00
BaronGreenback
e445c2932a Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-18 08:23:15 +00:00
Joshua M. Boniface
668e168c47 Merge pull request #4819 from crobibero/download-name
Set filename when downloading file
2020-12-18 02:17:24 -05:00
SecularSteve
be3129e012 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2020-12-17 16:54:00 -05:00
crobibero
56ae63433f Set filename when downloading file 2020-12-17 13:05:44 -07:00
Miko Dela Cruz
e515b696d1 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2020-12-17 11:49:03 -05:00
nlspln
9bf51aeb6b Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2020-12-17 11:49:03 -05:00
nyanmisaka
cf8aa37f5b Fix some video profile for Android client
* Fix constrained high profile for some encoders
* Extended profile is not supported by any known h264 encoders
* Replace HEVC 10-bit profiles with main profile
2020-12-17 23:33:44 +08:00
BaronGreenback
0ed3c2def2 Update MediaBrowser.sln 2020-12-17 13:50:24 +00:00
Greenback
a4a40407a0 Change PluginStatus states. 2020-12-17 13:44:53 +00:00
BaronGreenback
212c76102d Update PluginManifest.cs 2020-12-17 13:37:13 +00:00
Greenback
d9aaba36ec Copy previous plugin settings if they don't exist. 2020-12-16 23:19:09 +00:00
Greenback
1ed25ebd9a Corrections as recommended. 2020-12-16 22:36:25 +00:00
Greenback
ebbb57efc3 Change json default settings. 2020-12-16 21:40:52 +00:00
Claus Vium
21d2e9ff0c Merge pull request #4771 from crobibero/typed-get-preference
Use typed UserManager GetPreference
2020-12-16 22:15:56 +01:00
Greenback
6d3e1d6b57 Small Optimization 2020-12-16 19:37:23 +00:00
Claus Vium
1f2488d7d9 Merge pull request #4807 from nyanmisaka/ps4-dlna
Correct DLNA audio codecs for PS3 and PS4
2020-12-16 15:52:16 +01:00
nyanmisaka
7c3f2e7c59 Correct DLNA audio codecs for PS3 and PS4
* https://manuals.playstation.net/document/en/ps3/current/video/filetypes.html
* https://manuals.playstation.net/document/en/ps4/music/mp_format_m.html
2020-12-16 21:20:29 +08:00
Ryan Petris
875562e580 This is only used in one place and therefore will always be HttpRequest. 2020-12-15 22:17:04 -07:00
Ryan Petris
1b3fcab6a4 If requestContext is HttpRequest, get the context from it properly. 2020-12-15 22:02:08 -07:00
Greenback
5323887540 Replaced TryGetPlugin with GetPlugin 2020-12-15 20:27:42 +00:00
Tommaso Stocchi
7c7f2316fa Added comments 2020-12-15 21:06:47 +01:00
Tommaso Stocchi
c6eefaac09 Added function to split the authorization header parts 2020-12-15 21:01:42 +01:00
Greenback
0337e39bae Updated JsonDefaults 2020-12-15 19:39:41 +00:00
Greenback
00ff3b9096 remove attribute 2020-12-15 19:35:30 +00:00
BaronGreenback
aecd35d306 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 19:31:36 +00:00
BaronGreenback
24ab152e9d Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 19:30:23 +00:00
Bond-009
8eeed82523 Merge pull request #4792 from cvium/fix_missing_seasons
Add missing seasons during AfterMetadataRefresh
2020-12-15 20:30:13 +01:00
BaronGreenback
e4993ae574 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 19:24:52 +00:00
BaronGreenback
2afa963fc1 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 19:24:39 +00:00
BaronGreenback
3f1ad7f963 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 19:22:54 +00:00
Greenback
c197dca759 Changed PluginId to guid so its the same type as plugin.id 2020-12-15 18:27:31 +00:00
Greenback
eb2439f23b Changes as recommended. 2020-12-15 16:37:11 +00:00
Bond-009
e84622b4ab Merge pull request #4794 from cvium/fix_image_upload
Convert from base64 when saving item images
2020-12-15 12:24:05 +01:00
Bond-009
906ee4f962 Merge pull request #4781 from crobibero/map-xmltv
Use request body for mapping xml channels
2020-12-15 12:22:39 +01:00
Greenback
c761cbff0e more changes. 2020-12-15 10:20:28 +00:00
Greenback
208d545cfe Changed as suggested. 2020-12-15 10:05:04 +00:00
Greenback
dddcfa6dbb Suggested changes. 2020-12-15 09:30:19 +00:00
BaronGreenback
41466c430d Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 09:17:06 +00:00
cvium
5b4eef741a Convert from base64 when saving item images 2020-12-15 09:27:33 +01:00
Claus Vium
bc8f1bdcac Merge pull request #4789 from crobibero/provider-search
Fix get provider id extension
2020-12-15 09:10:12 +01:00
BaronGreenback
33385c1b8c Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 07:55:14 +00:00
BaronGreenback
1c6529c9eb Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-15 07:54:49 +00:00
cvium
9f6000d845 Add missing seasons during AfterMetadataRefresh 2020-12-15 08:18:36 +01:00
BaronGreenback
3cff64ee32 Delete disabled.png
Should have a capital letter
2020-12-15 01:32:43 +00:00
BaronGreenback
2bb12793b2 Add files via upload 2020-12-15 01:31:56 +00:00
Greenback
cddc87e2af Fixed gitmerge. 2020-12-15 01:23:52 +00:00
BaronGreenback
67c480ad53 Merge branch 'master' into PluginDowngrade 2020-12-15 01:15:54 +00:00
Greenback
0d4aa6bad6 Enable local file repositories 2020-12-15 01:13:11 +00:00
Greenback
356d92cd71 Fixed repository listing 2020-12-15 00:49:14 +00:00
Greenback
fbb20ebef6 Plugin setting migration to folders. 2020-12-15 00:42:59 +00:00
Greenback
494ace7984 Mark plugin failure on DI Loop. 2020-12-14 23:39:47 +00:00
Greenback
d2d45295fc Rollback change. 2020-12-14 23:13:29 +00:00
Greenback
a246a77ada Delete plugin working. 2020-12-14 23:08:04 +00:00
Greenback
7986465cf7 Initial upload 2020-12-14 16:14:39 +00:00
crobibero
e051090904 Use proper array setter 2020-12-14 09:03:36 -07:00
crobibero
a515ecbada Use range operator to get subarray 2020-12-14 07:53:56 -07:00
crobibero
ca5f87c7eb Fix get provider id extension 2020-12-14 07:20:16 -07:00
Tommaso Stocchi
6e2cfc6569 Url decode for auth value 2020-12-14 14:05:53 +01:00
Tommaso Stocchi
b611a108f8 -fix split on comma and double quotes 2020-12-14 13:15:21 +01:00
Tommaso Stocchi
305e5ebaf4 Allow commas in auth values when wappred in a double quote 2020-12-14 13:14:18 +01:00
Tommaso Stocchi
13bc57ecc3 No need to double check param length 2020-12-14 13:08:07 +01:00
Tommaso Stocchi
064a9cedbd No htlml encoding on server side 2020-12-14 13:07:39 +01:00
Joshua M. Boniface
4f6a585424 Merge pull request #4716 from OancaAndrei/syncplay-new-auth-policies 2020-12-13 16:58:28 -05:00
Joshua M. Boniface
e7ae712437 Merge pull request #4773 from Artiume/patch-10
Remove opf extension for book types
2020-12-13 16:57:50 -05:00
Joshua M. Boniface
7b5319bb07 Merge pull request #4750 from crobibero/skia
Fix blueberry
2020-12-13 16:56:23 -05:00
Joshua M. Boniface
adf3ee9eeb Merge pull request #4718 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.8.3
Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3
2020-12-13 16:55:47 -05:00
Joshua M. Boniface
d0ccea934f Merge pull request #4720 from MrTimscampi/activity-log-levels
Add overloaded constructor for ActivityLog levels
2020-12-13 16:55:34 -05:00
A Foley
a83a4f55d9 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2020-12-13 16:46:42 -05:00
Claus Vium
a3a7467f49 Merge pull request #4713 from crobibero/robots 2020-12-13 20:12:07 +01:00
crobibero
c6b381db10 Use request body for mapping xml channels 2020-12-13 08:32:33 -07:00
crobibero
ee23d06154 Use a more descriptive function name 2020-12-13 08:15:26 -07:00
Claus Vium
8c00fbea9c Merge pull request #4675 from BaronGreenback/ProxyDNS 2020-12-13 14:22:27 +01:00
Claus Vium
4ecb30ef10 Merge pull request #4769 from crobibero/typo
Check correct fetcher list for provider name
2020-12-13 14:13:01 +01:00
Claus Vium
c5a5f77b9e Merge pull request #4726 from BaronGreenback/19.0RC--Fix-CertificateLoadError
Fix - Access Denied on using certificates in windows as user.
2020-12-13 13:35:02 +01:00
Claus Vium
13bb5e1ead Merge pull request #4761 from crobibero/playlist 2020-12-13 13:34:04 +01:00
Claus Vium
f8ef38c0ea Merge pull request #4758 from nyanmisaka/fix-landingScreen-options 2020-12-13 13:29:11 +01:00
Claus Vium
f9a78625b7 Merge pull request #4767 from nyanmisaka/fix-ssl-save 2020-12-13 13:25:21 +01:00
Bond-009
381341c83b Merge pull request #4774 from nyanmisaka/finetune-tonemap
Fine tune some tone mapping params
2020-12-13 11:57:32 +01:00
Bill Thornton
42beaddb45 Merge pull request #4731 from Sylk/readme-modification
Modified ReadMe with updated command line command
2020-12-12 23:34:45 -05:00
Bond-009
cb36feaa0f Merge pull request #4775 from barronpm/nullable-jellyfinserverimplementations
Enable Nullable for Jellyfin.Server.Implementations
2020-12-12 19:22:08 +01:00
crobibero
8f4a4a3cc5 Convert values without throwing exception 2020-12-12 10:36:17 -07:00
Patrick Barron
d9263dacd5 Enable nullable for Jellyfin.Server.Implementations 2020-12-12 11:20:48 -05:00
nyanmisaka
7be3276dff Fine tune some tone mapping params
*Set recommand algorithm to Hable
*Set recommand tone mapping peak to 100
2020-12-12 18:26:52 +08:00
artiume
297cb27ab6 remove opf extension for book types 2020-12-11 21:13:28 -05:00
crobibero
f5cce9e630 Use typed UserManager GetPreference 2020-12-11 15:04:14 -07:00
crobibero
b670937c3d Use typed UserManager GetPreference 2020-12-11 15:00:43 -07:00
Bond-009
b3caa51173 Merge pull request #4699 from crobibero/display_prefs_index
Fix CustomItemDisplayPreferences unique key collision in the migration
2020-12-11 22:29:07 +01:00
crobibero
7d24460fac Fix copy-paste error 2020-12-11 14:03:10 -07:00
Bond-009
04ba59ab40 Merge pull request #4766 from barronpm/usermanager-async
Convert DeleteUser to async
2020-12-11 21:29:20 +01:00
Nyanmisaka
d701b67de1 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-12 02:36:31 +08:00
nyanmisaka
41218c5613 fix ssl certificate cannot be saved 2020-12-11 23:52:09 +08:00
Patrick Barron
76f61eb0d6 Convert DeleteUser to async 2020-12-11 10:15:43 -05:00
crobibero
ac2593e370 Set convolveAlpha to true 2020-12-11 08:06:04 -07:00
crobibero
69d581033b Use a more descriptive middleware name 2020-12-11 07:17:06 -07:00
Claus Vium
a57e465de9 Merge pull request #4710 from OancaAndrei/syncplay-fix-session-restore
Restore sessions in SyncPlay groups upon reconnection
2020-12-11 09:57:14 +01:00
Claus Vium
e6ea5a776d Merge pull request #4724 from BaronGreenback/17.0RC----DLNA_PlayTo_Fix 2020-12-11 09:56:39 +01:00
Claus Vium
c1bb29532f Merge pull request #4756 from crobibero/api-key-inverted-condition
Fix inverted condition when authenticating with an ApiKey
2020-12-11 09:54:15 +01:00
Claus Vium
f322866127 Merge pull request #4737 from crobibero/missing-ensure-success 2020-12-11 09:53:43 +01:00
Claus Vium
0cddfbcff5 Merge pull request #4757 from cvium/semi_revert_defer_image_loading 2020-12-11 08:11:38 +01:00
Claus Vium
b56feac841 Merge pull request #4762 from crobibero/api-file-return
Fix openapi file schema
2020-12-11 08:11:25 +01:00
Nyanmisaka
a79c210c76 fix typo
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-11 11:35:00 +08:00
crobibero
34029f860c Fix openapi file schema 2020-12-10 19:05:49 -07:00
kaboom83
abcbb9f156 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2020-12-10 16:47:20 -05:00
Bond-009
933e7fa159 Merge pull request #4749 from crobibero/guid-standard 2020-12-10 21:53:32 +01:00
crobibero
297b7ea6fa Fix empty body for PlaybackInfo 2020-12-10 11:36:58 -07:00
crobibero
0d2106a272 Allow playlist to be created by query string 2020-12-10 11:36:31 -07:00
cvium
15a3d8d626 Forgot to revert some other changes, dunno if needed 2020-12-10 18:02:12 +01:00
crobibero
a9aafbaf5a Don't throw exception unless needed 2020-12-10 08:25:05 -07:00
crobibero
b66abf0556 Add support back for /emby and /mediabrowser routes 2020-12-10 08:17:02 -07:00
nyanmisaka
0332b72502 fix landing screen options 2020-12-10 22:41:00 +08:00
cvium
3f6e6c4839 Simplify 2020-12-10 14:47:47 +01:00
dependabot[bot]
3e062bc0cd Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.0 to 16.8.3.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.8.0...v16.8.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-10 12:57:44 +00:00
Claus Vium
a56ac65449 Merge pull request #4753 from crobibero/5.0.1
Update to dotnet 5.0.1
2020-12-10 13:56:54 +01:00
Claus Vium
7455de1f85 Merge pull request #4701 from crobibero/plugin-version 2020-12-10 13:53:24 +01:00
cvium
dd238937f4 Remember to await the async task 2020-12-10 13:44:58 +01:00
cvium
3c5bbeb80c Remove ImageFetcherPostScanTask 2020-12-10 13:38:33 +01:00
crobibero
2478c8fa64 Fix inverted condition when authenticating with an ApiKey 2020-12-09 23:15:33 -07:00
crobibero
681a0f3e75 Add nullable guid test 2020-12-09 19:57:25 -07:00
crobibero
aa5fa7cb8f Update to dotnet 5.0.1 2020-12-09 07:36:31 -07:00
Bond-009
9e601ba731 Merge pull request #4751 from nyanmisaka/mpegts-batchsize 2020-12-09 14:37:44 +01:00
Nyanmisaka
060f6c194f Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-12-09 16:37:15 +08:00
Claus Vium
e85884ddb9 Merge pull request #4743 from crobibero/metadata-options
Actually use library options when filtering metadata providers
2020-12-09 08:34:01 +01:00
Claus Vium
31e8273795 Merge pull request #4741 from jellyfin/tests8
Add tests for HdHomerunHost.GetLineup
2020-12-09 08:16:40 +01:00
nyanmisaka
ebd9ab3ccc use larger batch size on mpegts to avoid corrupted thumbnails 2020-12-09 14:39:41 +08:00
crobibero
c955f19634 Serialize GUID without dashes 2020-12-08 19:33:26 -07:00
crobibero
75aa3718dc Actually use library options when filtering metadata providers 2020-12-08 17:47:13 -07:00
Bond_009
c0fde3496c Add tests for HdHomerunHost.TryGetTunerHostInfo 2020-12-09 01:24:30 +01:00
Bond_009
514d95e5aa Add tests for HdHomerunHost.GetLineup 2020-12-09 01:08:41 +01:00
Bond-009
87e13b858a Merge pull request #4733 from crobibero/omdb-null
Fix potential null reference in OMDB
2020-12-09 00:28:32 +01:00
Claus Vium
e6650651b3 Merge pull request #4738 from jellyfin/tests8
Add tests for HdHomerunHost.GetModelInfo
2020-12-08 20:20:33 +01:00
Bond_009
7027561e19 Add tests for HdHomerunHost.GetModelInfo 2020-12-08 18:53:38 +01:00
Claus Vium
b83bc0a589 Merge pull request #4736 from nyanmisaka/fix-custom-order
Fix custom library order
2020-12-08 18:22:43 +01:00
Claus Vium
b6ecaccf92 Merge pull request #4730 from crobibero/base-item-dto-guid-nullable
Don't serialize empty GUID to null
2020-12-08 18:22:18 +01:00
Anthony Lavado
94d805d03d Merge pull request #4735 from crobibero/json-recursion
Fix JsonConverter recursion
2020-12-08 12:08:24 -05:00
crobibero
e621244405 Add missing EnsureSuccessStatusCode 2020-12-08 08:28:19 -07:00
nyanmisaka
020fe37dfe fix custom library order 2020-12-08 22:33:52 +08:00
crobibero
26e5aacb90 Fix JsonConverter recursion 2020-12-08 07:18:25 -07:00
Claus Vium
80ff564143 Merge pull request #4722 from crobibero/forbid
Fix API forbidden response
2020-12-08 10:11:14 +01:00
Claus Vium
0aad17554c Merge pull request #4715 from crobibero/hdhr-json-bool
Add number to bool json converter
2020-12-08 08:58:01 +01:00
Claus Vium
0d5f651ae9 Merge pull request #4706 from cvium/fix_aspectratio_again
Only apply series image aspect ratio if episode/season has no primary image
2020-12-08 08:46:05 +01:00
Claus Vium
885d42cb65 Merge pull request #4678 from BaronGreenback/network_routing_fix_17.0rc
Change logging level and message in NetworkManager
2020-12-08 08:37:51 +01:00
Claus Vium
4c199ac9a5 Merge pull request #4711 from barronpm/api-fixes
Add required attributes to parameters
2020-12-08 08:36:32 +01:00
crobibero
d12fa01d7a Fix potential null reference 2020-12-07 19:10:35 -07:00
Matthew Bauer
2c947630a7 Modified ReadMe with updated command line command
Also removed old documentation about placing the built dist into the jellyfin-server directory
2020-12-07 16:04:20 -07:00
BaronGreenback
af37cc2339 Merge branch 'master' into ProxyDNS 2020-12-07 22:54:51 +00:00
BaronGreenback
acc45b7307 Update Jellyfin.Networking/Configuration/NetworkConfiguration.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-07 22:29:19 +00:00
crobibero
8517b28eba Make BaseItemDto Guids nullable 2020-12-07 15:23:40 -07:00
crobibero
6722fcec36 Revert #4568 2020-12-07 15:23:25 -07:00
Greenback
e34adc12d9 reverted change. 2020-12-07 22:16:25 +00:00
BaronGreenback
57cb3a67bc Update ApplicationHost.cs
Removed previous change, use for testing.
2020-12-07 22:12:43 +00:00
Greenback
d69f2d7d7f DNLA over HTTP only 2020-12-07 22:06:28 +00:00
crobibero
6e98378447 Simplify converter 2020-12-07 14:58:27 -07:00
BaronGreenback
b485520537 Update ApplicationHost.cs
Added X509KeyStorageFlags.UserKeySet
2020-12-07 20:25:41 +00:00
Greenback
8999871b68 cleaned change 2020-12-07 18:31:45 +00:00
Greenback
d14d8145d5 Fixed createPlayList 2020-12-07 18:27:22 +00:00
crobibero
5150598c6d Fix API forbidden response 2020-12-07 08:55:42 -07:00
Ionut Andrei Oanca
fbeb0228a2 Minor code style related change 2020-12-07 16:15:56 +01:00
MrTimscampi
f97182c768 Add log level parameter to ActivityLog constructor 2020-12-07 15:28:29 +01:00
Ionut Andrei Oanca
499f3ee950 Update authorization policies for SyncPlay 2020-12-07 10:33:15 +01:00
crobibero
66a1880a58 Add number to bool json converter 2020-12-06 20:26:21 -07:00
crobibero
d65e8d7044 Redirect robots.txt if hosting web content 2020-12-06 19:40:43 -07:00
Patrick Barron
391870ebae Add required attributes to parameters 2020-12-06 20:05:55 -05:00
Ionut Andrei Oanca
0825ce687d Add SessionControllerConnected event 2020-12-07 01:04:48 +01:00
cvium
a0fbf0f539 Only apply series image aspect ratio if episode/season has no primary image 2020-12-06 22:49:00 +01:00
crobibero
8df2213d6b Don't return plugin versions that target newer Jellyfin version 2020-12-06 10:13:08 -07:00
crobibero
eefe87f537 Remove CustomItemDisplayPreferences unique key collision 2020-12-06 09:11:00 -07:00
Artūrs Jānis Ņikitins
a7b461adb4 Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2020-12-06 09:38:27 -05:00
Artūrs Jānis Ņikitins
b9107e847a Translated using Weblate (Latvian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lv/
2020-12-05 19:15:09 -05:00
Saman Dadmand
34cd89058a Translated using Weblate (Persian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fa/
2020-12-05 19:15:08 -05:00
rwctrjotovxqqqyqod
4d56afa712 Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2020-12-05 13:58:38 -05:00
BaronGreenback
abacae4520 Update NetworkManager.cs
Changed logging type.
2020-12-05 16:28:14 +00:00
BaronGreenback
1a44d34f50 Update ApiServiceCollectionExtensions.cs 2020-12-05 16:00:34 +00:00
Bond-009
804dd00425 Merge pull request #4671 from cvium/allow_proxy
Clear KnownNetworks and KnownProxies if none are configured explicitly
2020-12-05 16:22:11 +01:00
Bond-009
26919eed26 Merge pull request #4672 from cvium/fix_mergeversions_which_was_unrelated_to_my_bughunt
Fix MergeVersions endpoint
2020-12-05 15:06:41 +01:00
cvium
ba7a1c8b7b Fix MergeVersions endpoint 2020-12-05 13:54:19 +01:00
cvium
41cd4d0a39 Clear KnownNetworks and KnownProxies if none are configured explicitly 2020-12-05 10:18:56 +01:00
Joshua M. Boniface
f2c2beca0f Merge pull request #4667 from joshuaboniface/fix-nuget-ci
Remove obsolete erroring command
2020-12-05 01:34:49 -05:00
Joshua M. Boniface
8976b22ac4 Merge pull request #4669 from MrTimscampi/fix-npm-public
Fix NPM command in CI
2020-12-05 01:31:02 -05:00
MrTimscampi
048de2f3b7 Fix NPM command in CI 2020-12-05 07:25:41 +01:00
Joshua M. Boniface
599f36f57f Remove obsolete erroring command
This is not required for stable pushes.
2020-12-05 01:21:52 -05:00
Joshua M. Boniface
e3a1991fe9 Merge pull request #4662 from joshuaboniface/fix-bump-version
Fix bad do in bump_version
2020-12-05 01:12:18 -05:00
Joshua M. Boniface
1af0139ae7 Merge pull request #4665 from anthonylavado/ci-npm-fix
Fix the NPM publish scope to public
2020-12-05 01:08:14 -05:00
Anthony Lavado
c9832bb98a Fix the NPM publish scope to public 2020-12-04 22:36:11 -05:00
Anthony Lavado
8b55ff2e6e Merge pull request #4664 from joshuaboniface/codeown-ci
Make me codeowner of the .ci dir
2020-12-04 22:07:40 -05:00
Joshua M. Boniface
d838a27e6d Make me codeowner of the .ci dir
I need to know when stuff changes.
2020-12-04 22:05:37 -05:00
Joshua M. Boniface
5f2cd11199 Bump version to 10.8.0 for next release 2020-12-04 21:56:24 -05:00
Joshua M. Boniface
495c0ba1f1 Fix bad do in bump_version 2020-12-04 21:53:48 -05:00
Joshua M. Boniface
6aed4b6e32 Merge pull request #4661 from Bond-009/spam
Remove spammy debug line
2020-12-04 20:24:54 -05:00
Joshua M. Boniface
bba01bf7b9 Merge pull request #3194 from OancaAndrei/syncplay-enhanced
SyncPlay for TV series (and Music)
2020-12-04 20:22:30 -05:00
Joshua M. Boniface
b96d4ef0e8 Merge pull request #4653 from crobibero/favorite-persons
Optimize FavoritePersons query
2020-12-04 20:05:35 -05:00
Joshua M. Boniface
4e6584c345 Merge pull request #4652 from crobibero/display-preferences
Add support for custom item display preferences
2020-12-04 20:05:04 -05:00
AJ Jordan
bab389114b Use a service unit, not a scope unit, to restart
Reportedly `systemd-run --scope` still got killed by the service
manager; see #4615. The suspected cause is that `scope` units are run by
the `systemd-run` process itself and inherit the caller's execution
environment (see systemd-run(1)). To fix this, we use a systemd
`service` unit instead, which is run and managed by PID 1 - hopefully
this will isolate us sufficiently so that we don't get terminated along
with `jellyfin.service`.
2020-12-04 16:33:24 -08:00
AJ Jordan
d251c701b9 Use systemd-run(1) in restart.sh
systemd-run(1) runs `systemctl restart` in an isolated systemd unit
that is not subject to process termination as jellyfin.service is shut
down. We adjust the sudoers configuration for this new usage, removing
the old config, since restart.sh is the only user of the sudoers
policy.

Additionally we change `systemctl start` to `systemctl restart` since
there was a race condition where jellyfin.service was not fully
stopped by the time this ran, so `systemctl start` became a noop.
`systemctl restart` on the other hand works whether jellyfin.service is
stopped or not.

The at(1) hack (and the usage of `start` instead of `restart`) is left
in for other init systems since I cannot test on those systems, and
because I don't know of any systemd-run(1) equivalent (although it may
be a non-issue since alternate init systems do not keep track of daemon
children nearly as aggressively as systemd does).
2020-12-04 16:18:26 -08:00
crobibero
76250a8895 Use md5 Guid for legacy compat 2020-12-04 16:27:31 -07:00
crobibero
3db6ae91f6 Add ItemId to all display preferences 2020-12-04 16:00:11 -07:00
Ionut Andrei Oanca
cc64ee483d Reorder parameters in HandleRequest 2020-12-04 23:16:15 +01:00
Bond-009
3980b5ce9f Merge pull request #4660 from crobibero/mime-type
Add support for web serving .mem files
2020-12-04 22:17:10 +01:00
Bond_009
e530401462 Remove spammy debug line 2020-12-04 22:15:00 +01:00
crobibero
e49bb3f4e6 Add support for web serving .mem files 2020-12-04 14:12:59 -07:00
Ionut Andrei Oanca
23473ef8fb Fix access policies to SyncPlay 2020-12-04 22:03:35 +01:00
Ionut Andrei Oanca
1f57b594e6 Loosen locking logic in SyncPlayManager 2020-12-04 21:27:25 +01:00
Joshua M. Boniface
670f7cacc3 Merge pull request #4651 from crobibero/iso_manager
Remove IIsoMounter and IsoMounter
2020-12-04 14:53:09 -05:00
Ionut Andrei Oanca
cbf70e7a03 Change type of PlaylistItemId to Guid 2020-12-04 20:15:16 +01:00
crobibero
8d8738835e Use DisplayPreferencesId as ItemId 2020-12-04 09:16:38 -07:00
crobibero
60b7e49a7f Suggestions from code review 2020-12-04 08:00:55 -07:00
Claus Vium
f07a6c3c3e Merge pull request #4638 from crobibero/migration-guid
Don't die if folder doesn't have id
2020-12-04 15:24:17 +01:00
Eero Nevaluoto
958c3a3217 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2020-12-04 09:03:02 -05:00
Claus Vium
8b697060dd Merge pull request #4522 from BaronGreenback/PlugsVersionNumberFix
Set plugin version to that specified in the manifest
2020-12-04 14:10:31 +01:00
Claus Vium
dca3f62ff8 Merge branch 'master' into PlugsVersionNumberFix 2020-12-04 13:50:44 +01:00
Claus Vium
9afd19b06e Merge pull request #4648 from nyanmisaka/optimize-plugin-logs
Optimize load plugin logs
2020-12-04 13:46:06 +01:00
Claus Vium
f1cc01f324 Merge pull request #4242 from Spacetech/library_scan_speed
Increase library scan and metadata refresh speed
2020-12-04 13:17:26 +01:00
jeansebbeaulieu
cba1aced8a Translated using Weblate (French (Canada))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr_CA/
2020-12-04 01:38:22 -05:00
crobibero
b7443f6042 Optimize FavoritePersons query 2020-12-03 20:16:11 -07:00
Gary Wilber
a9367b6169 Add OnConfigurationUpdated method 2020-12-03 17:11:53 -08:00
crobibero
e765184afa Fix existing DisplayPreferences migration 2020-12-03 15:00:26 -07:00
Page Asgardius
cff2b7fed1 Translated using Weblate (Spanish (Mexico))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_MX/
2020-12-03 16:49:44 -05:00
crobibero
685c966468 Suggestion from review 2020-12-03 14:35:18 -07:00
crobibero
b0c79edd2c Add support for custom item display preferences 2020-12-03 13:51:12 -07:00
Ionut Andrei Oanca
b7eb4da04e Rename GroupController into Group 2020-12-03 21:01:18 +01:00
Ionut Andrei Oanca
7169c0a22d Move SyncPlay request DTOs to proper namespace 2020-12-03 19:01:57 +01:00
Ionut Andrei Oanca
389367fec8 Rename 'track' into 'item' in SyncPlay 2020-12-03 15:54:39 +01:00
crobibero
ca5c20c988 Remove IIsoMounter and IsoMounter 2020-12-03 07:34:15 -07:00
Nyanmisaka
d496fd2d48 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-03 21:34:25 +08:00
nyanmisaka
bbe872524d optimize load plugin logs 2020-12-03 20:12:41 +08:00
cvium
7e0ea296c3 Move request validation to auth policies 2020-12-03 10:43:44 +01:00
Claus Vium
4a3411cad1 Merge pull request #4645 from crobibero/openapi-auth-filter
Move OpenApiSecurityScheme to OperationFilter
2020-12-03 10:16:34 +01:00
Gary Wilber
2b6b2cbf31 Remove Lazy 2020-12-02 23:23:13 -08:00
Gary Wilber
74f211960a only recreate the lazy when needed 2020-12-02 23:14:18 -08:00
Claus Vium
fdd8b34cc1 Merge pull request #4636 from jellyfin/MissedOne
[Fix for 10.7] Missed a config move
2020-12-03 08:10:02 +01:00
Claus Vium
f01eff0559 Merge pull request #4647 from rhamzeh/fix/localization-add-palestine
fix: add Palestine to supported countries
2020-12-03 08:09:33 +01:00
Gary Wilber
26a05e6974 Handle config updates 2020-12-02 23:07:51 -08:00
Claus Vium
4ae62e74e9 Merge pull request #4644 from jellyfin/minor9
Minor improvements
2020-12-03 08:00:44 +01:00
Claus Vium
1d3b2e8dd6 Merge pull request #4643 from crobibero/empty-lib-null-ref
Fix null reference when getting filters of an empty library
2020-12-03 07:58:05 +01:00
Claus Vium
e042572588 Merge pull request #4633 from crobibero/guid-params
Use Guid as API parameter type where possible
2020-12-03 07:51:02 +01:00
Gary Wilber
f4edca7c27 Move MetadataRefreshThrottler to BaseItemManager 2020-12-02 18:51:53 -08:00
Raghd Hamzeh
9497530281 fix: add Palestine to supported countries 2020-12-02 21:14:37 -05:00
crobibero
7a729ea8d6 Move OpenApiSecurityScheme to OperationFilter 2020-12-02 14:59:57 -07:00
crobibero
828504e925 The future is now 2020-12-02 08:04:08 -07:00
crobibero
08be7f094a Cleaner type checking 2020-12-02 07:55:34 -07:00
Bond-009
ea20f05de4 Merge pull request #4589 from ConfusedPolarBear/id-fix
[Fix] Test query value
2020-12-02 15:55:17 +01:00
crobibero
41e127d1d2 Fix null reference when getting filters of an empty library 2020-12-02 07:42:25 -07:00
Bond_009
e4fd61411f Minor improvements 2020-12-02 15:38:52 +01:00
Fernando
5bfc5b9166 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2020-12-02 09:24:13 -05:00
crobibero
09b1e571f4 Apply suggestions from review 2020-12-02 07:11:42 -07:00
Claus Vium
3b4f86579b Merge pull request #4610 from nyanmisaka/hdr-extract
Extract tone mapped thumbnails for HDR videos
2020-12-02 09:50:54 +01:00
Joshua M. Boniface
a6199f821b Merge pull request #4169 from stanionascu/bdiso-playback
Playback (direct-stream/transcode) of BDISO/BDAV containers
2020-12-01 22:36:04 -05:00
crobibero
589625a349 Don't die if folder doesn't have id 2020-12-01 17:36:36 -07:00
Nyanmisaka
7b5285feac Apply suggestions from code review
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-12-02 08:22:07 +08:00
crobibero
b5a7a74e89 Use GetParentItem where applicable 2020-12-01 16:16:17 -07:00
Claus Vium
28373504da Merge pull request #4625 from crobibero/api-docs-description
Fix OpenApi generation for BlurHash
2020-12-02 00:04:05 +01:00
Joshua M. Boniface
513a9e2857 Merge pull request #4597 from nyanmisaka/opencl-intel
Add NEO OpenCL runtime for Intel Tone mapping
2020-12-01 18:00:49 -05:00
Claus Vium
65087a382e Merge pull request #4580 from crobibero/efcore-datetime
Specify default DateTimeKind from EFCore
2020-12-01 23:48:11 +01:00
Claus Vium
79578521b8 Merge pull request #4629 from crobibero/auth-handler
Provide NoResult instead of Fail in CustomAuthenticationHandler
2020-12-01 23:44:52 +01:00
Claus Vium
81823f9a3d Merge pull request #4628 from MrTimscampi/no-next-resumable
Prevent GetUpNext from returning episodes in progress
2020-12-01 23:01:01 +01:00
crobibero
cd459c51f3 Return NoResult only when request doesn't have a token. 2020-12-01 14:47:42 -07:00
Claus Vium
673d2c0d26 Update Emby.Server.Implementations/TV/TVSeriesManager.cs 2020-12-01 22:31:55 +01:00
BaronGreenback
6173534d33 Update Startup.cs
Missed a config move
2020-12-01 21:16:36 +00:00
crobibero
f48e47be5f Split nested conditional 2020-12-01 12:10:11 -07:00
Bill Thornton
ffd45b8df7 Merge pull request #4630 from jellyfin/uuid
Add tests for GetUuid
2020-12-01 13:40:50 -05:00
Bill Thornton
1bb4b590a7 Merge pull request #4626 from nyanmisaka/audio-bitrate
Do not extract audio stream bitrate info for videos from formatInfo
2020-12-01 13:39:29 -05:00
MrTimscampi
371092cf62 Fix possible nullref 2020-12-01 19:33:18 +01:00
MrTimscampi
7ba9ba4780 Fix typo 2020-12-01 19:26:51 +01:00
Claus Vium
afd20f69d9 Merge pull request #4632 from crobibero/muzicbrainz-xml
Fix MusicBrainz request Accept header.
2020-12-01 19:19:31 +01:00
crobibero
2055d49701 fix inverted condition 2020-12-01 11:10:56 -07:00
crobibero
821ad79992 fix spacing 2020-12-01 11:09:01 -07:00
crobibero
c083b29e29 Use Guid as API parameter type where possible 2020-12-01 11:07:41 -07:00
crobibero
b32c75fee5 Fix MusicBrainz request Accept header. 2020-12-01 09:57:13 -07:00
4d1m
f660969e6c Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2020-12-01 10:36:36 -05:00
Bond_009
f6a38e6340 Add tests for GetUuid 2020-12-01 15:12:55 +01:00
crobibero
38b3b4f867 Provide NoResult instead of Fail in CustomAuthenticationHandler 2020-12-01 06:32:46 -07:00
MrTimscampi
21a67a66d2 Prevent GetUpNext from returning episodes in progress 2020-12-01 14:23:24 +01:00
nyanmisaka
6536c81226 do not extract audio stream bitrate info for videos from formatInfo 2020-12-01 10:55:25 +08:00
Claus Vium
0a35f35311 Merge pull request #4591 from jellyfin/schedulesdirect
Clean up SchedulesDirect
2020-11-30 19:58:20 +01:00
xnick
d734deb6c1 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2020-11-30 13:00:51 -05:00
Nyanmisaka
421faabc7c Merge branch 'master' into hdr-extract 2020-12-01 00:59:21 +08:00
Bond-009
78fef80696 Merge pull request #4607 from nyanmisaka/fix-image-extraction
Fix the I-frame image extraction filter string
2020-11-30 17:47:03 +01:00
crobibero
d2d71ac3a1 Fix OpenApi generation for BlurHash 2020-11-30 08:47:52 -07:00
Bond-009
729327441d Merge pull request #4622 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-3.4.1
Bump prometheus-net.DotNetRuntime from 3.4.0 to 3.4.1
2020-11-30 16:06:30 +01:00
dependabot[bot]
d13611f7da Bump prometheus-net.DotNetRuntime from 3.4.0 to 3.4.1
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/3.4.0...3.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-30 15:06:21 +00:00
Bond-009
b3f39b1f9f Merge pull request #4623 from jellyfin/dependabot/nuget/Moq-4.15.2
Bump Moq from 4.15.1 to 4.15.2
2020-11-30 16:06:14 +01:00
Bond-009
acc75fc9cf Merge pull request #4621 from jellyfin/dependabot/nuget/ServiceStack.Text.Core-5.10.2
Bump ServiceStack.Text.Core from 5.10.0 to 5.10.2
2020-11-30 16:05:29 +01:00
Claus Vium
73b04d58ad Merge pull request #4613 from jellyfin/DLNAEventFix
[Fix] NotificationType was never set in dlna event manager
2020-11-30 15:35:47 +01:00
Bond-009
926d821298 Merge pull request #4620 from nyanmisaka/fix-transcodeReasons
Fix transcoding reasons report
2020-11-30 13:22:56 +01:00
dependabot[bot]
44edd4b1a2 Bump Moq from 4.15.1 to 4.15.2
Bumps [Moq](https://github.com/moq/moq4) from 4.15.1 to 4.15.2.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/commits/v4.15.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-30 12:01:00 +00:00
dependabot[bot]
21a2dec5b2 Bump ServiceStack.Text.Core from 5.10.0 to 5.10.2
Bumps [ServiceStack.Text.Core](https://github.com/ServiceStack/ServiceStack.Text) from 5.10.0 to 5.10.2.
- [Release notes](https://github.com/ServiceStack/ServiceStack.Text/releases)
- [Commits](https://github.com/ServiceStack/ServiceStack.Text/compare/v5.10...v5.10.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-30 12:00:45 +00:00
nyanmisaka
ea592d0256 fix trascodeReasons report 2020-11-30 18:41:59 +08:00
Ionut Andrei Oanca
b57ace7888 Address requested changes from review 2020-11-30 10:03:42 +01:00
Enes
2375bd69e4 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2020-11-29 19:20:13 -05:00
TF
21893b6abe Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2020-11-29 17:30:43 -05:00
Enes
7561eda0f0 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2020-11-29 17:30:43 -05:00
nyanmisaka
92118c2129 allow to extract music bitrate info from formatInfo 2020-11-29 22:46:26 +08:00
AJ Jordan
b528816b2a Add sudo to package dependencies
It's used in the restart.sh script.

For Debian, this is a Recommends because virtually everyone will need
this (default APT policy is to install recommended packages so this
works ok), but technically you can configure the server to run as root
and then you wouldn't need it.

For Fedora... frankly I got confused by their Weak Dependencies etc. so
I just made it a hard dependency.
2020-11-29 04:15:11 -05:00
AJ Jordan
2911dfc37d Don't restart with sudo(8) if it's not available
Some environments, like system containers, have no reason to have
sudo(8) installed. In these environments restart.sh will silently fail
because /usr/bin/sudo does not exist to execute, so test that sudo
exists and don't try to use it otherwise.

Note also that hardcoding sudo's path is wrong: it can be installed in
other places. On FreeBSD, for example, it is /usr/local/bin/sudo when
installed from ports.
2020-11-29 04:04:38 -05:00
AJ Jordan
ce82932c9a Remove useless which(1) calls in restart.sh
at(1) runs commandlines with /bin/sh anyway, which resolves paths. No
need to do it ourselves.
2020-11-29 04:04:22 -05:00
Claus Vium
93bd5e67e9 Merge pull request #4525 from crobibero/transcode-file-task-schedule
Set DeleteTranscodeFileTask to trigger every 24h
2020-11-29 10:02:25 +01:00
AJ Jordan
a4e1732e35 Fix restart.sh to look at what's actually booted
The old code was wrong because e.g. systemd can be *installed* on the
system, but not actually used as PID1. In that case we would pick
`systemctl`, but it wouldn't actually work because PID1 was some other
init system.
2020-11-29 03:43:03 -05:00
nyanmisaka
3e9cf98c30 add hdr tone mapping to image extraction 2020-11-29 13:22:42 +08:00
nyanmisaka
c2c06ae15b fix image extraction 2020-11-29 13:20:55 +08:00
nyanmisaka
bb16174936 increase the default image extraction timeout 2020-11-29 13:12:41 +08:00
BaronGreenback
a8ceb7e20b Update DlnaEventManager.cs 2020-11-28 23:45:26 +00:00
BaronGreenback
4a67267e1e Update DlnaEventManager.cs
Set notificationType
2020-11-28 23:44:19 +00:00
Telmo Duarte
e936d0872b Translated using Weblate (Portuguese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2020-11-28 17:33:37 -05:00
Telmo Duarte
304bbfd66d Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2020-11-28 17:33:37 -05:00
No Available
e52e1918c5 Translated using Weblate (Danish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2020-11-28 17:33:37 -05:00
dkanada
3e1631fed1 Merge pull request #4608 from jellyfin/enable-music
Remove deprecated flag to disable music plugins
2020-11-29 01:20:43 +09:00
Bill Thornton
162d6ee6b3 Merge pull request #4609 from Bond-009/tests4
Add more tests for JsonGuidConverter
2020-11-28 10:56:42 -05:00
Bond_009
10be618ec3 Add more tests for JsonGuidConverter 2020-11-28 16:33:57 +01:00
Bond-009
1cd3b3fc41 Merge pull request #4605 from hawken93/bugfix-libraryerror
Allow JsonGuidConverter to read null
2020-11-28 16:23:56 +01:00
Ionut Andrei Oanca
78ea8ef99e Create common interface for SyncPlay requests 2020-11-28 16:03:02 +01:00
dkanada
8b0ef119c3 remove deprecated flag to disable music plugins 2020-11-28 23:55:56 +09:00
BaronGreenback
cab78f40b3 [Fix] Possible null reference. (#4585)
Fix possible null reference.
2020-11-28 15:44:14 +01:00
Nyanmisaka
0c6efe6317 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-28 22:32:54 +08:00
Nyanmisaka
d72f3498bf fix ci 2020-11-28 21:27:55 +08:00
Ionut Andrei Oanca
c60714e365 Move query parameters to request body in SyncPlay 2020-11-28 14:20:46 +01:00
Nyanmisaka
53c91c2c14 Apply suggestions from code review
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-28 21:14:55 +08:00
nyanmisaka
d19edefbcd fix image extraction 2020-11-28 20:55:56 +08:00
cvium
ba78ad5424 Add missing inheritdoc 2020-11-28 11:24:52 +01:00
cvium
65e6211c03 Remove circular dependency between websocket listeners and manager 2020-11-28 11:21:53 +01:00
cvium
3ae39d44da Revert "Fixed SessionWebSocketListener.OnServerManagerWebSocketConnected." 2020-11-28 09:50:30 +01:00
cvium
1a0d8aef80 Revert "Removed Lazy implementation." 2020-11-28 09:50:16 +01:00
hawken
f9f0df88d5 allow JsonGuidConverter to read null 2020-11-28 09:41:06 +01:00
conashinck
f1b3811ca7 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-11-27 22:23:02 -05:00
conashinck
1458797330 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-11-27 20:33:04 -05:00
Nyanmisaka
8814d9c5ea Apply suggestions from code review
Co-authored-by: artiume <siderite@gmail.com>
2020-11-28 09:03:45 +08:00
Greenback
5cd5a7d4ce Removed Lazy implementation. 2020-11-28 00:25:20 +00:00
Greenback
a59aeb12e0 Fixed SessionWebSocketListener.OnServerManagerWebSocketConnected. 2020-11-27 23:04:13 +00:00
Matt Montgomery
185476c08a Add support for query negation 2020-11-27 16:12:16 -06:00
Claus Vium
5dc61f066d Merge pull request #4595 from MrTimscampi/clean-next-up
Don't return first episodes in next up
2020-11-27 21:03:06 +01:00
MrTimscampi
0dda909a60 Fix suggestion 2020-11-27 19:06:18 +01:00
Claus Vium
e6502503f6 Merge pull request #4594 from nyanmisaka/remove-redundant
Remove one redundant 'hwaccel vaapi' string
2020-11-27 18:23:28 +01:00
Joshua M. Boniface
c98c2ab955 Merge branch 'master' into syncplay-enhanced 2020-11-27 09:46:18 -05:00
nyanmisaka
b26a5e9e20 add NEO OpenCL runtime for Intel Tone mapping 2020-11-27 20:12:47 +08:00
MrTimscampi
c196ad3351 Don't return first episodes in next up 2020-11-27 10:25:43 +01:00
nyanmisaka
cc9e178d9a remove a redundant 'hwaccel vaapi' string 2020-11-27 16:08:44 +08:00
Joshua M. Boniface
9169a28df1 Merge pull request #4588 from jellyfin/hex
Remove Hex class as the BCL has one now
2020-11-27 01:59:58 -05:00
Bond_009
81ca6cb47c Clean up SchedulesDirect 2020-11-26 21:54:14 +01:00
WWWesten
536ac4c11c Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2020-11-26 14:23:08 -05:00
Rubikscraft
ab6a4fac91 Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2020-11-26 08:15:48 -05:00
Bond_009
38932fc7d1 Schedules Direct requires the hex to be lowercase 2020-11-26 13:21:04 +01:00
Claus Vium
32822ef9e6 Merge pull request #4582 from crobibero/music-client
Use proper Named HttpClient for MusicBrainz requests
2020-11-26 10:32:09 +01:00
Matt Montgomery
0758d84a61 Test query value 2020-11-25 16:54:16 -06:00
Bond_009
8c8a71692e Remove Hex class as the BCL has one now 2020-11-25 23:40:31 +01:00
crobibero
c4423373b6 Use proper Named HttpClient for MusicBrainz requests 2020-11-25 08:47:05 -07:00
Bill Thornton
79f197938d Merge pull request #4570 from nyanmisaka/tonemap-vaapi
Add Tonemapping for Intel VAAPI
2020-11-25 10:45:52 -05:00
crobibero
6c0188c42b Fix efcore not returning a UTC DateTime 2020-11-25 07:44:11 -07:00
Bond-009
3d6920ae40 Merge pull request #4574 from jellyfin/revert-4553-enable-service-on-fedora
Revert "Enable jellyfin.service unit on Fedora fresh install"
2020-11-25 14:08:18 +01:00
nextlooper42
abf0f85123 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2020-11-25 06:09:06 -05:00
Claus Vium
e86385b74d Merge pull request #4575 from crobibero/null-ref
Don't throw null reference if ContentType is null.
2020-11-25 08:20:57 +01:00
Ignatius Bagus
8275a5d635 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-11-25 00:26:24 -05:00
Nyanmisaka
b042a9f539 minor changes 2020-11-25 10:33:16 +08:00
Bill Thornton
42e90893cd Merge pull request #4517 from BaronGreenback/pluginMessageFix
[Fix] Fixed Plugin versioning in browser notifications
2020-11-24 20:35:40 -05:00
nextlooper42
4edbd6d182 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2020-11-24 20:34:40 -05:00
Bill Thornton
94ddfda6e5 Merge pull request #4563 from crobibero/playback-info
Fix sending PlaybackInfo
2020-11-24 20:34:32 -05:00
crobibero
0acea5b077 Don't throw null reference if ContentType is null. 2020-11-24 16:42:27 -07:00
volodymyr
49eadd3246 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-11-24 18:29:13 -05:00
nextlooper42
9b2999237f Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2020-11-24 18:29:13 -05:00
Joshua M. Boniface
922b02733b Revert "Enable jellyfin.service unit on Fedora fresh install" 2020-11-24 17:25:50 -05:00
nextlooper42
9534f55eb0 Translated using Weblate (Slovak)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2020-11-24 13:58:27 -05:00
Nyanmisaka
44dc1c3729 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-24 16:27:46 +00:00
Nyanmisaka
75963d9181 enable cl-va p010 interop 2020-11-24 23:25:32 +08:00
Nyanmisaka
9c703a75ec disable graphical subs burn-in when tonemapping 2020-11-24 23:10:34 +08:00
Oatavandi
f8229529ab Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-11-24 09:56:04 -05:00
nyanmisaka
bee69e409b add tonemapping for intel vaapi
hwdec->scale->tonemap->hwenc

hwdec->scale->tonemap->textsubs->hwenc

* grapical subs requires overlay_vaapi, but it's still in ffmpeg mailing list.
2020-11-24 22:09:13 +08:00
Mikko Puntanen
eefb192584 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2020-11-24 06:27:38 -05:00
CutterXYZ
9b14e7d6e4 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2020-11-24 06:27:38 -05:00
Cromefire_
7aef0fce44 Use consistent style 2020-11-24 12:24:42 +01:00
Cromefire_
7396fcfb84 Removed bash style vars 2020-11-24 12:23:44 +01:00
hoanghuy309
29e686b042 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-11-24 05:33:59 -05:00
Claus Vium
4ce9bf3fcf Merge pull request #4568 from crobibero/guid-empty
Serialize Guid.Empty to null
2020-11-24 09:04:47 +01:00
BaronGreenback
50e375020a [Fix] NetworkManager binding to [::] (#4549)
* Autodiscovery enable/disable patch

* Fixed [::] issue on bind. Altered test.

* Update UdpServerEntryPoint.cs

* Update Jellyfin.Networking.Tests.csproj

* Update Jellyfin.Networking.Tests.csproj

* Update INetworkManager.cs
2020-11-24 06:11:02 +01:00
BaronGreenback
6676ca4d1b Remove ResourceFileManager (#4567) 2020-11-24 06:06:36 +01:00
crobibero
c4925ad70b Serialize Guid.Empty to null 2020-11-23 16:07:15 -07:00
Antonio Sarro
41b3a7869e Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2020-11-23 15:05:44 -05:00
Bill Thornton
e428614d00 Merge pull request #4550 from crobibero/plugin-repo
Handle invalid plugins
2020-11-23 14:17:51 -05:00
Cromefire_
1897455004 Update debian/conf/jellyfin
Co-authored-by: Odd Stråbø <oddstr13@openshell.no>
2020-11-23 20:17:40 +01:00
Bill Thornton
2d415374d6 Merge pull request #4562 from crobibero/playback-stop-notification
Don't send activity event if notification type is null
2020-11-23 14:16:03 -05:00
Bill Thornton
4f96e2f256 Merge pull request #4554 from joshuaboniface/fix-restart
Run explicit service start if restart failed
2020-11-23 14:15:18 -05:00
Bill Thornton
b187fe6fcb Merge pull request #4553 from joshuaboniface/enable-service-on-fedora
Enable jellyfin.service unit on Fedora fresh install
2020-11-23 14:14:01 -05:00
crobibero
1dafd70f51 Don't nest DeviceProfile 2020-11-23 10:50:18 -07:00
crobibero
fafddfc45e Add TODO notice 2020-11-23 09:51:24 -07:00
crobibero
f336d20b06 Fix sending PlaybackInfo 2020-11-23 09:49:42 -07:00
crobibero
5de8c249a0 Don't send activity event if notification type is null 2020-11-23 08:18:07 -07:00
dkanada
02c1879533 Merge pull request #4551 from crobibero/fix-name-cleaning
Only trim file name if folder name is shorter
2020-11-23 22:34:17 +09:00
dkanada
347d04efad Merge pull request #4557 from crobibero/client-dto-fix
Fix namespace and add attribute for ClientCapabilitiesDto
2020-11-23 17:49:57 +09:00
crobibero
3bff1ff8a2 Fix namespace and add attribute 2020-11-22 18:46:55 -07:00
Joshua M. Boniface
91dd95faa3 Add at to the dependencies on Fedora (as in Deb) 2020-11-22 18:32:34 -05:00
Joshua M. Boniface
6de79e03a2 Go back to at with lower sleep and start 2020-11-22 18:32:16 -05:00
Joshua M. Boniface
97665c9478 Remove the at now hack 2020-11-22 17:19:39 -05:00
Joshua M. Boniface
1079ddb46c Run explicit service start if restart failed
Should solve the occasional bugs with the restart in the WebUI.
Sometimes the service stops and then doesn't start again; this will run
an explicit start action afterwards. If this doesn't fix it I'm certain
there would be more tweaking that can be done.
2020-11-22 17:12:29 -05:00
Joshua M. Boniface
5f135a4b46 Use --now to the enable to start too 2020-11-22 17:01:13 -05:00
Joshua M. Boniface
be4e485bd3 Make use of the $1 flag to set installed only 2020-11-22 16:58:07 -05:00
Joshua M. Boniface
d88504c1d6 Set systemctl enabled on Jellyfin service
This was not set for Fedora; I do not recall if this was just an oversight or was
explicitly removed in the past; open to feedback there.

Reported in the LUP Bug-A-Thon
2020-11-22 16:49:12 -05:00
crobibero
20251e670f Fix tests 2020-11-22 14:39:34 -07:00
crobibero
2aefe9ed5a Only trim file name if folder name is shorter 2020-11-22 14:17:42 -07:00
crobibero
c5f5633ec6 Handle invalid plugins 2020-11-22 12:35:45 -07:00
Joshua M. Boniface
3442dbbaf9 Merge pull request #4545 from BaronGreenback/17.0RC0---Fix1
[Fix] Null Pointer in TmdbMovieProvider
2020-11-22 13:49:58 -05:00
Joshua M. Boniface
8ec4dda9d1 Merge pull request #4544 from BaronGreenback/MinorFix
[Fix] Config option read from wrong place.
2020-11-22 13:49:26 -05:00
Joshua M. Boniface
f39e55e2e5 Merge pull request #4548 from orryverducci/mkv-interlaced-fix
Revert "Fix frame rate probing for interlaced MKV files"
2020-11-22 13:06:10 -05:00
Orry Verducci
812300ad33 Revert "Fix frame rate probing for interlaced MKV files"
This reverts commit 84fd5a0953.
2020-11-22 16:54:41 +00:00
Greenback
fe3e22be98 Null Pointer 2020-11-22 13:11:05 +00:00
BaronGreenback
dfee591c2a Update Startup.cs
Late night
2020-11-22 12:06:39 +00:00
BaronGreenback
a34fca6f8e Update Startup.cs 2020-11-22 11:40:50 +00:00
Joshua M. Boniface
a57b99bffd Merge pull request #4125 from BaronGreenback/NetworkPR2
Networking 2 (Cumulative PR) - Swapping over to new NetworkManager
2020-11-22 01:11:02 -05:00
Joshua M. Boniface
2c9e355e42 Merge branch 'master' into NetworkPR2 2020-11-21 23:28:15 -05:00
hoanghuy309
c1db8869f0 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-11-21 23:08:01 -05:00
Joshua M. Boniface
09c7f98162 Merge pull request #4263 from cvium/defer_image_fetching
Defer image pre-fetching until the end of a refresh/scan
2020-11-21 18:54:08 -05:00
BaronGreenback
969b9e2a18 Update ImageFetcherPostScanTask.cs 2020-11-21 23:33:41 +00:00
BaronGreenback
d3b0080a27 Update MetadataService.cs
added return Task.CompletedTask;
2020-11-21 23:29:52 +00:00
BaronGreenback
79855a76b1 Update MetadataService.cs
removed async line 232
2020-11-21 23:21:15 +00:00
BaronGreenback
e8cb9cea7d Merge branch 'master' into library_scan_speed 2020-11-21 22:54:40 +00:00
Joshua M. Boniface
77dba0d06b Merge pull request #3053 from rigtorp/video-resolver
Add additional resolver tests
2020-11-21 17:47:05 -05:00
Joshua M. Boniface
d5eb7e786f Merge pull request #4182 from ryanpetris/fix-hdhomerun
Fix HD Home Run streaming
2020-11-21 17:22:19 -05:00
Joshua M. Boniface
bf54b5579c Merge branch 'master' into defer_image_fetching 2020-11-21 17:20:31 -05:00
Joshua M. Boniface
b707d8e09d Merge pull request #4486 from crobibero/split-api
Remove api client generator errors
2020-11-21 17:19:08 -05:00
Joshua M. Boniface
da96cbaf78 Merge pull request #4510 from crobibero/http-accept-header
Set default request accept headers
2020-11-21 17:18:49 -05:00
Joshua M. Boniface
f6c842e7b3 Merge pull request #4513 from BaronGreenback/LatestPluginSelected
Multi-repository plugins
2020-11-21 17:18:19 -05:00
Joshua M. Boniface
509a4d0900 Merge pull request #4526 from crobibero/mark-played
Fix marking item as played
2020-11-21 17:17:44 -05:00
Claus Vium
fab03942f5 Merge pull request #4537 from crobibero/session-caps-full
Convert ClientCapabilities to a Dto with JsonConverters
2020-11-21 21:34:58 +01:00
Greenback
dc1ad3fe2a Better named tests methods. 2020-11-21 20:31:24 +00:00
Joshua M. Boniface
1e6539d0dc Merge pull request #4539 from crobibero/nullable-enum-model-binder
Add NullableEnumModelBinder and NullableEnumModelBinderProvider
2020-11-21 15:14:59 -05:00
Joshua M. Boniface
eb90b20fe3 Merge pull request #4534 from Bond-009/bom
Remove UTF8 bom from some files
2020-11-21 15:14:27 -05:00
BaronGreenback
1e13627a94 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:05:31 +00:00
BaronGreenback
3f2c331755 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:05:11 +00:00
BaronGreenback
c3fa9d00ae Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:04:58 +00:00
BaronGreenback
e33200db71 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:04:16 +00:00
BaronGreenback
c14f468099 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:04:02 +00:00
BaronGreenback
acb79eb56a Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:02:36 +00:00
BaronGreenback
b4e7032872 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:02:19 +00:00
BaronGreenback
13162184f4 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:01:58 +00:00
BaronGreenback
5ac25364db Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:01:01 +00:00
BaronGreenback
ac03516f89 Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:00:37 +00:00
BaronGreenback
23fa9533af Update tests/Jellyfin.Networking.Tests/NetworkTesting/NetworkParseTests.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 20:00:17 +00:00
Greenback
5224200e8c Fixed baseurl in dlna. 2020-11-21 19:50:40 +00:00
Joshua M. Boniface
a597673929 Merge pull request #4538 from mario-campos/master
Implement CodeQL Static Analysis
2020-11-21 14:42:36 -05:00
crobibero
40531db1ae Add NullableEnumModelBinder and NullableEnumModelBinderProvider 2020-11-21 11:58:35 -07:00
crobibero
c8c5feacb6 Convert ClientCapabilities to a Dto with JsonConverters 2020-11-21 11:37:22 -07:00
Mario Campos
f17e95abea Update codeql-analysis.yml 2020-11-21 12:21:58 -06:00
Mario Campos
e2aa7635bd Update codeql-analysis.yml 2020-11-21 12:03:09 -06:00
Mario Campos
2f00d05eae Create codeql-analysis.yml 2020-11-21 11:49:52 -06:00
Greenback
9b5ae690c1 renamed file. 2020-11-21 16:17:26 +00:00
Greenback
e41d1773ba changes 2020-11-21 16:14:03 +00:00
BaronGreenback
7403b9a9e5 Update tests/Jellyfin.Networking.Tests/NetworkTesting/UnitTesting.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 16:10:35 +00:00
BaronGreenback
46e6128f6c Update tests/Jellyfin.Networking.Tests/NetworkTesting/UnitTesting.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 16:08:19 +00:00
BaronGreenback
56754a2af2 Update tests/Jellyfin.Networking.Tests/NetworkTesting/UnitTesting.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 16:03:25 +00:00
BaronGreenback
ead881d487 Update tests/Jellyfin.Networking.Tests/NetworkTesting/UnitTesting.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 16:03:16 +00:00
BaronGreenback
8f25eaeb9d Update Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-21 16:02:54 +00:00
Greenback
086e2fdaa1 Fixed a couple of merge errors. 2020-11-21 14:09:56 +00:00
Greenback
33f6b13d4f Moved INetworkManager 2020-11-21 14:05:28 +00:00
Greenback
c4753cec6c Fixed merge. 2020-11-21 14:05:09 +00:00
Greenback
616caca2b7 Added more comments. 2020-11-21 13:27:27 +00:00
Bond_009
f5973d57e8 Remove UTF8 bom from some files 2020-11-21 14:26:03 +01:00
BaronGreenback
05bd1383c1 Null pointer fix. (#4527)
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-11-21 14:22:23 +01:00
Claus Vium
937e2a84e8 Merge pull request #4533 from Bond-009/nullref3
Fix nullref
2020-11-21 14:14:12 +01:00
BaronGreenback
124bd4c2c0 Networking: 1 - Network Manager (#4124)
* NetworkManager

* Config file with additional options.

* Update Jellyfin.Networking/Manager/INetworkManager.cs

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

* Update Jellyfin.Networking/Manager/INetworkManager.cs

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

* Update MediaBrowser.Model/Configuration/ServerConfiguration.cs

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

* Update MediaBrowser.Model/Configuration/ServerConfiguration.cs

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

* Update MediaBrowser.Model/Configuration/ServerConfiguration.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Split function.

* Update Jellyfin.Networking/Manager/INetworkManager.cs

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

* fixed iterations

* Update Jellyfin.Networking.csproj

* Update NetworkManager.cs

* Updated to NetCollection 1.03.

* Update ServerConfiguration.cs

* Update StartupController.cs

* Update INetworkManager.cs

Removed public

* Update INetworkManager.cs

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Updated comment

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/INetworkManager.cs

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

* Remove mono code.
Removed forced chromecast option

* Inverted if

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Moved config into a separate container

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Changed sortedList to dictionary.

* Update INetworkManager.cs

Changed UpdateSettings param type

* Update NetworkManager.cs

* Update NetworkManager.cs

* Update NetworkManager.cs

* Update NetworkConfiguration.cs

* Update INetworkManager.cs

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update MediaBrowser.Model/Configuration/ServerConfiguration.cs

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

* Update MediaBrowser.Model/Configuration/ServerConfiguration.cs

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

* Updated changes github didn't update.

* Fixed compilation.

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Removed read locking.

* Update NetworkManager.cs

Changed configuration event to NamedConfigurationUpdated

* updated comment

* removed whitespace

* Updated NetCollection to 1.0.6
Updated DXCopAnalyser to 3.3.1

* removed NetCollection

* Update NetworkManager.cs

* Update NetworkExtensions.cs

* Update NetworkExtensions.cs

Removed function.

* Update NetworkExtensions.cs

* Update NetworkManager.cs

Changed ToString() to AsString() as native collection formats incorrectly.

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update NetworkExtensions.cs

* Update Jellyfin.Networking/Configuration/NetworkConfiguration.cs

Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>

* Update Jellyfin.Networking/Manager/NetworkManager.cs

Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>

* Update Jellyfin.Networking/Configuration/NetworkConfiguration.cs

Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>

* Update Jellyfin.Networking/Configuration/NetworkConfiguration.cs

Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>

* Update MediaBrowser.Common/Net/IPObject.cs

Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>

* updated

* Replaced NetCollection with Collection<IPObject>

* Update MediaBrowser.Common/Net/NetworkExtensions.cs

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

* Update MediaBrowser.Model/Configuration/PathSubstitution.cs

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

* Update MediaBrowser.Common/Net/NetworkExtensions.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update MediaBrowser.Common/Net/IPObject.cs

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

* Update MediaBrowser.Common/Net/IPObject.cs

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

* Update MediaBrowser.Common/Net/IPObject.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update MediaBrowser.Common/Net/IPHost.cs

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

* Update MediaBrowser.Common/Net/IPObject.cs

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

* Update MediaBrowser.Common/Net/IPObject.cs

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

* updated comments.

* Updated comments / changes as suggested by @crobibero.

* Split function as suggested

* Fixed null ref.

* Updated comment.

* Updated cs to .net5

* Fixed issue with PublishedServerUrl

* Fixes

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Restored locking

* optimisation

* Added comment

* updates.

* updated.

* updates

* updated.

* Update IPHost.cs

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Update NetworkManager.cs

* Removed whitespace.

* Added debug logging

* Added debug.

* Update Jellyfin.Networking/Manager/NetworkManager.cs

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

* Replaced GetAddressBytes

Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-11-21 13:59:14 +01:00
Bond_009
c01042b355 Fix nullref 2020-11-21 12:28:32 +01:00
BaronGreenback
7a6063ed41 Merge branch 'master' into NetworkPR2 2020-11-21 00:35:53 +00:00
Greenback
9a9b2bfb2e Updated to the latest 2020-11-21 00:34:09 +00:00
Greenback
eed1a40b19 Fixed tests 2020-11-20 19:18:18 +00:00
Greenback
972ed3ccfe fix. 2020-11-20 18:56:36 +00:00
crobibero
b0be434ba6 Revert unused change 2020-11-20 11:28:45 -07:00
crobibero
f512d5167d Remove broken CleanDateTimes regex 2020-11-20 11:27:37 -07:00
crobibero
5b8e248d72 Merge remote-tracking branch 'upstream/master' into video-resolver 2020-11-20 11:21:24 -07:00
crobibero
20dcb7d5c3 Merge branch 'video-resolver' of github.com:rigtorp/jellyfin into video-resolver 2020-11-20 11:21:03 -07:00
crobibero
b3d322f79f Fix build after merge 2020-11-20 10:50:11 -07:00
crobibero
8f58f63b08 Merge remote-tracking branch 'upstream/master' into split-api 2020-11-20 10:35:46 -07:00
Joshua M. Boniface
d2cef78db3 Merge pull request #4339 from BaronGreenback/PluginConfigSave
Making default Plugin configurations accessible when developing.
2020-11-20 12:34:38 -05:00
Joshua M. Boniface
7457c4a95d Merge pull request #4499 from crobibero/more-param
Reduce RequestHelpers.Split usage and remove RequestHelpers.GetGuids
2020-11-20 12:34:18 -05:00
Joshua M. Boniface
799eb44005 Merge pull request #4514 from Artiume/patch-9
Update FFmpeg log
2020-11-20 12:34:10 -05:00
Joshua M. Boniface
a1707739d6 Merge pull request #4515 from barronpm/dont-store-capabilities
Clean up DeviceManager and Don't Store Capabilities on Disk
2020-11-20 12:33:58 -05:00
Joshua M. Boniface
c901f1da41 Merge pull request #4518 from crobibero/livetv-hls
Fix live tv hls playback
2020-11-20 12:33:48 -05:00
crobibero
2f75f84b6f Fix marking item as played 2020-11-20 10:22:40 -07:00
crobibero
7e7d027bb0 Merge remote-tracking branch 'upstream/master' into transcode-file-task-schedule 2020-11-20 08:25:45 -07:00
BaronGreenback
b879fb615e Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-20 15:19:46 +00:00
Joshua M. Boniface
de2f4967d1 Merge pull request #4524 from crobibero/test-5.0
Use sdk 5.x
2020-11-20 10:19:30 -05:00
crobibero
bf66f57069 Set DeleteTranscodeFileTask to trigger every 24h 2020-11-20 08:12:38 -07:00
crobibero
f727f5dd72 Use sdk 5.x 2020-11-20 07:52:10 -07:00
Joshua M. Boniface
b15efc84ed Merge pull request #4523 from crobibero/test-5.0
Set sdk version to 5.0
2020-11-20 09:52:01 -05:00
crobibero
182a68f3dd Set sdk version to 5.0 2020-11-20 07:50:04 -07:00
Greenback
d6b0a939f7 fixed 2020-11-20 14:14:00 +00:00
Csaba
2f9e549c35 Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2020-11-20 09:10:04 -05:00
Greenback
32b92641fb Get version info the manifest. 2020-11-20 14:03:27 +00:00
Decoy7
d630534615 Translated using Weblate (Greek)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/el/
2020-11-20 08:59:33 -05:00
BaronGreenback
47f3bb33f9 Update BasePlugin.cs 2020-11-20 09:03:11 +00:00
Claus Vium
84fe046226 Merge pull request #4432 from nyanmisaka/fmp4-hls
Add initial support for HEVC over FMP4-HLS
2020-11-20 08:17:05 +01:00
Claus Vium
44ff7a4843 Apply suggestions from code review 2020-11-20 08:06:28 +01:00
Claus Vium
8b23c4e241 Merge pull request #4519 from crobibero/datetime-iso8601
Write DateTimes in ISO8601 format for backwards compatibility.
2020-11-20 07:38:53 +01:00
Gary Wilber
4a22380565 Merge remote-tracking branch 'upstream/master' into library_scan_speed 2020-11-19 18:44:16 -08:00
Gary Wilber
d6585e7ff2 Upgrade System.Threading.Tasks.Dataflow 2020-11-19 18:42:41 -08:00
nyanmisaka
b4598bd71b Merge remote-tracking branch 'upstream/master' into fmp4-hls 2020-11-20 10:01:17 +08:00
nyanmisaka
ca33ace3e9 rename 2020-11-20 09:57:28 +08:00
Marcin Woliński
90e4066b12 Translated using Weblate (Polish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2020-11-19 20:43:36 -05:00
artiume
6a751251e7 Update Jellyfin.Api/Helpers/TranscodingJobHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-19 19:45:26 -05:00
crobibero
f557a730bb Write DateTimes in ISO8601 format for backwards compatibility. 2020-11-19 17:33:51 -07:00
artiume
a46b70b169 Truncate GUID to 8 char 2020-11-19 19:23:04 -05:00
crobibero
d58e435409 Add response code documentation 2020-11-19 16:16:23 -07:00
crobibero
fe8531f74e Fix live tv hls playback 2020-11-19 16:15:20 -07:00
Claus Vium
c30e583201 Merge pull request #4501 from ferferga/no-scaling
Don't scale extracted images and ffmpeg improvements
2020-11-19 23:59:24 +01:00
Fernando Fernández
e21e00cad5 Merge remote-tracking branch 'upstream/master' into no-scaling 2020-11-19 23:18:25 +01:00
artiume
3423bdf53a Update Jellyfin.Api/Helpers/TranscodingJobHelper.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-19 15:51:58 -05:00
Joshua M. Boniface
b5ff91c281 Merge pull request #4298 from crobibero/bye-tvdb
Remove TheTVDB plugin from server source.
2020-11-19 14:25:12 -05:00
Greenback
084d21cade Updated contributors. 2020-11-19 18:27:30 +00:00
Greenback
a3e47f3e4e Updated to latest Unstable. 2020-11-19 18:27:18 +00:00
BaronGreenback
9c3e484c0e Update BasePlugin.cs 2020-11-19 18:14:38 +00:00
Joshua M. Boniface
212c5318ae Merge pull request #4507 from BaronGreenback/Spelling
Corrects spelling in comments
2020-11-19 13:08:28 -05:00
Joshua M. Boniface
75d4a573a3 Merge pull request #4137 from BaronGreenback/Comment2
DLNA ConnectionManager - static and commented.
2020-11-19 13:03:37 -05:00
Greenback
c4d8926426 Fixed notification 2020-11-19 17:55:31 +00:00
JoJoBot420
d8a3448a97 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2020-11-19 12:50:00 -05:00
hoanghuy309
e71ab2afb1 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-11-19 11:00:13 -05:00
Oatavandi
28f8cb6ea5 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-11-19 11:00:13 -05:00
nyanmisaka
b02ceea91b increase bitrate to 20Mbps for 1440p transcoding 2020-11-19 23:56:04 +08:00
Greenback
14fc7e6408 revert changes. 2020-11-19 15:40:20 +00:00
Greenback
452ca4565f reversing other PR 2020-11-19 15:39:00 +00:00
Fernando Fernández
2deda0437d Review suggestions 2020-11-19 16:36:19 +01:00
nyanmisaka
20d6999d8c minor changes 2020-11-19 23:04:44 +08:00
Nyanmisaka
5ff08338d5 Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-19 15:02:36 +00:00
Claus Vium
456ae32331 Merge pull request #4516 from oddstr13/fix-plugin-cleanup
Fix plugin old version cleanup
2020-11-19 15:54:36 +01:00
Odd Stråbø
f8dd50fc1a Fix plugin old version cleanup 2020-11-19 15:50:34 +01:00
nyanmisaka
51dab0958d changes per suggestions 2020-11-19 22:46:02 +08:00
Greenback
31980e6f87 Fixed issue with plugins being deleted. 2020-11-19 14:40:06 +00:00
Patrick Barron
5790db05ba Clean up DeviceManager and don't store capabilities on disk 2020-11-19 09:38:54 -05:00
crobibero
c53b4f5547 Add xml and quality 2020-11-19 07:35:34 -07:00
Greenback
1df58fbaa0 updated 2020-11-19 14:12:33 +00:00
Claus Vium
15b9f993c6 Merge pull request #4342 from crobibero/base-item-manager
Add BaseItemManager
2020-11-19 14:58:48 +01:00
artiume
e6e7295320 oops 2020-11-19 08:58:16 -05:00
artiume
4e07d9d561 Update FFmpeg log 2020-11-19 08:49:21 -05:00
Greenback
18855a7884 Initialial upload 2020-11-19 13:34:09 +00:00
BaronGreenback
ef05485243 Merge branch 'master' into PluginConfigSave 2020-11-19 09:04:49 +00:00
BaronGreenback
3ffdcfdb80 Update BasePlugin.cs 2020-11-19 09:03:03 +00:00
Claus Vium
49ebbcf87e Merge pull request #4509 from crobibero/plugin-save-null-ref
Fix null reference when saving plugin configuration
2020-11-19 09:02:58 +01:00
crobibero
c2d2c571e7 Set default request accept headers 2020-11-18 18:20:31 -07:00
crobibero
d608ab8042 Fix null reference when saving plugin configuration 2020-11-18 09:29:18 -07:00
Nyanmisaka
fbcf3b750d Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2020-11-18 10:05:49 -05:00
BaronGreenback
4c394eec90 Update Jellyfin.Api/Controllers/LiveTvController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-18 14:08:44 +00:00
BaronGreenback
7a26f64c7b Update Device.cs 2020-11-18 13:48:31 +00:00
Greenback
9a323f6df0 More spelling corrections. 2020-11-18 13:46:14 +00:00
Greenback
e51ddd326c Fixes spelling. 2020-11-18 13:23:45 +00:00
Ionut Andrei Oanca
9c20701cf6 Correct typos 2020-11-18 13:28:35 +01:00
Fernando Fernández
38c3b6fcd3 Fix build and thread detection logic 2020-11-18 10:20:59 +01:00
dkanada
742966573d Merge pull request #4503 from jellyfin/cancellation
Pass cancellation where possible
2020-11-18 13:46:13 +09:00
crobibero
1831b6cbab Remove tvdb migration. 2020-11-17 16:39:47 -07:00
HDmaniac
a8524be6be Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2020-11-17 16:29:36 -05:00
danielxb-ar
316b18e8f2 Translated using Weblate (Spanish (Argentina))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_AR/
2020-11-17 16:29:36 -05:00
Moritz
b91afdb56f Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2020-11-17 16:29:36 -05:00
Bill Thornton
26d95d19b4 Merge pull request #4504 from crobibero/startup-wiz
Fix Environment authorization policy
2020-11-17 15:56:12 -05:00
crobibero
f6c6ee2008 Fix Environment authorization policy 2020-11-17 13:44:51 -07:00
Bond_009
4b1c9dc9ea Pass cancellation where possible 2020-11-17 19:43:00 +01:00
crobibero
5b62f70bc0 Update exception handle comment 2020-11-17 09:57:08 -07:00
Anthony Lavado
08c2c86bc7 Merge pull request #4490 from jellyfin/dependabot/nuget/Mono.Nat-3.0.1
Bump Mono.Nat from 3.0.0 to 3.0.1
2020-11-17 11:52:36 -05:00
Anthony Lavado
4a70bc72ab Merge pull request #4489 from jellyfin/dependabot/nuget/PlaylistsNET-1.1.3
Bump PlaylistsNET from 1.1.2 to 1.1.3
2020-11-17 11:52:20 -05:00
Anthony Lavado
28da945fe0 Merge pull request #4488 from jellyfin/dependabot/nuget/Moq-4.15.1
Bump Moq from 4.14.7 to 4.15.1
2020-11-17 11:52:06 -05:00
crobibero
7bf647bb94 Remove precondition checks 2020-11-17 09:38:50 -07:00
Fernando Fernández
94cae4f145 Specify threads to ffmpeg properly 2020-11-17 16:44:04 +01:00
Joshua M. Boniface
ff57434d4b Merge pull request #4502 from crobibero/compres
Use ALL the decompression methods
2020-11-17 10:30:01 -05:00
Joshua M. Boniface
e0f60847c0 Merge pull request #4361 from ssenart/feature/4360-transcoding_flac_downsampling
Add FLAC and define the corresponding target sample rate
2020-11-17 10:29:29 -05:00
Joshua M. Boniface
f6ebdbc45e Merge pull request #4456 from martinek-stepan/emby-namig-nullable
Emby.Naming - nullable & code coverage
2020-11-17 10:28:39 -05:00
martinek-stepan
04a712ab1d Update Emby.Naming/Video/VideoFileInfo.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-11-17 15:11:32 +01:00
Cody Robibero
08279e91ba Update MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs 2020-11-17 07:08:22 -07:00
crobibero
5fa4cce4cc Use ALL the decompression methods. 2020-11-17 06:57:25 -07:00
Fernando Fernández
d7cdaeea7d Use all system cores when threads are set to auto or bigger than the amount of system's cores 2020-11-17 14:26:05 +01:00
Fernando Fernández
a6ad36b57a Don't scale images extracted by ffmpeg 2020-11-17 14:20:18 +01:00
Stepan
d481c35cad Merge fix 2020-11-17 13:06:56 +01:00
Thomas Schwery
fc3d6278be Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2020-11-17 05:36:46 -05:00
Sverre
7cbcce0638 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2020-11-17 05:04:26 -05:00
Lukáš Kucharczyk
bb46f24bb3 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2020-11-17 05:04:26 -05:00
Anthony Lavado
c8e41adfeb Merge pull request #4500 from oddstr13/nuget-bump-net5.0
Use .NET 5.0 in Nuget pipeline
2020-11-17 00:17:08 -05:00
Odd Stråbø
c770b9e0c6 Use .NET 5.0 in the Nuget pipeline 2020-11-17 05:28:26 +01:00
crobibero
3b68ce1183 Fix build 2020-11-16 20:45:09 -07:00
crobibero
2a0578ce1a Add missing manual splits 2020-11-16 20:37:43 -07:00
crobibero
3cc0dd7e12 Reduce RequestHelpers.Split usage and remove RequestHelpers.GetGuids usage. 2020-11-16 20:29:46 -07:00
Anthony Lavado
ad719b7ac6 Merge pull request #4460 from yodatak/patch-1
Bump dependencies to Fedora 33
2020-11-16 22:03:49 -05:00
Odd Stråbø
001bf95d10 Fedora: install systemd as build dependency 2020-11-17 03:56:17 +01:00
Bill Thornton
be0ddf02b3 Merge pull request #4475 from crobibero/npm-ci-remove-v2
Fix api client ci condition
2020-11-16 20:16:38 -05:00
Joshua M. Boniface
47bfbb1377 Merge pull request #4497 from crobibero/docker-pls
Fix docker and centos builds
2020-11-16 19:44:49 -05:00
Cody Robibero
be3c65d80f Merge branch 'master' into docker-pls 2020-11-16 17:07:06 -07:00
crobibero
1d96167e8d Fix builders 2020-11-16 17:05:31 -07:00
Ygor Lhano
7b42b7e8bd Translated using Weblate (Portuguese (Brazil))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2020-11-16 18:45:58 -05:00
Joshua M. Boniface
d7b42e47d1 Merge pull request #4493 from crobibero/hey-buster
Fix dockerfiles
2020-11-16 18:37:16 -05:00
Joshua M. Boniface
e86db484ef Merge pull request #4136 from BaronGreenback/Comment1
DLNA Classes - No code change, just added commenting to classes.
2020-11-16 17:11:20 -05:00
Joshua M. Boniface
355c0c802f Merge pull request #4138 from BaronGreenback/Comment3
DLNA ContentManager - static and commented.
2020-11-16 17:09:22 -05:00
BaronGreenback
2bbfcc264d Merge branch 'master' into emby-namig-nullable 2020-11-16 19:47:36 +00:00
Greenback
60a6627140 Removing left over edits left from the acceptance of previous PR's. 2020-11-16 19:45:21 +00:00
Greenback
978aa38f3b Updated PR1 code. 2020-11-16 19:37:38 +00:00
Ionut Andrei Oanca
426e258f1f Improve locking logic in SyncPlay manager 2020-11-16 20:25:13 +01:00
Ionut Andrei Oanca
a3ca36cb54 Review logging and minor changes in SyncPlay 2020-11-16 20:05:57 +01:00
Greenback
979de240cb Updated tests to .Net5 2020-11-16 17:30:27 +00:00
Greenback
9481fd0747 Upgraded to .Net5 2020-11-16 17:17:49 +00:00
BaronGreenback
d66f88672c Merge branch 'master' into NetworkPR2 2020-11-16 16:27:37 +00:00
Claus Vium
dc0e353b96 Merge pull request #4494 from nyanmisaka/hdr-title
Add video range info to the title
2020-11-16 16:48:26 +01:00
nyanmisaka
5fe4ea2f4a add video range info to title 2020-11-16 21:41:08 +08:00
Claus Vium
d53f97d803 Merge pull request #4480 from crobibero/http-exception
Remove custom HttpException
2020-11-16 07:47:21 +01:00
Bill Thornton
84b0932cfe Merge pull request #4485 from crobibero/update-user-cache
Update user cache after updating user.
2020-11-16 00:49:53 -05:00
nyanmisaka
099563cd6b comply with dotnet-5 2020-11-16 12:56:37 +08:00
nyanmisaka
488dbdb31d Merge remote-tracking branch 'upstream/master' into fmp4-hls 2020-11-16 12:36:55 +08:00
crobibero
e2e10e672f User buster-slim instead of non existent buster 2020-11-15 21:08:02 -07:00
Ryan Petris
8204b25a56 Merge branch 'master' into fix-hdhomerun 2020-11-15 19:55:30 -07:00
Ryan Petris
81d5eb4db5 Return a Task object and discard it instead of using async void. 2020-11-15 19:44:11 -07:00
Joshua M. Boniface
8d1d77db94 Merge pull request #4487 from crobibero/build-upgrade
Upgrade all netcore3.1 to net5.0
2020-11-15 20:04:58 -05:00
Joshua M. Boniface
8722c1b7f6 Merge pull request #4492 from Artiume/patch-5
update dotnet 5.0 buster image
2020-11-15 20:04:44 -05:00
artiume
d76afb209f update dotnet 5.0 image
Step 5/23 : FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-buster as builder                             
manifest for mcr.microsoft.com/dotnet/sdk:5.0-buster not found: manifest unknown: manifest tagged by "5.0-buster" is not found

arm not tested
2020-11-15 18:48:59 -05:00
crobibero
3432db4998 dedup migration 2020-11-15 13:51:09 -07:00
dependabot[bot]
24839e6890 Bump Mono.Nat from 3.0.0 to 3.0.1
Bumps [Mono.Nat](https://github.com/mono/Mono.Nat) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/mono/Mono.Nat/releases)
- [Commits](https://github.com/mono/Mono.Nat/compare/release-v3.0.0...release-v3.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-15 20:47:33 +00:00
dependabot[bot]
809556eb98 Bump PlaylistsNET from 1.1.2 to 1.1.3
Bumps [PlaylistsNET](https://github.com/tmk907/PlaylistsNET) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/tmk907/PlaylistsNET/releases)
- [Commits](https://github.com/tmk907/PlaylistsNET/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-15 20:47:32 +00:00
dependabot[bot]
cfb7523ea8 Bump Moq from 4.14.7 to 4.15.1
Bumps [Moq](https://github.com/moq/moq4) from 4.14.7 to 4.15.1.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-15 20:47:21 +00:00
crobibero
185fac0677 Upgrade all netcore3.1 to net5.0 2020-11-15 13:31:47 -07:00
crobibero
4b15284324 Merge remote-tracking branch 'upstream/master' into bye-tvdb 2020-11-15 13:12:43 -07:00
crobibero
e66d79fc0c Merge remote-tracking branch 'upstream/master' into http-exception 2020-11-15 13:09:05 -07:00
Joshua M. Boniface
2f426dfc97 Merge pull request #4458 from crobibero/dotnet-5
Upgrade to Net5
2020-11-15 14:35:34 -05:00
crobibero
056c44010b Fix tests 2020-11-15 12:19:07 -07:00
crobibero
dae4541bad Merge remote-tracking branch 'upstream/master' into dotnet-5 2020-11-15 11:56:35 -07:00
crobibero
3f313206c6 Suggestions from review 2020-11-15 11:35:36 -07:00
crobibero
53697ac39a revert 2020-11-15 10:59:56 -07:00
crobibero
547ee88561 Remove api client generator errors 2020-11-15 10:58:39 -07:00
nyanmisaka
f953dd42be remove unused segment option 2020-11-16 01:09:14 +08:00
Ionut Andrei Oanca
c7e53bce2f Patch data-races and minor changes in SyncPlay 2020-11-15 17:30:28 +01:00
crobibero
c70710de32 Update user cache after updating user. 2020-11-15 09:30:04 -07:00
Claus Vium
7caf1662ec Merge pull request #4478 from Bond-009/chararray
Don't allocate single char arrays when possible
2020-11-15 13:48:43 +01:00
Bond-009
331c7f8481 Merge pull request #4253 from BaronGreenback/fordiscussion
DI in plugins
2020-11-15 13:29:04 +01:00
4d1m
ce4787c7eb Translated using Weblate (Romanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ro/
2020-11-15 05:36:15 -05:00
Ionut Andrei Oanca
5d77f422f0 Hide some property setters, init null values, update namespaces 2020-11-14 23:40:01 +01:00
crobibero
95a2de757f remove custom HttpException 2020-11-14 14:30:34 -07:00
Bond_009
d4e568c8bf Replace Task.WaitAll with Task.Wait 2020-11-14 20:30:08 +01:00
Bond_009
ff49a3bb61 Missed some stuff 2020-11-14 20:28:15 +01:00
Bond_009
c4bb32f259 Access last element by index where possible 2020-11-14 20:28:14 +01:00
Bond_009
9041389f65 Use string.Trim(char) instead of string.Trim(char[]) where possible 2020-11-14 20:27:59 +01:00
Bond_009
bc7359f87d Use string.Split(char) where possible instead of string.Split(char[]) 2020-11-14 20:27:48 +01:00
Ionut Andrei Oanca
fa69f6fd51 Handle ignore-wait request in waiting state in SyncPlay 2020-11-14 18:09:25 +01:00
Adam Bokor
6b4debb44e Translated using Weblate (Hungarian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2020-11-14 11:38:39 -05:00
Claus Vium
569874a212 Merge pull request #4473 from crobibero/binder-no-throw
Don't throw exception when converting values using binder or JsonConv…
2020-11-14 17:31:52 +01:00
Claus Vium
121d79a395 Merge pull request #4477 from nyanmisaka/attachment-return-type
Fix return type for GetAttachment
2020-11-14 17:28:43 +01:00
crobibero
843847fc93 Remove extraneous newline 2020-11-14 09:16:08 -07:00
Ionut Andrei Oanca
83333e1fe8 Replace foreach loop with FindIndex 2020-11-14 17:07:52 +01:00
Cody Robibero
450cd614ac Update Jellyfin.Api/ModelBinders/CommaDelimitedArrayModelBinder.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-11-14 08:13:53 -07:00
nyanmisaka
e36725096a fix return type for GetAttachment 2020-11-14 22:28:22 +08:00
crobibero
cfefcd988a Updated based on review feedback 2020-11-14 07:07:09 -07:00
Claus Vium
c49b854295 Merge pull request #4476 from crobibero/plugin-update-exception
Fix plugin update exception
2020-11-14 12:45:07 +01:00
Ionut Andrei Oanca
1dbc91978e Address requested changes and fix some warnings 2020-11-14 12:33:54 +01:00
nyanmisaka
750eaa9d27 fix ci 2020-11-14 18:30:20 +08:00
Nyanmisaka
06670351ae Apply suggestions from code review
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-14 10:19:41 +00:00
nyanmisaka
fc89b7e641 minor changes 2020-11-14 16:02:16 +08:00
nyanmisaka
32bb73acbb add aac_adtstoasc bitstream filter for mpegts to mp4 conversion 2020-11-14 14:23:00 +08:00
crobibero
73d2cb1c2a Updated based on review feedback 2020-11-13 18:04:06 -07:00
Oatavandi
722adda477 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-11-13 17:28:15 -05:00
Relja U
5d4144b8a6 Translated using Weblate (Serbian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sr/
2020-11-13 17:28:15 -05:00
crobibero
5845bf93cb Fix plugin update exception 2020-11-13 14:52:22 -07:00
Cody Robibero
24ac5cc353 Update Emby.Server.Implementations/AppBase/ConfigurationHelper.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-13 13:18:31 -07:00
nyanmisaka
536b054873 add experimental flag for flac 2020-11-14 04:06:24 +08:00
nyanmisaka
f1e129f17a minor changes 2020-11-14 03:57:37 +08:00
Ionut Andrei Oanca
563a6fb3c7 Minor changes to group-wait in SyncPlay 2020-11-13 20:55:14 +01:00
nyanmisaka
8c0778e827 switch ffmpeg to hls muxer for live streaming
segment muxer cannot make fMP4 init file.
'-strict -2' option doesn't work with segment muxer for flac remuxing.
2020-11-14 03:47:54 +08:00
crobibero
95ebb9a55a Use null coalescing when possible 2020-11-13 11:24:46 -07:00
crobibero
5f52a58e78 Convert NullReferenceException to ResourceNotFoundException 2020-11-13 11:14:44 -07:00
crobibero
be312f992d Update to net5 2020-11-13 10:57:34 -07:00
crobibero
e8b98265b0 Upgrade Jellyfin.Model.Tests to net5.0 2020-11-13 10:40:09 -07:00
crobibero
ec5781504e Disable warning on AD0001 2020-11-13 10:29:26 -07:00
crobibero
1acbceaade Disable warning on AD0001 2020-11-13 10:24:40 -07:00
crobibero
3c8800604e Update test sdk 2020-11-13 09:48:26 -07:00
crobibero
7bf320922c Fix nullability errors in Emby.Server.Implementations 2020-11-13 09:41:18 -07:00
crobibero
d5e2369dd6 Fix nullability errors in MediaBrowser.Model 2020-11-13 09:36:17 -07:00
crobibero
6353cb507d Fix nullability errors in Jellyfin.Server 2020-11-13 09:21:28 -07:00
crobibero
445eec7f5f Fix nullability errors in Jellyfin.Api.Tests 2020-11-13 09:21:22 -07:00
crobibero
01355e0498 Fix nullability errors in Jellyfin.Api (part 1) 2020-11-13 09:04:31 -07:00
crobibero
e8675a6c24 Fix nullability errors in Jellyfin.Server 2020-11-13 09:03:44 -07:00
crobibero
e82829c444 Fix nullability errors in MediaBrowser.MediaEncoding 2020-11-13 09:01:55 -07:00
crobibero
f3e74cb421 Fix nullability errors in Emby.Notifications 2020-11-13 08:35:32 -07:00
crobibero
a02514a114 Fix nullability errors in Jellyfin.Drawing.Skia 2020-11-13 08:34:34 -07:00
crobibero
57b1e93411 Fix nullability errors in Jellyfin.Server.Implementations 2020-11-13 08:32:24 -07:00
crobibero
38885ffd74 Fix nullability errors in MediaBrowser.LocalMetadata 2020-11-13 08:31:02 -07:00
crobibero
83ac7d2674 Fix ci condition 2020-11-13 08:02:45 -07:00
crobibero
5c40ad0530 Remove conditional access. 2020-11-12 09:44:10 -07:00
Bond-009
f45b4ac11f Merge pull request #4474 from crobibero/property-readonlylist
Convert array property to IReadOnlyList
2020-11-12 17:34:30 +01:00
martinek-stepan
4bfcc8b0d1 Update Emby.Naming/AudioBook/AudioBookListResolver.cs
Use StringComparison.OrdinalIgnoreCase when comparing names

Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-12 16:51:52 +01:00
crobibero
73f9a6d7d0 Convert array property to IReadOnlyList 2020-11-12 08:29:42 -07:00
nyanmisaka
d91a099c9e allow transcoding 8ch(7.1 layout) in aac 2020-11-12 23:10:57 +08:00
crobibero
0c23b8cadf Don't throw exception when converting values using binder or JsonConverter 2020-11-12 08:06:25 -07:00
Claus Vium
00c4055b6e Merge pull request #4463 from crobibero/fix-display-preferences-migration
Skip migration if user doesn't exist
2020-11-12 15:57:03 +01:00
Cody Robibero
1d059bc76b Update Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs 2020-11-12 07:33:12 -07:00
dkanada
660aa1b8a6 Merge pull request #4469 from cvium/fix_repository_endpoint
Change OPTIONS to POST and call SaveConfiguration in SetRepositories
2020-11-12 22:37:19 +09:00
Claus Vium
a044622b15 Merge pull request #4468 from cvium/revert_similar_name_removal
Semi-revert removal of Name for /Similar in openapi
2020-11-12 14:10:32 +01:00
Stepan
b66239fd52 One more missed suggestions (removing commented out code) 2020-11-12 13:18:22 +01:00
Stepan
3bca1181b3 Taken suggestions from code review and created test for ExtraRuleType.Regex instead of throwing exception there. 2020-11-12 13:16:33 +01:00
martinek-stepan
496923719c Apply suggestions from code review
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-12 12:54:55 +01:00
BaronGreenback
27bb17ef9d Merge branch 'master' into Comment1 2020-11-12 09:18:49 +00:00
cvium
8e0909ef6f Change OPTIONS to POST and call SaveConfiguration 2020-11-12 10:13:56 +01:00
cvium
0ac3af13ac Semi-revert removal of Name for /Similar in openapi 2020-11-12 09:21:46 +01:00
nyanmisaka
5bd0c2b69d add an option to disable hevc encoding 2020-11-12 11:02:56 +08:00
Claus Vium
df2cb7f995 Merge pull request #4466 from kayila/display-clips
Fix #4465 by adding the missing extras folders.
2020-11-12 00:10:25 +01:00
BaronGreenback
51996cd34d Update BasePlugin.cs 2020-11-11 19:04:22 +00:00
Kayila
d0cf60e145 Fixes #4465 by adding the missing extras folders. 2020-11-11 13:47:42 -05:00
BaronGreenback
caea2bb862 Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-11-11 17:00:19 +00:00
crobibero
7ff212576e Merge remote-tracking branch 'upstream/master' into bye-tvdb 2020-11-11 08:08:06 -07:00
crobibero
380359b495 Add migration to readd plugin. 2020-11-11 08:03:30 -07:00
crobibero
7375d70396 Skip migration if user doesn't exist 2020-11-11 07:17:19 -07:00
nyanmisaka
11c74cb65c fix for no audio stream video 2020-11-11 19:04:58 +08:00
Claus Vium
5669d1dad2 Merge pull request #4450 from cvium/fix_and_mildly_improve_similar
Remove duplicate /Similar endpoints
2020-11-11 11:06:47 +01:00
Claus Vium
0b954df7c2 Update Jellyfin.Api/Controllers/LibraryController.cs 2020-11-11 10:49:00 +01:00
Claus Vium
a7b3880d0e Merge branch 'master' into fix_and_mildly_improve_similar 2020-11-11 10:47:18 +01:00
nyanmisaka
6987cb8357 fix ci 2020-11-11 17:25:14 +08:00
nyanmisaka
57e5b59b93 adjust bitrate limit for HLS audio codecs 2020-11-11 17:10:08 +08:00
Sam Cross
0c45faf100 Translated using Weblate (English (United Kingdom))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_GB/
2020-11-11 00:03:53 -05:00
Nyanmisaka
0b01acbe91 Apply suggestions from code review
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-11 02:03:53 +00:00
Ted van den Brink
51ddf038dc Translated using Weblate (Dutch)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nl/
2020-11-10 18:49:09 -05:00
Claus Vium
a51ea55537 Merge pull request #4302 from crobibero/query-fields
Convert field string to enum.
2020-11-10 23:09:47 +01:00
yodatak
7104a37be1 Bump dependencies to Fedora 33
Fedora 33 is out so Fedora 31 is unmaintened so its time to migrate the build to Fedora 33 !
2020-11-10 22:52:20 +01:00
David John Corpuz
dc3b3bcfb1 Translated using Weblate (Filipino)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fil/
2020-11-10 14:48:44 -05:00
crobibero
f5b301dea6 Correct bad docs merge 2020-11-10 11:48:21 -07:00
Stepan
195a6261c4 Dummy test case explanation. 2020-11-10 19:28:03 +01:00
Stepan
158eff62d7 Xml-doc part2 2020-11-10 19:23:10 +01:00
crobibero
7fe8ca2b77 Merge remote-tracking branch 'upstream/master' into query-fields 2020-11-10 10:39:44 -07:00
crobibero
9b7c5cddae Update build ci, dockerfiles to .Net5.0 2020-11-10 10:03:21 -07:00
crobibero
83629ab6f2 Update packages to net5 2020-11-10 09:52:34 -07:00
Stepan
693760e38a Xml-doc part1 2020-11-10 17:11:48 +01:00
dkanada
7aaf9dbcc3 Merge pull request #4444 from crobibero/remove-unstable-npm-ci
Remove unstable npm ci task
2020-11-10 22:01:40 +09:00
dkanada
54d7fb0ff7 Merge pull request #4447 from jellyfin/dependabot/nuget/Serilog.Sinks.Graylog-2.2.2
Bump Serilog.Sinks.Graylog from 2.2.1 to 2.2.2
2020-11-10 22:00:09 +09:00
dkanada
efad311df8 Merge pull request #4446 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.8.0
Bump Microsoft.NET.Test.Sdk from 16.7.1 to 16.8.0
2020-11-10 21:59:51 +09:00
Stepan
c0747512d6 Merge remote-tracking branch 'jellyfin/master' into emby-namig-nullable 2020-11-10 12:42:49 +01:00
Claus Vium
cdf979efef Merge pull request #3196 from ferferga/images-advance
Remove "download images in advance" option
2020-11-10 10:54:23 +01:00
Claus Vium
d3eab357e3 Merge pull request #4452 from crobibero/bind-image-type
Add ModelBinder to ImageType
2020-11-10 10:34:42 +01:00
Fernando Fernández
27a1337cf3 Remove underscore
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-10 10:24:05 +01:00
Fernando Fernández
d6a04fd406 Remove setting from existing libraries with a migration 2020-11-10 02:12:50 +01:00
Fernando Fernández
103d503c15 Removed code as suggested by @cvium 2020-11-10 02:12:47 +01:00
Fardin
477e7f7898 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2020-11-09 19:04:37 -05:00
crobibero
2ce9a56cae Remove GetImageTypes 2020-11-09 15:01:30 -07:00
crobibero
0dd2b169a3 Add ModelBinder to ItemFilter 2020-11-09 14:59:04 -07:00
crobibero
6748ba287d Merge remote-tracking branch 'upstream/master' into query-fields 2020-11-09 14:57:02 -07:00
crobibero
b22831f7e5 Add ModelBinder to ImageType 2020-11-09 14:53:23 -07:00
cvium
b99519898d Remove duplicate /Similar endpoints and add poor matching for artists and albums 2020-11-09 20:15:15 +01:00
Claus Vium
296e534f67 Merge pull request #4448 from crobibero/regex-error
Don't throw exception if name is null
2020-11-09 15:49:56 +01:00
crobibero
78551d166a Don't throw exception if name is null 2020-11-09 06:10:16 -07:00
dependabot[bot]
3874f570ed Bump Serilog.Sinks.Graylog from 2.2.1 to 2.2.2
Bumps [Serilog.Sinks.Graylog](https://github.com/whir1/serilog-sinks-graylog) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/whir1/serilog-sinks-graylog/releases)
- [Commits](https://github.com/whir1/serilog-sinks-graylog/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-09 12:00:50 +00:00
dependabot[bot]
e15891df51 Bump Microsoft.NET.Test.Sdk from 16.7.1 to 16.8.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.7.1 to 16.8.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.7.1...v16.8.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-09 12:00:39 +00:00
BaronGreenback
957b5df0f0 Update MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:26:06 +00:00
BaronGreenback
429de72443 Update MediaBrowser.Common/Plugins/BasePlugin.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:25:42 +00:00
BaronGreenback
11a5353810 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:25:16 +00:00
BaronGreenback
e340e755f2 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:25:05 +00:00
BaronGreenback
69790ef6b8 Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:24:53 +00:00
BaronGreenback
f63a706a86 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-09 11:23:52 +00:00
Claus Vium
ab285c2202 Merge pull request #4440 from neilsb/schedules-direct-fix
Perform hashing of Password for Schedules Direct on server
2020-11-09 08:15:23 +01:00
hoanghuy309
254c188f6c Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-11-09 01:01:40 -05:00
Gary Wilber
f680a0fbbe fix merge 2020-11-08 11:55:38 -08:00
Gary Wilber
e6d8c02944 Merge remote-tracking branch 'upstream/master' into library_scan_speed 2020-11-08 11:51:40 -08:00
Kyle Yue
363d41f943 Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2020-11-08 12:52:56 -05:00
Ekrem KANGAL
e5c0aaead2 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2020-11-08 12:52:56 -05:00
crobibero
d2f439efd2 Remove unstable npm ci task 2020-11-08 10:22:38 -07:00
Neil Burrows
e9d35cb2ca Switching to the more efficient Hex.Encode function 2020-11-08 17:16:51 +00:00
Claus Vium
3900976be5 Merge pull request #4247 from crobibero/update-plugin
Update all on-disk plugins
2020-11-08 18:00:49 +01:00
crobibero
73f923c8d5 Use class instead of struct 2020-11-08 09:31:53 -07:00
Bond-009
c8a320082f Merge pull request #4443 from cvium/fix_auth_again_again_again
Remove OriginalAuthenticationInfo and add IsAuthenticated property
2020-11-08 16:58:35 +01:00
Anthony Lavado
7971978081 Merge pull request #3683 from nyanmisaka/fonts
Allows to provide multiple fallback fonts for client to render subtitles
2020-11-08 10:26:20 -05:00
cvium
e78c63c4dc Remove OriginalAuthenticationInfo and add IsAuthenticated property 2020-11-08 16:10:33 +01:00
Cody Robibero
ce88815b3c Update MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-08 06:42:54 -07:00
Cody Robibero
1996e08dd1 Update MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-08 06:42:49 -07:00
Cody Robibero
e06b33af83 Update MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-08 06:42:40 -07:00
Cody Robibero
e8b832ea18 Update MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-11-08 06:42:33 -07:00
Neil Burrows
866c41519f Perform hashing of Password for Schedules Direct on server 2020-11-08 12:34:35 +00:00
BaronGreenback
802d37aac5 Update Emby.Naming/Common/NamingOptions.cs 2020-11-08 12:09:32 +00:00
nyanmisaka
2229ca38ac pascal case 2020-11-08 19:33:40 +08:00
nyanmisaka
737cb727f9 Merge remote-tracking branch 'upstream/master' into fonts 2020-11-08 19:11:54 +08:00
Claus Vium
96dcd9c87e Merge pull request #3086 from redSpoutnik/api-upload-subtitle
Add Post subtitle in API
2020-11-08 11:32:53 +01:00
Claus Vium
38185f8326 Apply suggestions from code review 2020-11-08 11:20:28 +01:00
nyanmisaka
babb298b90 fix ci 2020-11-08 09:35:04 +00:00
Claus Vium
61f8e5f3c1 Merge pull request #4428 from crobibero/openapi-version
Add x-jellyfin-version to openapi spec
2020-11-08 10:24:25 +01:00
Claus Vium
ec2538a1ba Merge pull request #4420 from cvium/fix_person_studio_genre_endpoints
Fix Persons, Genres and Studios endpoints
2020-11-08 10:22:18 +01:00
Claus Vium
1823cbb026 Merge pull request #4412 from cvium/fix_displaypreferences_creation
Save new display preferences
2020-11-08 10:22:05 +01:00
Claus Vium
9764b6b2df Merge pull request #4437 from crobibero/fix-dlna
Add missing dlna attributes.
2020-11-08 10:05:50 +01:00
nyanmisaka
5048719a64 minor changes per suggestions 2020-11-08 09:01:58 +00:00
Ricky Zhang
0d1d0d113e Translated using Weblate (Chinese (Simplified))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2020-11-08 04:00:51 -05:00
Claus Vium
c17f84ae48 Merge pull request #4330 from crobibero/api-key-auth
Fix ApiKey authentication
2020-11-08 08:20:50 +01:00
nyanmisaka
1abd3d1bd8 fix the fmp4 header file generate on linux 2020-11-08 07:13:00 +00:00
johan456789
1bd5f78025 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-11-08 00:22:51 -05:00
Tomislav
ad1b08f2d6 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2020-11-08 00:22:50 -05:00
Winnie
dc3f24c112 Translated using Weblate (Spanish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2020-11-08 00:22:50 -05:00
crobibero
a7f2073c68 Add missing dlna attributes. 2020-11-07 17:30:56 -07:00
Tomislav
2afaa1fc5b Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2020-11-07 16:59:25 -05:00
Tomislav
826f58b461 Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2020-11-07 16:43:48 -05:00
Tomislav
7f4a3219ea Translated using Weblate (Croatian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hr/
2020-11-07 16:28:42 -05:00
Claus Vium
4bccff26f2 Merge pull request #4434 from BaronGreenback/4423
Fixes #4423 - Fixes DLNA in unstable;
2020-11-07 22:13:26 +01:00
BaronGreenback
c6ff56a230 Update BaseControlHandler.cs 2020-11-07 18:59:32 +00:00
nyanmisaka
85965741f5 add initial support for HEVC over FMP4-HLS 2020-11-08 01:39:32 +08:00
Stepan
3d1076ae42 Rest of tests for Emby.Naming code coverage 2020-11-07 12:30:22 +01:00
Stepan
f22e0800e2 Episode parsing coverage 2020-11-07 11:02:12 +01:00
Claus Vium
8c5e0ddae0 Merge pull request #4401 from nyanmisaka/respect-music-settings
Respect music quality settings when transcoding
2020-11-07 10:57:57 +01:00
Nikita Epifanov
6b5ba0f64a Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2020-11-07 03:43:33 -05:00
Florian Schmidt
549d0bc27b Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2020-11-07 03:43:33 -05:00
tomwaits00
03d5a3d8e7 Translated using Weblate (Turkish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2020-11-06 22:06:53 -05:00
Ludovico Besana
a0699b6868 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2020-11-06 20:31:18 -05:00
JB
68f8ff678a Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2020-11-06 18:31:33 -05:00
crobibero
9056908bc7 Merge remote-tracking branch 'upstream/master' into video-resolver 2020-11-06 14:46:21 -07:00
crobibero
fed37630db Add x-jellyfin-version to openapi spec 2020-11-06 13:00:14 -07:00
JB
4a5651e5b2 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2020-11-06 14:58:03 -05:00
Joshua M. Boniface
8d66eff4fd Merge pull request #4427 from joshuaboniface/nohup-fix
Reverse order of sudo and nohup
2020-11-06 13:07:42 -05:00
Joshua M. Boniface
a4e67dac80 Reverse order of sudo and nohup
Otherwise I'm forced to allow `sudo nohup` globally which is bad news
bears.
2020-11-06 13:00:59 -05:00
Bond-009
d27ff407ad Merge pull request #4426 from joshuaboniface/nohup-fix
Remove spurious argument to nohup
2020-11-06 18:33:38 +01:00
Joshua M. Boniface
e2ab7af033 Remove spurious argument to nohup 2020-11-06 12:32:06 -05:00
Anthony Lavado
3774165d9d Merge pull request #4425 from joshuaboniface/fix-azure
Restore missing targetFolder
2020-11-06 12:01:56 -05:00
Joshua M. Boniface
ca40eff83d Restore missing targetFolder 2020-11-06 12:00:00 -05:00
Claus Vium
6afd990986 Merge pull request #4424 from jellyfin/minor8
Minor perf improvements
2020-11-06 17:11:01 +01:00
Bond_009
134fd0d960 > -> < 2020-11-06 16:39:41 +01:00
lelamamalgache
e6480066b1 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2020-11-06 10:36:58 -05:00
Bond-009
2a5e53215c Merge pull request #4393 from crobibero/model-binder-readonly-list
Support IReadOnlyList in CommaDelimitedArrayModelBinder
2020-11-06 16:29:06 +01:00
Bond-009
082705c0d8 Merge pull request #4410 from crobibero/m3u-user-agent
Set UserAgent when getting M3u playlist
2020-11-06 16:28:50 +01:00
Bond-009
3e819eeb02 Merge pull request #4411 from crobibero/fix-auth
Fix endpoint authorization requirements
2020-11-06 16:27:51 +01:00
Bond_009
b21919c7f4 Minor perf improvements 2020-11-06 16:15:30 +01:00
Stepan
e96e480f01 Add comment with match cases for weir EpisodeExpression and named group for some date EpisodeExpressions 2020-11-06 15:52:01 +01:00
Claus Vium
83d7e0a265 Merge pull request #4392 from crobibero/livetv-ts-fix
Fix LiveTV TS playback
2020-11-06 15:27:51 +01:00
Claus Vium
f172b37401 Merge pull request #4391 from crobibero/converter-ireadonlylist
Support IReadOnlyList for JsonCommaDelimitedArrayConverter
2020-11-06 15:16:14 +01:00
crobibero
41b38c6735 Merge remote-tracking branch 'upstream/master' into livetv-ts-fix 2020-11-06 07:15:38 -07:00
cvium
b693c52fe7 Make /MusicGenres obsolete 2020-11-06 09:42:59 +01:00
cvium
de52c8a497 Revert "Make /MusicGenres obsolete" 2020-11-06 09:35:23 +01:00
cvium
6e6ecbc988 Make /MusicGenres obsolete 2020-11-06 08:34:20 +01:00
public_yusuke
eeb3177cc3 Translated using Weblate (Japanese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ja/
2020-11-05 22:53:28 -05:00
Claus Vium
40453da089 Merge pull request #4422 from crobibero/users-me
Add /Users/Me endpoint
2020-11-06 00:57:01 +01:00
crobibero
3756611d01 Add /Users/Me endpoint 2020-11-05 13:23:22 -07:00
Lukáš Kucharczyk
3c6cbb6161 Translated using Weblate (Czech)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2020-11-05 10:59:18 -05:00
Stepan
3466dc5581 Finish coverage for Emby.Naming.Video 2020-11-05 16:59:15 +01:00
SaddFox
8c461aff09 Translated using Weblate (Slovenian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2020-11-05 09:13:05 -05:00
Stepan
5741150367 Enable MultiVersion video tests and added support for naming based on tests 11 & 8 2020-11-05 14:51:27 +01:00
Stepan
c96aa0551d Added NamingOptions tests 2020-11-05 13:25:29 +01:00
cvium
6fdcd12053 Fix build and clean up MusicGenres 2020-11-05 12:53:23 +01:00
cvium
584b4fa41f Fix Persons, Genres and Studios endpoints 2020-11-05 12:27:22 +01:00
Greenback
e2769671a7 removed github merge introduced spaces. 2020-11-04 20:38:47 +00:00
Greenback
3e62557959 amended testing unit. 2020-11-04 20:30:06 +00:00
BaronGreenback
ec245dce90 Merge branch 'master' into NetworkPR2 2020-11-04 20:17:41 +00:00
dkanada
ad262fe8a6 Merge pull request #4416 from jellyfin/dkanada-patch-1
Disable compatibility checks until they work again
2020-11-04 14:32:00 +09:00
dkanada
d9ea1ac12d disable two more tasks to fix the failures 2020-11-04 13:49:49 +09:00
crobibero
b4d52d8009 Apply patch 2020-11-03 16:38:47 -07:00
Stepan
aef1fe62c2 Complete test coverage for Emby.Naming.Subtitles 2020-11-03 16:25:33 +01:00
Stepan
c060ed1a18 Added resolving of alternative files and extras for audibooks. 2020-11-03 16:24:04 +01:00
dkanada
25f93a9af4 disable compatibility checks until they work again 2020-11-03 23:18:30 +09:00
crobibero
5d88e61076 Merge remote-tracking branch 'upstream/master' into livetv-ts-fix 2020-11-03 07:05:58 -07:00
Bond-009
8fc16043c7 Merge pull request #4405 from nyanmisaka/aac-directstream
Fix AAC direct streaming
2020-11-03 10:59:43 +01:00
Bond-009
13c70c415a Merge pull request #4409 from crobibero/fix-separators
Fix API separators
2020-11-03 10:58:03 +01:00
Bond-009
53b2a2ee22 Merge pull request #4213 from cvium/progressivefilestream
Add ProgressiveFileStream
2020-11-03 09:47:17 +01:00
Stepan
7b6363b09a Update test for detecting audiobooks extras and alternative files 2020-11-02 23:07:46 +01:00
Stepan
1e71775688 Add Name and Year parsing for audiobooks 2020-11-02 20:03:12 +01:00
crobibero
f8e6edbfeb Merge remote-tracking branch 'upstream/master' into query-fields 2020-11-02 10:29:18 -07:00
Anthony Lavado
b1b43b8ad9 Merge pull request #4068 from barronpm/event-fixes
Fix Plugin Events and Clean Up InstallationManager.cs
2020-11-02 11:11:17 -05:00
Anthony Lavado
6205fb4b6a Merge pull request #4341 from Bond-009/minor6
Minor improvements
2020-11-02 11:10:39 -05:00
Anthony Lavado
f23836c6a4 Merge pull request #4403 from Bond-009/http2
Http1AndHttp2 is the default, no need to explicitly enable it
2020-11-02 11:10:28 -05:00
Bond-009
51dc92c3a9 Merge pull request #4326 from crobibero/purge-activity-log
Automatically clean activity log database
2020-11-02 16:52:49 +01:00
Bond-009
95918d161e Merge pull request #4328 from crobibero/trigger-warning
Remove CommaDelimitedArrayModelBinderProvider
2020-11-02 16:52:05 +01:00
Bond-009
ea1a462a9d Merge pull request #4413 from cvium/fix_collection_endpoints
Rename itemIds to ids
2020-11-02 16:50:54 +01:00
cvium
af56d5c2dc Rename itemIds to ids 2020-11-02 11:53:23 +01:00
Cody Robibero
de36c8433e Update Emby.Server.Implementations/Localization/Core/en-US.json
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-02 03:52:14 -07:00
cvium
19d77c99ae Save new display preferences 2020-11-02 09:23:29 +01:00
crobibero
6a07e93ddd Fix endpoint auth 2020-11-01 20:37:03 -07:00
crobibero
6763d456ff Set UserAgent when getting M3u playlist 2020-11-01 19:23:28 -07:00
crobibero
dd3507bbbf Fix OfficialRatings separator 2020-11-01 18:54:00 -07:00
crobibero
c1ec46e92b Fix Tags separator 2020-11-01 18:53:27 -07:00
crobibero
826c24142e Fix Genres separator 2020-11-01 18:53:02 -07:00
crobibero
ceecc80bb3 Allow configuration of ActivityLogRetention 2020-11-01 18:32:41 -07:00
Bond-009
5b1eb8b6e2 Merge pull request #4408 from crobibero/dep-dep-dep
Dependency catch up
2020-11-01 21:46:21 +01:00
crobibero
e41e832495 Dependency catch up 2020-11-01 10:52:32 -07:00
Stepan
50a2ef9d8a Simplify Resolve_InvalidExtension Test and created tests for Alternative Versions parsing & Year Extraction for audiobooks 2020-11-01 17:41:47 +01:00
Stepan
f39775dc3a Written test to finish coverage for AudioBookListResolver & AudioBookResolver and corrected some logical erros / unhandled exception 2020-11-01 17:10:48 +01:00
Stepan
e7a37bedfc Simplify AudioBookResolver since there is no option of passing directories into it (AudioResolver.cs:179) and handling directories were not implemented anyway 2020-11-01 13:42:56 +01:00
Stepan
6437cf6950 Removed Success property from AudioBookFilePathParserResult, since it was unused and consider only audiobooks that have chapter/page number in name makes no sense 2020-11-01 13:28:43 +01:00
nyanmisaka
599e20ab9b fix music directplay on Gelli 2020-11-01 18:45:42 +08:00
Stepan
60b49e67ea Re-Sharper inspection issues 2020-11-01 11:19:22 +01:00
Stepan
59619b6ea7 Enable nullable in Emby.Naming 2020-11-01 10:47:31 +01:00
nyanmisaka
e5237384d5 fix the route of audio containers 2020-11-01 04:20:25 +08:00
Joshua M. Boniface
6b3459f01b Merge pull request #4406 from joshuaboniface/remove-jfffmpeg-dep
Remove jellyfin-ffmpeg dep from server package
2020-10-31 16:13:45 -04:00
Joshua M. Boniface
0bcf4c02b4 Remove jellyfin-ffmpeg dep from server package
Being added to the metapackage instead.
2020-10-31 15:50:56 -04:00
Greenback
f06e4826c7 Fixed testing units 2020-10-31 19:16:28 +00:00
Greenback
83af636c61 Updated with new NetManager 2020-10-31 18:21:46 +00:00
nyanmisaka
d34be6faf4 fix aac directstreaming 2020-11-01 00:33:38 +08:00
Bond-009
26078e4df9 Merge pull request #4375 from crobibero/auth-dict-fix
Fix setting duplicate keys from auth header
2020-10-31 16:14:53 +01:00
BaronGreenback
c54bdb4a0a Merge pull request #86 from jellyfin/master
Updating from master
2020-10-31 12:41:03 +00:00
Bond_009
7f8a73d8e9 Http1AndHttp2 is the default, no need to explicitly enable it 2020-10-31 12:54:28 +01:00
nyanmisaka
00f0c14d7b respect music quality settings when transcoding 2020-10-31 16:09:22 +08:00
Greenback
c25ec72864 Updated libraries. 2020-10-30 14:48:33 +00:00
Greenback
ec57eeff2b Updated to latest version of code. 2020-10-30 14:06:11 +00:00
Greenback
6dc2936d9c Merge remote-tracking branch 'upstream/master' into NetworkPR2 2020-10-30 13:54:46 +00:00
Greenback
face3f8c65 Updating to latest network code. 2020-10-30 13:54:37 +00:00
Greenback
c54eb2d2df Merge remote-tracking branch 'origin/master' into NetworkPR2 2020-10-30 13:54:02 +00:00
Bond-009
4f320308f3 Merge pull request #4395 from barronpm/users-async
Convert some code in UserManager to async
2020-10-30 13:19:59 +01:00
Patrick Barron
72263613d0 Convert some code in UserManager to async 2020-10-29 20:30:33 -04:00
Bond-009
e37805e82e Merge pull request #4378 from barronpm/fix-nullref
Fix possible null reference exception
2020-10-30 00:34:28 +01:00
Patrick Barron
d887e42405 Fix possible NullReferenceException 2020-10-29 19:16:39 -04:00
crobibero
ef43878bbc Support IReadOnlyList in CommaDelimitedArrayModelBinder 2020-10-29 16:11:40 -06:00
crobibero
0c674b496f Add stream disposal comment. 2020-10-29 13:58:47 -06:00
crobibero
3568c5f39b Fix early filestream close 2020-10-29 13:56:29 -06:00
crobibero
429e59fb81 Fix null reference 2020-10-29 13:55:57 -06:00
Oatavandi
2c6b31fc7b Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-10-29 14:56:55 -04:00
crobibero
11d69fd3b1 Make MrLinter happy 2020-10-29 11:36:45 -06:00
crobibero
42c2ab97e7 Support IReadOnlyList for JsonCommaDelimitedArrayConverter 2020-10-29 11:32:02 -06:00
crobibero
372f0eb38a Remove AddItemFields 2020-10-29 11:17:13 -06:00
crobibero
b9406e5444 Merge remote-tracking branch 'upstream/master' into query-fields 2020-10-29 11:11:50 -06:00
Bond-009
9bf2f4d8e0 Merge pull request #4377 from barronpm/user-caching
Add caching to users
2020-10-29 17:34:15 +01:00
dkanada
43bc850efb Merge pull request #4346 from jellyfin/dependabot/nuget/prometheus-net-4.0.0
Bump prometheus-net from 3.6.0 to 4.0.0
2020-10-29 14:59:20 +09:00
dkanada
ec5fadc64e Merge pull request #4347 from jellyfin/dependabot/nuget/Moq-4.14.7
Bump Moq from 4.14.6 to 4.14.7
2020-10-29 14:59:01 +09:00
dkanada
f2eda53a8b Merge pull request #4388 from crobibero/sneaky-sneaky
Add missing slashes in ffmpeg argument.
2020-10-29 14:58:09 +09:00
Cody Robibero
96071ef30d Move slash to correct location for quoting 2020-10-28 20:26:33 -06:00
crobibero
c0383ba07d Add missing slashes in ffmpeg argument. 2020-10-28 20:23:39 -06:00
crobibero
8b83e4e972 Fix tests 2020-10-28 17:57:16 -06:00
Bond-009
9e9431d829 Merge pull request #4384 from nyanmisaka/ios-hls-bitrate
Fix HLS music playback on iOS
2020-10-28 16:29:34 +01:00
Bond-009
6d11a95ad5 Merge pull request #4305 from crobibero/query-image-type
Convert image type string to enum.
2020-10-28 15:40:56 +01:00
crobibero
981f000437 Use proper IsApiKey flag 2020-10-28 08:40:11 -06:00
nyanmisaka
c91f42c7a0 Default output audio bitrate to 128k 2020-10-28 22:27:08 +08:00
Stan
3bb8884e16 Merge branch 'master' into bdiso-playback 2020-10-28 13:18:05 +01:00
crobibero
64b32d3290 Use BaseItemManager 2020-10-27 18:01:52 -06:00
crobibero
50558ffe3d Add BaseItemManager 2020-10-27 17:57:52 -06:00
crobibero
36bae6f030 Use JsonConverter 2020-10-27 13:38:21 -06:00
crobibero
4f7c13ecf4 Merge remote-tracking branch 'upstream/master' into query-fields 2020-10-27 13:35:46 -06:00
crobibero
fd9d325fa8 Use JsonConverter 2020-10-27 13:32:59 -06:00
crobibero
4558c192c7 Merge remote-tracking branch 'upstream/master' into query-image-type 2020-10-27 13:25:57 -06:00
Bond-009
be2f27a069 Merge pull request #4312 from crobibero/json-array-converter
Add comma delimited string to array json converter
2020-10-27 19:36:37 +01:00
Bond-009
6cadbe8d9e Merge pull request #4371 from cvium/fix_scheduledtasks_endpoint
Fix GET ScheduledTasks return value
2020-10-27 19:36:21 +01:00
Patrick Barron
67f39ed54f Properly remove profile images 2020-10-27 12:28:37 -04:00
Patrick Barron
f051590f14 Apply suggestions 2020-10-27 12:12:08 -04:00
Patrick Barron
aff8684d2e Add caching to users 2020-10-26 20:36:31 -04:00
crobibero
eee95336b5 Fix setting duplicate keys from auth header 2020-10-26 17:18:54 -06:00
Tomi
e0045457f9 Translated using Weblate (Finnish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fi/
2020-10-26 16:30:35 -04:00
BaronGreenback
0b5ddc90ff Merge branch 'master' into NetworkPR2 2020-10-26 13:21:48 +00:00
BaronGreenback
2c5609b333 Merge branch 'master' into fordiscussion 2020-10-26 13:19:13 +00:00
cvium
c11f19f090 Fix GET ScheduledTasks return value 2020-10-26 11:21:32 +01:00
kevin
a814d01f8c Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2020-10-25 16:56:24 -04:00
Bond-009
655a4f8600 Merge pull request #4369 from orryverducci/mkv-interlaced-fix
Fix frame rate probing for interlaced MKV files
2020-10-25 21:26:04 +01:00
Orry Verducci
84fd5a0953 Fix frame rate probing for interlaced MKV files 2020-10-25 16:35:03 +00:00
SHALMON ANANDAS
a69397d714 Translated using Weblate (Hindi)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hi/
2020-10-23 00:07:56 -04:00
SHALMON ANANDAS
82ce8369c3 Added translation using Weblate (Hindi) 2020-10-22 22:57:00 -04:00
Ionut Andrei Oanca
019bc19aa4 Minor changes to play queue in Syncplay group 2020-10-22 16:32:15 +02:00
Ionut Andrei Oanca
0c735a0395 Address requested changes by review 2020-10-22 16:12:27 +02:00
Ionut Andrei Oanca
1cabe82b59 Rewrite play queue logic of SyncPlay group 2020-10-22 16:12:27 +02:00
Ionut Andrei Oanca
0b4c751657 Check for null sessions and requests in SyncPlay 2020-10-22 16:12:19 +02:00
BaronGreenback
f6ab98507e Update MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs 2020-10-22 13:29:09 +01:00
BaronGreenback
1b8adf0f7c Update Emby.Server.Implementations/SyncPlay/GroupController.cs 2020-10-22 13:28:09 +01:00
Stéphane Senart
95ecedbce7 [AudioTranscoding] Add FLAC as supported target audio format and be able to define the corresponding target sample rate 2020-10-22 12:49:26 +02:00
Stéphane Senart
5979151f11 [AudioTranscoding] Add FLAC as supported target audio format and be able to define the corresponding target sample rate 2020-10-22 12:22:31 +02:00
Stéphane Senart
28ee4f0a7f [AudioTranscoding] Add FLAC as supported target audio format and be able to define the corresponding target sample rate 2020-10-22 11:09:59 +02:00
Ionut Andrei Oanca
36fee4e60a Minor fixes 2020-10-21 16:42:57 +02:00
Ionut Andrei Oanca
93cbf64f88 End comments with a period 2020-10-21 15:46:50 +02:00
Joshua M. Boniface
82d27e6461 Merge pull request #4350 from crobibero/why-ci-why
Fix .npmrc
2020-10-19 17:14:47 -04:00
crobibero
354e15a5f2 Fix .npmrc 2020-10-19 14:15:05 -06:00
Joshua M. Boniface
e2ca3cb74f Merge pull request #4331 from crobibero/npm-ci
Add npmAuthenticate task
2020-10-19 14:56:23 -04:00
ferferga
9fd01fade6 Remove "download images in advance" option 2020-10-19 17:28:07 +02:00
dependabot[bot]
ed8899da4c Bump Moq from 4.14.6 to 4.14.7
Bumps [Moq](https://github.com/moq/moq4) from 4.14.6 to 4.14.7.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/compare/v4.14.6...v4.14.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-19 12:00:52 +00:00
dependabot[bot]
eb00a59750 Bump prometheus-net from 3.6.0 to 4.0.0
Bumps [prometheus-net](https://github.com/prometheus-net/prometheus-net) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/prometheus-net/prometheus-net/releases)
- [Changelog](https://github.com/prometheus-net/prometheus-net/blob/master/History)
- [Commits](https://github.com/prometheus-net/prometheus-net/compare/v3.6.0...v4.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-19 12:00:45 +00:00
Bond_009
5a9c218324 Fix build 2020-10-17 16:27:31 +02:00
Bond_009
49569ca0a0 Use nameof where possible 2020-10-17 16:19:57 +02:00
Bond_009
51dd3f1e19 Minor improvements 2020-10-17 16:01:36 +02:00
BaronGreenback
63be65dd91 Merge branch 'master' into Comment1 2020-10-17 15:00:43 +01:00
Gubb Jonas
49ac4c4044 Translated using Weblate (Swedish)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2020-10-17 05:25:46 -04:00
BaronGreenback
3ae37deea8 Merge pull request #82 from jellyfin/master
Refreshing image
2020-10-17 09:54:09 +01:00
BaronGreenback
38da2ee26e Merge branch 'master' into update-plugin 2020-10-17 09:47:20 +01:00
BaronGreenback
d42bb515ce Merge branch 'master' into video-resolver 2020-10-17 09:26:14 +01:00
Joshua M. Boniface
86090ab1f6 Merge pull request #4317 from jellyfin/tests7
Fix AudioBookListResolver test coverage
2020-10-17 01:58:57 -04:00
Joshua M. Boniface
f9bd7be741 Merge pull request #4285 from cvium/fix_websocketlisteners
Fix IWebSocketListener service registration
2020-10-17 01:58:35 -04:00
Joshua M. Boniface
19c2abb50f Merge pull request #4261 from Spacetech/music_brainz_provider_thread_safe
Make MusicBrainzAlbumProvider thread safe and fix retry logic
2020-10-17 01:58:21 -04:00
Joshua M. Boniface
b3bf07959c Merge pull request #4171 from nyanmisaka/amf-tonemap
Add tonemapping for AMD AMF
2020-10-17 01:55:27 -04:00
Joshua M. Boniface
d454e8710d Merge pull request #3690 from MichaIng/patch-1
Fix left /usr/bin/jellyfin symlink on removal and typo
2020-10-17 01:51:53 -04:00
Gary Wilber
b1f637684d Apply suggestions from code review (updating comments)
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-10-16 11:15:42 -07:00
crobibero
b2662894cf Add whitespace handling and tests 2020-10-16 09:37:35 -06:00
BaronGreenback
be4e5eff9c Update BasePlugin.cs 2020-10-16 14:58:37 +01:00
Ionut Andrei Oanca
8819a9d478 Add playlist-sync and group-wait to SyncPlay 2020-10-16 12:06:29 +02:00
gion
ed2eabec16 Update CONTRIBUTORS.md 2020-10-16 11:38:50 +02:00
gion
e10799e0e8 Rewrite syncplay using a state design pattern 2020-10-16 11:38:50 +02:00
gion
5487dfc145 Rename GroupInfoView to GroupInfoDto 2020-10-16 11:25:19 +02:00
crobibero
d5c226b1c3 Move SecurityException 2020-10-15 08:02:59 -06:00
crobibero
eca56dbe6a update scope 2020-10-15 07:31:42 -06:00
dkanada
5c2ecc0ca5 Merge pull request #4324 from crobibero/dotnet-3.1.9
Update to dotnet 3.1.9
2020-10-15 12:56:10 +09:00
crobibero
4b6889615b Fix tests 2020-10-14 18:21:15 -06:00
crobibero
58b82b886f Add npmAuthenticate task 2020-10-14 18:16:58 -06:00
crobibero
c037d3536d clean up authorization handlers 2020-10-14 17:58:46 -06:00
crobibero
39924f9992 Allow apikey to authenticate as admin 2020-10-14 17:58:33 -06:00
Anthony Lavado
8ffa14e6d3 Merge pull request #4309 from nielsvanvelzen/publicsysteminfo-backward-compatible-openapi
Make StartupWizardCompleted nullable in PublicSystemInfo
2020-10-14 15:06:56 -04:00
crobibero
f2a86d9c80 Remove CommaDelimitedArrayModelBinderProvider 2020-10-14 13:03:36 -06:00
BaronGreenback
5b8349b442 Merge branch 'master' into fordiscussion 2020-10-14 19:05:57 +01:00
BaronGreenback
a8cee0bd36 Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-14 19:04:17 +01:00
BaronGreenback
002190f0a3 Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-14 19:04:09 +01:00
BaronGreenback
0e872ca65c Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-14 19:03:54 +01:00
crobibero
15a7f88e08 Automatically clean activity log database 2020-10-14 11:44:11 -06:00
Bond-009
d54de29485 Merge pull request #4315 from Jan-PieterBaert/fix-warnings
Fix some warnings
2020-10-14 14:04:13 +02:00
crobibero
f998e52107 Update to dotnet 3.1.9 2020-10-13 18:50:04 -06:00
Anthony Lavado
8b419d9ea6 Merge pull request #4199 from ryanpetris/livetv-locking
Fix stream performance when opening/closing new streams.
2020-10-13 00:02:38 -04:00
Anthony Lavado
1f5ac19346 Merge pull request #3954 from Ullmie02/library-pictures
Use backdrop with library name as library thumbnail
2020-10-13 00:02:08 -04:00
dkanada
42fb04b084 Merge pull request #4254 from BaronGreenback/PluginConfigFix
Fix for #4241: Plugin config initialisation.
2020-10-13 12:19:42 +09:00
BaronGreenback
00b2539a70 Update IConfigurationManager.cs 2020-10-12 21:00:54 +01:00
BaronGreenback
5e5f1cc9c5 Update IConfigurationManager.cs 2020-10-12 20:56:37 +01:00
BaronGreenback
c7364be743 Update IConfigurationManager.cs 2020-10-12 20:53:10 +01:00
BaronGreenback
63e514e6c4 Update ApplicationHost.cs 2020-10-12 20:34:18 +01:00
BaronGreenback
257acbc2c9 Update BasePlugin.cs 2020-10-12 20:33:08 +01:00
Bond-009
d81cb3d885 Merge pull request #4139 from BaronGreenback/Comment4
DLNA MediaRegistrar - static and commented.
2020-10-12 21:01:02 +02:00
Bond_009
74f4affcda Fix AudioBookListResolver test coverage 2020-10-12 20:09:15 +02:00
Jan-Pieter Baert
ec91d3893d Fix SA 1116 warnings 2020-10-12 20:05:11 +02:00
Jan-Pieter Baert
6f9beef732 Fix SA1012 and SA1013 warnings 2020-10-12 19:22:33 +02:00
BaronGreenback
53bea919d0 Update IPluginServiceRegistrator.cs 2020-10-12 07:51:09 +01:00
BaronGreenback
f7cc2f785c Rename IPluginRegistrar.cs to IPluginServiceRegistrator.cs 2020-10-12 07:48:53 +01:00
crobibero
7565ae22cb Add tests and switch to factory 2020-10-11 21:09:15 -06:00
crobibero
37f3852699 Add comma delimited string to array json converter 2020-10-11 17:45:45 -06:00
BaronGreenback
16a0357617 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:51:56 +01:00
BaronGreenback
5c8015128f Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:51:03 +01:00
BaronGreenback
d49ba96123 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:50:48 +01:00
BaronGreenback
387fdb0f13 Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:50:36 +01:00
BaronGreenback
ed05ae683e Update Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:49:51 +01:00
BaronGreenback
ae8a3bc02c Update MediaBrowser.Common/Plugins/IPluginRegistrar.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 23:49:34 +01:00
Cody Robibero
ee976bb47a Update MediaBrowser.Common/Plugins/LocalPlugin.cs
Co-authored-by: BaronGreenback <jimcartlidge@yahoo.co.uk>
2020-10-11 15:27:11 -06:00
BaronGreenback
0f47b3ec2d Merge branch 'master' into Comment4 2020-10-11 21:30:57 +01:00
BaronGreenback
d31178ab4b Update BasePlugin.cs 2020-10-11 20:00:46 +01:00
BaronGreenback
7e939fa2cb Update BasePlugin.cs
Plugins supporting di cannot be unloaded.
2020-10-11 19:56:05 +01:00
BaronGreenback
85d36a55a1 Update BasePlugin.cs
Removed trailing spaces
2020-10-11 18:26:59 +01:00
BaronGreenback
8c0748b677 Update BasePlugin.cs
Added ConfigurationChanged event.
2020-10-11 16:41:30 +01:00
Niels van Velzen
7072b4d926 Make StartupWizardCompleted nullable in PublicSystemInfo 2020-10-11 17:01:33 +02:00
Greenback
0b73a1d90f Added extra functionality to support registrar. 2020-10-11 13:19:14 +01:00
Cody Robibero
163d6b0f1d Update Jellyfin.Api/Helpers/RequestHelpers.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-11 06:15:55 -06:00
dkanada
2375c35c4a Merge pull request #4292 from crobibero/missing-general-command
Add missing general commands
2020-10-11 18:34:48 +09:00
dkanada
ddce3ef6be Merge pull request #4301 from crobibero/fix-array-binder
Fix comma delimited array model binder
2020-10-11 18:33:53 +09:00
dkanada
4fafa5796d Merge pull request #4304 from crobibero/query-location-type
Convert exclude location type string to enum.
2020-10-11 18:32:22 +09:00
dkanada
6e585ccfb2 Merge pull request #4303 from crobibero/query-filters
Convert filters string to enum.
2020-10-11 18:31:38 +09:00
dkanada
1a27d010ec Merge pull request #4243 from jlechem/RemoveHeaderCameraUploads
Removing string we don't use anymore.
2020-10-11 18:29:25 +09:00
Greenback
1ee1f9c8a7 Fixed web interface. 2020-10-10 15:27:02 +01:00
Greenback
b34d6fec3d fixed tests 2020-10-10 14:08:26 +01:00
Greenback
6dc81ec8e8 Changes to support network config 2020-10-10 14:05:19 +01:00
dkanada
53515483b8 Merge pull request #4219 from Spacetech/music_scan_speed_2
Increase initial scan speed for music libraries
2020-10-10 15:59:13 +09:00
dkanada
6478e70f06 Merge pull request #4221 from Spacetech/tvdb_series_provider_InvalidOperationException
Fix InvalidOperationException in TvdbSeriesProvider.MapSeriesToResult
2020-10-10 15:55:11 +09:00
dkanada
d9e7f1f75f Merge pull request #4212 from BaronGreenback/BaseControlHandlerFix
Null Pointer fix: BaseControlHandler.cs
2020-10-10 15:52:48 +09:00
Anthony Lavado
242b4b6827 Merge pull request #4286 from Bond-009/minor6
Minor improvements to tmdb code
2020-10-09 20:14:37 -04:00
Anthony Lavado
0cacdd20e0 Merge pull request #4284 from cvium/fix_playbackstart
Fix playbackstart not triggering in the new eventmanager
2020-10-09 20:12:34 -04:00
Anthony Lavado
ecabcff8f0 Merge pull request #4274 from barronpm/activitylog-query
Rewrite Activity Log Backend
2020-10-09 20:12:26 -04:00
Anthony Lavado
ea5c78ee21 Merge pull request #4259 from ConfusedPolarBear/imageFormat
Accept ImageFormat as API parameter
2020-10-09 20:12:11 -04:00
Anthony Lavado
dd43af23a4 Merge pull request #4248 from crobibero/ws-document-filter
Manually register models used in websocket messages.
2020-10-09 20:11:57 -04:00
Anthony Lavado
85d4d0d072 Merge pull request #4306 from crobibero/legacy-windows
Remove references to legacy scripts
2020-10-09 20:08:15 -04:00
Anthony Lavado
2fe1f896ea Merge pull request #4300 from crobibero/ci-pls
Fix ci npm install order
2020-10-09 20:05:24 -04:00
crobibero
1bbd8df92b Remove references to legacy scripts 2020-10-09 18:02:53 -06:00
crobibero
2eafbc03e4 fix build 2020-10-09 18:01:12 -06:00
crobibero
27e753ddb4 Convert image type string to enum. 2020-10-09 17:52:39 -06:00
crobibero
ed4b470397 Convert exclude location type string to enum. 2020-10-09 17:46:39 -06:00
crobibero
549f2284ad Convert filters string to enum. 2020-10-09 17:41:17 -06:00
crobibero
69360b749a Convert field string to enum. 2020-10-09 17:35:08 -06:00
shakesac
67722a2034 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2020-10-09 19:10:37 -04:00
crobibero
6a3a193dbb Fix and clean tests 2020-10-09 17:10:06 -06:00
crobibero
17b20aa0c0 Fix comma delimited array model binder 2020-10-09 17:03:45 -06:00
crobibero
5109d558d9 fix npm install order 2020-10-09 09:52:05 -06:00
Anthony Lavado
a9d9f24078 Merge pull request #4299 from crobibero/ci-pls
Fix api client CI
2020-10-09 11:40:06 -04:00
crobibero
60c0cc1d1c Fix feed name and url 2020-10-09 08:51:22 -06:00
crobibero
2a6ea45ee1 Run npm install task 2020-10-09 08:43:59 -06:00
crobibero
3119acd502 Remove tvdb plugin from server. 2020-10-09 07:43:02 -06:00
Greenback
ebe650afa9 Merge remote-tracking branch 'upstream/master' into NetworkPR2 2020-10-09 14:12:41 +01:00
Greenback
8a4f81c9a7 Updated networkmanager to the lastest. 2020-10-09 14:04:55 +01:00
Anthony Lavado
10d48b0623 Merge pull request #4281 from crobibero/npm-registry
Fix registry name and link
2020-10-09 00:10:56 -04:00
Greenback
39754b840d minor fixes 2020-10-08 19:16:47 +01:00
Greenback
deb4d27857 Moved all settings across to network.xml 2020-10-08 19:00:55 +01:00
Greenback
a3f0843ac9 Updated NetworkManager to PR1 2020-10-08 19:00:30 +01:00
crobibero
fe49ae7cb5 fix casing 2020-10-08 07:21:55 -06:00
crobibero
e9f17f3cab Add missing general commands for Kodi 2020-10-07 17:26:02 -06:00
crobibero
508b7c0a4e Add missing general commands 2020-10-07 17:16:03 -06:00
cvium
4a81ee43dc Add try-catch to avoid crashing the whole thing 2020-10-06 23:36:48 +02:00
cvium
137baab0ac Remove websocketmanager from ApplicationHost 2020-10-06 20:19:36 +02:00
Bond-009
6def4b06a8 Minor improvements to tmdb code 2020-10-06 14:54:17 +02:00
cvium
38cb8fee8a Fix IWebSocketListener service registration 2020-10-06 14:44:07 +02:00
cvium
3d69bcd190 Fix playbackstart not triggering in the new eventmanager 2020-10-06 08:14:56 +02:00
dkanada
3a238de35e Merge pull request #4265 from KonH/remove_unnecessary_null_checks
Remove unnecessary null checks in some places
2020-10-06 13:04:54 +09:00
dkanada
e11a2d4397 Merge pull request #4273 from joshuaboniface/fix-damn-rpm-spec-again-fuck
Fix RPM spec again
2020-10-06 12:30:22 +09:00
dkanada
f8657d70ff Merge pull request #4277 from jellyfin/dependabot/nuget/Moq-4.14.6
Bump Moq from 4.14.5 to 4.14.6
2020-10-06 12:29:00 +09:00
Patrick Barron
d4a492ef93 Fix activity log query. 2020-10-05 22:51:52 -04:00
Joshua M. Boniface
29e77d56ec Merge pull request #4279 from joshuaboniface/fix-bad-migration
Make MaxActiveSessions not nullable
2020-10-05 20:43:36 -04:00
Joshua M. Boniface
b3249e849c Add default value of 0 2020-10-05 16:54:51 -04:00
crobibero
8bf560c41e fix registry name and link 2020-10-05 13:00:07 -06:00
Joshua M. Boniface
49c363751a Make MaxActiveSessions not nullable
Fixes a bad assumption with the previous migration.
2020-10-05 14:04:57 -04:00
Joshua M. Boniface
2d689f101b Merge pull request #4268 from Bond-009/groupinfo
Improve GroupInfo class
2020-10-05 13:18:17 -04:00
Joshua M. Boniface
72ad3b327f Merge pull request #4257 from Bond-009/tests3
Add tests for deserializing guids
2020-10-05 13:17:50 -04:00
Joshua M. Boniface
5e11eb0359 Merge pull request #4264 from Camc314/patch-1
Add missing properties to typescript axios generator
2020-10-05 10:22:15 -04:00
Cameron
7e7eb3a2f9 Add missing properties to typescript-axios gen 2020-10-05 14:30:35 +01:00
Bond-009
fe9d25c268 Merge pull request #4271 from joshuaboniface/fix-ci-script
Improve handling of apiclient generator
2020-10-05 15:11:06 +02:00
Bond-009
40bbcb63db Merge pull request #4275 from anthonylavado/tasktimer
Fix Transcode Cleanup Schedule
2020-10-05 14:15:11 +02:00
dependabot[bot]
dba4df1977 Bump Moq from 4.14.5 to 4.14.6
Bumps [Moq](https://github.com/moq/moq4) from 4.14.5 to 4.14.6.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/compare/v4.14.5...v4.14.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-05 12:00:58 +00:00
Bond-009
d22fe41c3c Merge pull request #4177 from cvium/remove_missing
Remove dummy season and missing episode provider
2020-10-05 12:59:39 +02:00
cvium
72cd6ab071 Remove dummy season and missing episode provider in a futile attempt to remove cruft 2020-10-05 12:13:41 +02:00
Bond-009
e011659186 Merge pull request #4210 from nielsvanvelzen/typed-websocket-message
Use enum for WebSocket message types
2020-10-05 10:40:52 +02:00
Bond-009
f1bf21cffd Merge pull request #4225 from Spacetech/save_image_check
Check response status code before saving images
2020-10-05 10:40:37 +02:00
Bond-009
14042d51b0 Merge pull request #4276 from cvium/fix_403
SecurityException should return 403
2020-10-05 10:34:10 +02:00
cvium
df75c1cd9c SecurityException should return 403 2020-10-05 08:28:37 +02:00
Anthony Lavado
959d906c85 Just enable instead 2020-10-05 02:25:09 -04:00
Anthony Lavado
375f849b3e Simply trigger
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-10-05 02:14:43 -04:00
Anthony Lavado
e77040a4fb Fix Transcode Cleanup Schedule
Sets the default time to midnight, and confirms to the same task
scheduling commands that other tasks use.
2020-10-05 00:15:25 -04:00
Joshua M. Boniface
2a575dd67e Merge pull request #4269 from joshuaboniface/session-limit
Add user max sessions options
2020-10-04 23:34:52 -04:00
Joshua M. Boniface
d47284d59f Merge pull request #4202 from cvium/tmdblib_migration
Migrate the TMDb providers to the TMDbLib library
2020-10-04 20:59:14 -04:00
Joshua M. Boniface
f2763a71e0 Rename migrations to match others 2020-10-04 20:31:24 -04:00
Patrick Barron
4d7e7d6331 Rewrite activity log backend to use a query class. 2020-10-04 20:29:28 -04:00
Joshua M. Boniface
1bfe9713af Make MaxSessions default 0 2020-10-04 20:24:35 -04:00
Joshua M. Boniface
88bc2fa3ec Just make everything under libdir/jf a wildcard
I don't know if this will actually work but maybe it will.
2020-10-04 19:50:54 -04:00
Joshua M. Boniface
fc28ffea53 Improve handling of apiclient generator
1. Replace the separate stable/unstable scripts with a single script and
handle the difference with argument parsing.
2. Unify the calls and pass the Azure arguments in on the CLI.
2020-10-04 19:03:39 -04:00
Joshua M. Boniface
67e89dd525 Use nicer count comparitor 2020-10-04 17:00:13 -04:00
Bond-009
07be066180 Merge pull request #4252 from skyfrk/4214-supported-commands-enum
Convert supportedCommands strings to enums
2020-10-04 22:40:14 +02:00
Joshua M. Boniface
df177b4752 Revert "Implement better count method"
This reverts commit 5aa519fd39.
2020-10-04 15:52:39 -04:00
Joshua M. Boniface
5aa519fd39 Implement better count method 2020-10-04 15:46:57 -04:00
Joshua M. Boniface
8dfa2015d0 Make the count an int for cleanliness 2020-10-04 14:14:42 -04:00
Joshua M. Boniface
d0ec6872f3 Increase count check to 1
There's another way to disable a user anyways.
2020-10-04 14:06:20 -04:00
Joshua M. Boniface
725acb528a Add pragma warning disabled to migrations 2020-10-04 13:47:59 -04:00
Joshua M. Boniface
cd328a0be3 Remove default set for MaxActiveSessions 2020-10-04 13:34:53 -04:00
Joshua M. Boniface
6e1d1eed23 Make log entry informational 2020-10-04 13:30:21 -04:00
Joshua M. Boniface
b130af1b0c Remove variables from SecurityException 2020-10-04 13:29:18 -04:00
Joshua M. Boniface
a9e5f6e770 Remove nullable from MaxActiveSessions 2020-10-04 13:25:07 -04:00
Joshua M. Boniface
2577595bac Remove obsolete getter 2020-10-04 13:23:20 -04:00
Joshua M. Boniface
975fca5158 Fix syntax error 2020-10-04 13:19:56 -04:00
Joshua M. Boniface
b9d79d7635 Add DB migration for new MaxActiveSessions field 2020-10-04 13:14:32 -04:00
Joshua M. Boniface
5a7dda337f Add active session tracking
Adds a flag for a maximum number of user sessions, as well as an
authentication check to ensure that the user is not above this level.
2020-10-04 13:02:54 -04:00
Bond-009
d11adeb85e Merge pull request #4266 from Maxr1998/log-stream-info
Log stream type and codec for missing direct play profile
2020-10-04 17:06:59 +02:00
Bond-009
e93bb9aa8d Merge pull request #4267 from cvium/disable_invalidauthprovider
Disable invalid auth provider
2020-10-04 17:01:12 +02:00
Bond_009
e96d41d5ef Fix build 2020-10-04 16:45:00 +02:00
Bond_009
f0556c8ded Improve GroupInfo class
* Fixed docs
* Remove extra dictionary lookups
* change property to constant
2020-10-04 16:27:34 +02:00
Bond_009
d7dc15971e Add roundtrip test 2020-10-04 16:26:43 +02:00
BaronGreenback
2e3901252a Update UserManager.cs 2020-10-04 10:07:05 +01:00
BaronGreenback
fae70bbbcf Update LocalAccessHandlerTests.cs 2020-10-04 10:05:38 +01:00
BaronGreenback
29133b6452 Update PathSubstitution.cs 2020-10-04 10:04:43 +01:00
BaronGreenback
7f1ec1b569 Update MediaInfoHelper.cs 2020-10-04 10:03:34 +01:00
BaronGreenback
5360f5a43d Update UserController.cs 2020-10-04 10:03:08 +01:00
BaronGreenback
bb4c668650 Update LocalAccessHandler.cs 2020-10-04 10:02:52 +01:00
BaronGreenback
eaf684a68c Update DynamicHlsHelper.cs 2020-10-04 10:02:35 +01:00
BaronGreenback
b5ea16cf7b Update LocalAccessOrRequiresElevationHandler.cs 2020-10-04 10:02:13 +01:00
BaronGreenback
168a4ec2f2 Update IgnoreParentalControlHandler.cs 2020-10-04 10:01:56 +01:00
BaronGreenback
34ef6492ee Update FirstTimeOrIgnoreParentalControlSetupHandler.cs 2020-10-04 10:01:32 +01:00
BaronGreenback
a3a2ca412b Update DownloadHandler.cs 2020-10-04 10:01:10 +01:00
BaronGreenback
04552e86fb Update DefaultAuthorizationHandler.cs 2020-10-04 10:00:51 +01:00
Jim Cartlidge
47f4639b84 Merge branch 'NetworkPR2' of https://github.com/BaronGreenback/jellyfin into NetworkPR2 2020-10-04 09:56:45 +01:00
Jim Cartlidge
53af1e3455 Updatig netcollection & re-inserting BOM 2020-10-04 09:56:33 +01:00
Matt Montgomery
7cec65b973 Update documentation 2020-10-03 14:35:57 -05:00
cvium
a839b015f9 Disable invalid auth provider 2020-10-03 21:24:04 +02:00
cvium
24dfa097fa Update TMDbLib version 2020-10-03 19:53:26 +02:00
cvium
a0862c933d Add image languages to collections 2020-10-03 19:53:07 +02:00
cvium
d7cabb2e4e Add image languages 2020-10-03 19:53:07 +02:00
cvium
e0f21afa62 Fix build 2020-10-03 19:53:07 +02:00
Claus Vium
c0f4c90d57 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-03 19:53:07 +02:00
cvium
9adbf4e9d8 Add keywords as tags to series + cleanup 2020-10-03 19:53:07 +02:00
cvium
f4d49eff9b Add keywords as tags 2020-10-03 19:53:07 +02:00
cvium
3df2a95cac Cleanup in TmdbUtils 2020-10-03 19:53:07 +02:00
cvium
f8c4f7c63e Fix inverted boolean statement 2020-10-03 19:53:07 +02:00
cvium
34d2716ce8 Remove TmdbSettingsResult which came back in the rebase 2020-10-03 19:53:07 +02:00
cvium
08e1f15add Cleanup in TmdbMovieProvider 2020-10-03 19:53:07 +02:00
cvium
e9524f89d6 Migrate the TMDb providers to the TMDbLib library 2020-10-03 19:53:07 +02:00
Maxr1998
e01209a6f5 Log stream type and codec for missing direct play profile 2020-10-03 17:14:09 +02:00
KonH
211c9cd608 Remove unnecessary null checks in some places
Related to https://github.com/jellyfin/jellyfin/issues/2149
2020-10-03 22:03:23 +07:00
cvium
1b18f86c8b Add missing parameter comments. 2020-10-03 13:52:51 +02:00
cvium
5d3449e9dc Fix xml doc comment 2020-10-03 13:39:39 +02:00
cvium
763862cbd8 Defer image pre-fetching until the end of a refresh/scan 2020-10-03 13:36:53 +02:00
github@esslinger.dev
ec0ff5d02f test: use descriptive test method names 2020-10-03 12:40:28 +02:00
Nyanmisaka
9fbf725a6d Enhance workload when tone mapping on some APUs 2020-10-03 17:53:10 +08:00
BaronGreenback
7459baac8b Update ApplicationHost.cs 2020-10-03 09:23:12 +01:00
BaronGreenback
2929ce6e0d Update ApplicationHost.cs 2020-10-03 09:18:00 +01:00
BaronGreenback
298a322ac1 Update ApplicationHost.cs 2020-10-03 09:13:04 +01:00
BaronGreenback
ba685d8092 Update ApplicationHost.cs 2020-10-03 09:08:28 +01:00
Nyanmisaka
2124bc2e18 enhance workload when tone mapping with AMF
zscale filter is required.
2020-10-03 16:04:39 +08:00
Anthony Lavado
c0be770681 Merge pull request #4262 from anthonylavado/remove-windows-legacy
Remove Windows legacy files
2020-10-02 23:00:23 -04:00
Gary Wilber
a51adec836 fix parallelism when set to 0 2020-10-02 18:26:10 -07:00
Anthony Lavado
86cbefb059 Remove Windows legacy files 2020-10-02 20:32:52 -04:00
Gary Wilber
7841378506 cleaner 2020-10-02 17:27:43 -07:00
Gary Wilber
db2e667936 expand try finally 2020-10-02 17:19:35 -07:00
Gary Wilber
04cdc89a5c Make MusicBrainzAlbumProvider thread safe 2020-10-02 17:14:57 -07:00
github@esslinger.dev
1bd80a634f test: add CommaDelimitedArrayModelBinder tests 2020-10-03 01:09:45 +02:00
github@esslinger.dev
b3b98a5cc8 test: add TestType enum 2020-10-03 01:09:28 +02:00
github@esslinger.dev
33f80dc3c1 feat(CommaDelimitedArrayModelBinder): add none result check 2020-10-03 01:09:15 +02:00
Bond-009
1c6a45f7a3 Merge pull request #4260 from crobibero/api-data-file
Allow server to return .data files
2020-10-02 23:05:01 +02:00
Joshua M. Boniface
cb94b5a944 Merge pull request #4070 from crobibero/ci-api-client
Add ci task to publish api client
2020-10-02 16:57:50 -04:00
Joshua M. Boniface
5f65fd93a1 Merge pull request #4249 from jellyfin/EraYaN-openapi-spec-fix
Publish OpenAPI spec for master and tagged releases
2020-10-02 16:57:07 -04:00
crobibero
6a32385588 Allow server to return .data files 2020-10-02 13:30:31 -06:00
Bond-009
b87db136cc Merge pull request #4255 from crobibero/ci-xml-docs
Generate document file for openapi spec in CI
2020-10-02 20:00:42 +02:00
Bond-009
c3655e0e2e Merge pull request #4217 from crobibero/json-nullable-struct-converter
Properly handle null structs in json
2020-10-02 19:57:47 +02:00
Bond_009
8535a718b7 Add tests for deserializing guids 2020-10-02 19:43:34 +02:00
Matt Montgomery
754e859f6e Convert strings to ImageFormat 2020-10-02 12:05:39 -05:00
github@esslinger.dev
c3e7eb3a6f Merge branch '4214-supported-commands-enum' of https://github.com/skyfrk/jellyfin into 4214-supported-commands-enum 2020-10-02 18:29:59 +02:00
github@esslinger.dev
9aad772288 feat: implement CommaDelimitedArrayModelBinderProvider 2020-10-02 18:26:48 +02:00
Cody Robibero
0ffc58e255 Update .ci/azure-pipelines-api-client.yml
Co-authored-by: Cameron <Influence365@gmail.com>
2020-10-02 08:21:28 -06:00
crobibero
b95533d6a9 there I go changing paths again 2020-10-02 08:06:06 -06:00
crobibero
86e06369a9 fix liniting errors 2020-10-02 08:00:57 -06:00
crobibero
3d20ff69d4 Fix repo connections 2020-10-02 07:50:38 -06:00
crobibero
75dada6308 add withSeparateModelsAndApi 2020-10-02 07:47:14 -06:00
crobibero
7d992798fd specify client specifically instead of through template 2020-10-02 07:40:44 -06:00
crobibero
520acc11e6 scope npm package name 2020-10-02 07:19:18 -06:00
crobibero
fcc9482ff9 Generate document file for openapi spec in CI 2020-10-02 07:07:48 -06:00
crobibero
810ec0b672 Fix download api spec 2020-10-02 07:00:57 -06:00
Simon Eßlinger
21b39a207d refactor: simplify null check
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-02 01:33:15 +02:00
Gary Wilber
ac6d51554c Fix lastProgressMessageTimes dictionary errors 2020-10-01 16:25:01 -07:00
Gary Wilber
8f2fbf7a99 Switch to TPL dataflow for subfolder scan 2020-10-01 16:24:35 -07:00
Simon Eßlinger
d10090b394 fix: remove unused null check
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-10-01 22:48:42 +02:00
Stanislav Ionascu
cd4641dca0 Remove PlayableStreamFileNames as unused
Since ffmpeg can play and transcode ISO files and BDMV folders directly,
there's no use of that property.
2020-10-01 22:20:34 +02:00
github@esslinger.dev
4b4c74bdcd feat: extend CommaDelimitedArrayModelBinder to support auto generated openAPI spec 2020-10-01 22:04:53 +02:00
Stanislav Ionascu
3ad6232973 Add probe / direct-stream / transcoding support for BluRays
This commit (and ffmpeg built with libbluray support), adds support
for playback of bluray images (bd-iso) and bluray folders.
2020-10-01 21:59:57 +02:00
BaronGreenback
02de44ec0c Update BaseAuthorizationHandler.cs 2020-10-01 20:54:39 +01:00
BaronGreenback
688d098d61 Update Emby.Server.Implementations.csproj 2020-10-01 20:51:25 +01:00
BaronGreenback
dff2674b27 Update BasePlugin.cs 2020-10-01 20:42:48 +01:00
BaronGreenback
a69731b5e3 Update BasePlugin.cs
Moved initialisation ApplicationHost.cs /LoadPlugin()
2020-10-01 20:30:12 +01:00
BaronGreenback
d91a4f0c6d Update ApplicationHost.cs 2020-10-01 20:25:40 +01:00
BaronGreenback
0738a2dc4b Update ApplicationHost.cs 2020-10-01 19:22:58 +01:00
BaronGreenback
ee40f21049 Update ApplicationHost.cs 2020-10-01 18:59:46 +01:00
github@esslinger.dev
ba12ea7f4a feat: use CommaDelimitedArrayModelBinder to retain API 2020-10-01 19:57:31 +02:00
github@esslinger.dev
0655928ab1 feat: add CommaDelimitedArrayModelBinder 2020-10-01 19:56:59 +02:00
github@esslinger.dev
f314be9d85 chore(CONTRIBUTORS.md): add skyfrk 2020-10-01 18:44:22 +02:00
github@esslinger.dev
dd4f3a7c51 feat: convert supportedCommands strings to enums 2020-10-01 18:43:44 +02:00
crobibero
2b75af9873 set type of GroupUpdate 2020-10-01 10:40:58 -06:00
Erwin de Haan
c0de26f69a Publish OpenAPI Spec to repository server 2020-10-01 17:57:40 +02:00
crobibero
4a3e0062f9 Add missing PlaystateRequest and remove additional GroupUpdate types 2020-10-01 09:39:57 -06:00
Erwin de Haan
9585fea51e Update azure-pipelines.yml 2020-10-01 17:38:36 +02:00
crobibero
5ee6f49204 Manually register models used in websocket messages. 2020-10-01 08:10:47 -06:00
Gary Wilber
c2276b17cb Increase library scan and metadata refresh speed 2020-09-30 19:33:34 -07:00
Justin LeCheminant
3b0c6c660d Removing string we don't use anymore. 2020-09-30 20:26:59 -06:00
crobibero
53d8023def Update all on-disk plugins 2020-09-30 17:37:30 -06:00
Jim Cartlidge
3b64171cde Minor change to get it to compile. 2020-09-30 18:02:36 +01:00
Jim Cartlidge
fcd1b2f0e4 Merged with latest master 2020-09-30 17:52:33 +01:00
Jim Cartlidge
e15d6ed12e Merge branch 'NetworkPR2' of https://github.com/BaronGreenback/jellyfin into NetworkPR2 2020-09-30 17:51:41 +01:00
Jim Cartlidge
bbe2400b59 Updating to NetCollection 1.03 2020-09-30 17:51:17 +01:00
Bond-009
c7b3d4a90c Merge pull request #4164 from spooksbit/remove-browser-auto-load
Removed browser auto-launch functionality
2020-09-29 18:24:58 +02:00
Bond-009
cbf9be9416 Merge pull request #3577 from crobibero/package-install-repo
Specify plugin repo on plugin installation
2020-09-29 18:24:11 +02:00
Gary Wilber
25d8d85740 Back to HttpException 2020-09-29 01:19:12 -07:00
dkanada
1f44785441 Merge pull request #4230 from jellyfin/dependabot/nuget/BlurHashSharp.SkiaSharp-1.1.1
Bump BlurHashSharp.SkiaSharp from 1.1.0 to 1.1.1
2020-09-29 16:34:10 +09:00
dkanada
0235f44b42 Merge pull request #4226 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore-5.6.3
Bump Swashbuckle.AspNetCore from 5.5.1 to 5.6.3
2020-09-29 16:33:50 +09:00
Bond-009
7775066475 Merge pull request #4236 from ConfusedPolarBear/warnings1
Fix some warnings
2020-09-29 09:18:52 +02:00
Gary Wilber
fd7a36932d simplify EndDate query 2020-09-28 18:13:50 -07:00
Gary Wilber
e9911b70dd Use EnsureSuccessStatusCode 2020-09-28 18:12:35 -07:00
spookbits
c912093579 Created a separate API Docs profile to launch the browser at the API docs, and the nowebclient profile no longer launches the browser at all.
Don't point to web in the client because it won't redirect properly.

Modified the vscode launch.json to automatically launch the browser when debugging the first configuration. The
2020-09-28 16:34:48 -04:00
Matt Montgomery
53d5f64e03 Fix SA1513, SA1514, SA1507, and SA1508 2020-09-28 15:04:31 -05:00
dkanada
6cafc152b9 Merge pull request #4222 from Spacetech/directory_service_concurrent
Use ConcurrentDictionary's in DirectoryService
2020-09-28 23:56:36 +09:00
dkanada
c94d774ee7 Merge pull request #4220 from Spacetech/TvdbEpisodeImageProvider_nullable_check
Fix invalid operation exception in TvdbEpisodeImageProvider.GetImages
2020-09-28 23:53:55 +09:00
dkanada
7030e925b7 Merge pull request #4200 from ryanpetris/hdhomerun-preemptive-livetv-conflict
HDHomeRun: Preemptively throw a LiveTvConflictException
2020-09-28 23:52:34 +09:00
dkanada
206c382b92 Merge pull request #4211 from BaronGreenback/NullPointerFix
Null Pointer Fix : PlayToController.cs
2020-09-28 23:51:24 +09:00
dependabot[bot]
a26ff86553 Bump Swashbuckle.AspNetCore from 5.5.1 to 5.6.3
Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 5.5.1 to 5.6.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v5.5.1...v5.6.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 14:50:39 +00:00
dkanada
1bf527f8b4 Merge pull request #4227 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-5.6.3
Bump Swashbuckle.AspNetCore.ReDoc from 5.5.1 to 5.6.3
2020-09-28 23:50:08 +09:00
dkanada
c60f8979d4 Merge pull request #4228 from jellyfin/dependabot/nuget/IPNetwork2-2.5.226
Bump IPNetwork2 from 2.5.224 to 2.5.226
2020-09-28 23:49:49 +09:00
dkanada
1c17a531a9 Merge pull request #4233 from jellyfin/dependabot/nuget/Mono.Nat-3.0.0
Bump Mono.Nat from 2.0.2 to 3.0.0
2020-09-28 23:49:17 +09:00
dkanada
a3d4a168d8 Merge pull request #4232 from jellyfin/dependabot/nuget/TvDbSharper-3.2.2
Bump TvDbSharper from 3.2.1 to 3.2.2
2020-09-28 23:48:48 +09:00
dependabot[bot]
e84cfc688b Bump BlurHashSharp.SkiaSharp from 1.1.0 to 1.1.1
Bumps [BlurHashSharp.SkiaSharp](https://github.com/Bond-009/BlurHashSharp) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/Bond-009/BlurHashSharp/releases)
- [Commits](https://github.com/Bond-009/BlurHashSharp/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 14:48:34 +00:00
dkanada
c8b3381d65 Merge pull request #4231 from jellyfin/dependabot/nuget/Serilog.Sinks.Graylog-2.2.1
Bump Serilog.Sinks.Graylog from 2.1.3 to 2.2.1
2020-09-28 23:48:31 +09:00
dkanada
049d7b1840 Merge pull request #4229 from jellyfin/dependabot/nuget/BlurHashSharp-1.1.1
Bump BlurHashSharp from 1.1.0 to 1.1.1
2020-09-28 23:47:35 +09:00
dependabot[bot]
baa35cfc99 Bump Mono.Nat from 2.0.2 to 3.0.0
Bumps [Mono.Nat](https://github.com/mono/Mono.Nat) from 2.0.2 to 3.0.0.
- [Release notes](https://github.com/mono/Mono.Nat/releases)
- [Commits](https://github.com/mono/Mono.Nat/compare/release-v2.0.2...release-v3.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:47 +00:00
dependabot[bot]
5eb54be1e3 Bump TvDbSharper from 3.2.1 to 3.2.2
Bumps [TvDbSharper](https://github.com/HristoKolev/TvDbSharper) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/HristoKolev/TvDbSharper/releases)
- [Changelog](https://github.com/HristoKolev/TvDbSharper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/HristoKolev/TvDbSharper/compare/v3.2.1...v3.2.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:45 +00:00
dependabot[bot]
45faf56085 Bump Serilog.Sinks.Graylog from 2.1.3 to 2.2.1
Bumps [Serilog.Sinks.Graylog](https://github.com/whir1/serilog-sinks-graylog) from 2.1.3 to 2.2.1.
- [Release notes](https://github.com/whir1/serilog-sinks-graylog/releases)
- [Commits](https://github.com/whir1/serilog-sinks-graylog/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:45 +00:00
dependabot[bot]
5b6b66f7b3 Bump BlurHashSharp from 1.1.0 to 1.1.1
Bumps [BlurHashSharp](https://github.com/Bond-009/BlurHashSharp) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/Bond-009/BlurHashSharp/releases)
- [Commits](https://github.com/Bond-009/BlurHashSharp/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:43 +00:00
dependabot[bot]
c0afaef985 Bump IPNetwork2 from 2.5.224 to 2.5.226
Bumps [IPNetwork2](https://github.com/lduchosal/ipnetwork) from 2.5.224 to 2.5.226.
- [Release notes](https://github.com/lduchosal/ipnetwork/releases)
- [Commits](https://github.com/lduchosal/ipnetwork/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:42 +00:00
dependabot[bot]
61c1bdb6df Bump Swashbuckle.AspNetCore.ReDoc from 5.5.1 to 5.6.3
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 5.5.1 to 5.6.3.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v5.5.1...v5.6.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 12:00:38 +00:00
BaronGreenback
ef737a4e8e Update Emby.Dlna/Configuration/DlnaOptions.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-28 07:49:36 +01:00
BaronGreenback
bdfe7554e9 Update Emby.Dlna/Configuration/DlnaOptions.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-28 07:49:08 +01:00
Gary Wilber
722ec43e25 remove status code from exception message 2020-09-27 23:05:43 -07:00
Gary Wilber
3ca9b13f99 Check response status code before saving images 2020-09-27 21:47:30 -07:00
Gary Wilber
eb04773c79 Use the get or add argument 2020-09-27 17:34:36 -07:00
Gary Wilber
50c9083bc0 remove unnecessary parentheses 2020-09-27 17:25:08 -07:00
Gary Wilber
449f7e1b1e update based on suggestions 2020-09-27 17:24:12 -07:00
Gary Wilber
89041982c2 Use ConcurrentDictionary's in DirectoryService 2020-09-27 17:02:10 -07:00
Gary Wilber
881a7fa908 update based on suggestions 2020-09-27 16:57:43 -07:00
Gary Wilber
303eccaffe Fix InvalidOperationException in TvdbSeriesProvider 2020-09-27 16:22:52 -07:00
Gary Wilber
12275e5e7b Fix invalid operation exception in TvdbEpisodeImageProvider.GetImages 2020-09-27 16:16:19 -07:00
Gary Wilber
3cfbe6e340 better audio file check 2020-09-27 13:28:19 -07:00
Gary Wilber
75041e7f39 interlocked increment 2020-09-27 12:56:12 -07:00
Bond-009
43add833cc Merge pull request #4162 from BaronGreenback/DlnaServerBaseUrlFix
Fix for #4161: BaseUrl in DLNA
2020-09-27 20:01:32 +02:00
crobibero
ac790cd77b Properly handle null structs in json 2020-09-27 09:45:11 -06:00
dkanada
63b49ff4d8 Merge pull request #4204 from cvium/add_aspect_ratio_seriesprimary
Add series image aspect ratio when ep/season is missing an image
2020-09-27 19:07:57 +09:00
Niels van Velzen
72534f9d66 Use SessionMessageType for WebSocket messages 2020-09-27 10:00:20 +02:00
Gary Wilber
05fa95f149 Increase scan speed for music libraries 2020-09-26 19:33:59 -07:00
crobibero
b7022e8dc1 Merge remote-tracking branch 'upstream/master' into package-install-repo 2020-09-26 16:57:53 -06:00
cvium
146cad6150 Remove EOF counter 2020-09-26 19:03:23 +02:00
BaronGreenback
abfddba568 Merge pull request #74 from jellyfin/master
Updating from upstream
2020-09-26 11:37:00 +01:00
hoanghuy309
800c039612 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-25 23:54:00 -04:00
cvium
6ca313abc1 Add ProgressiveFileStream 2020-09-25 23:59:17 +02:00
Eben van Deventer
10556b16f8 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2020-09-25 16:54:31 -04:00
Eben van Deventer
3a79b9fc32 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2020-09-25 16:21:25 -04:00
Eben van Deventer
0c8692e337 Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2020-09-25 15:57:16 -04:00
Eben van Deventer
b66ff9a08c Translated using Weblate (Afrikaans)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/af/
2020-09-25 15:51:08 -04:00
BaronGreenback
7567779127 Update BaseControlHandler.cs 2020-09-25 19:51:37 +01:00
BaronGreenback
63571578ae Update BaseControlHandler.cs 2020-09-25 19:44:16 +01:00
Bond-009
b41da8e5d7 Merge pull request #4209 from cvium/fix_forgotpassword
Add Dto to ForgotPassword
2020-09-25 20:06:53 +02:00
radiusgreenhill
7ee57a07a7 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2020-09-25 13:48:34 -04:00
BaronGreenback
a52ab69e13 Update DescriptionXmlBuilder.cs 2020-09-25 18:47:24 +01:00
BaronGreenback
f3a90bab47 Update DescriptionXmlBuilder.cs 2020-09-25 18:46:52 +01:00
BaronGreenback
12b5f1127e Update DescriptionXmlBuilder.cs 2020-09-25 18:46:20 +01:00
BaronGreenback
293237b714 Update BaseControlHandler.cs 2020-09-25 18:40:10 +01:00
BaronGreenback
a9864368c4 Update PlayToController.cs 2020-09-25 17:25:50 +01:00
cvium
fed58a0327 Add Dto to ForgotPassword 2020-09-25 12:56:47 +02:00
Joshua M. Boniface
66833b2d6b Merge pull request #4207 from joshuaboniface/update-readme
Revamp the main README
2020-09-25 03:00:46 -04:00
Bond-009
48e9162852 Merge pull request #4208 from cvium/fix_identify
Fix Identify by renaming route parameter to match function argument
2020-09-25 08:51:24 +02:00
cvium
c92eda53c5 Fix Identify by renaming route parameter to match function argument 2020-09-25 08:49:44 +02:00
Bond-009
c67ffa417a Merge pull request #4205 from cvium/fix_aspectratio_calc
Fix aspect ratio calculation sometimes returning 0 or 1
2020-09-25 08:19:09 +02:00
hoanghuy309
18ab0c21b2 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-25 01:40:33 -04:00
hoanghuy309
4c0ec387e5 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-24 23:03:06 -04:00
Joshua M. Boniface
2274aa30ce Correct typo 2020-09-24 21:26:03 -04:00
Joshua M. Boniface
23a56a4a26 Fix bad line endings 2020-09-24 21:25:11 -04:00
Joshua M. Boniface
7b60872f2b Revamp the main README
1. Make the descriptions more consistent.
2. Link to the webpage first, then docs.
3. Make the Weblate reference similar to the others.
2020-09-24 21:21:58 -04:00
cvium
ec5b738079 Fix aspect ratio calculation returning 0 or 1 when item has no default AR 2020-09-24 23:09:26 +02:00
cvium
9cdef5b57c Add series image aspect ratio when ep/season is missing an image 2020-09-24 22:27:17 +02:00
BaronGreenback
f97bea53e5 Update Emby.Server.Implementations.csproj 2020-09-24 16:11:24 +01:00
Jim Cartlidge
8c85cfd01d Fixed build 2020-09-24 16:02:29 +01:00
BaronGreenback
d617c0b8b0 Update SystemController.cs 2020-09-24 15:47:35 +01:00
BaronGreenback
28634d3b36 Update DlnaEntryPoint.cs 2020-09-24 15:43:06 +01:00
Jim Cartlidge
fb1d452b59 fix conflict 2020-09-24 15:37:34 +01:00
Jim Cartlidge
37cb4dbca6 Removed package reference. 2020-09-24 15:34:49 +01:00
Jim Cartlidge
5edf24db5c Updated to master 2020-09-24 15:34:30 +01:00
BaronGreenback
89e67b2e7f Merge branch 'master' into NetworkPR2 2020-09-24 15:15:32 +01:00
Ryan Petris
3fa3a9d57a Preemptively throw a LiveTvConflictException when the tracked live streams for a given device/tuner will exceed the number of supported streams. 2020-09-23 14:23:04 -07:00
Ryan Petris
4db5700e18 Don't take a lock if there's no intention to manipulate the list of open streams. Instead, use a ConcurrentDictionary so that, in those situations, thread-safe access to the dictionary is ensured. 2020-09-23 14:12:26 -07:00
Anthony Lavado
226316a486 Merge pull request #4103 from Bond-009/warn30
Fix some warnings
2020-09-23 10:30:24 -04:00
Anthony Lavado
5aa743a6a2 Merge pull request #4163 from Bond-009/minor4
Minor improvements
2020-09-23 10:30:13 -04:00
Anthony Lavado
25bfef58fc Merge pull request #4187 from BaronGreenback/FFMPegErrorMsg
Fix for #4184 when no FFMPEG path set.
2020-09-23 10:05:14 -04:00
Anthony Lavado
2746e1fecc Merge pull request #4189 from Bond-009/minor5
Minor improvements
2020-09-23 09:58:19 -04:00
Anthony Lavado
af24c43118 Merge pull request #4192 from nielsvanvelzen/generalcommand-sucks
Use GeneralCommandType enum in GeneralCommand
2020-09-23 09:57:45 -04:00
Oatavandi
9bcd81a5dd Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-09-23 09:12:57 -04:00
dkanada
236dfe3ed8 Merge pull request #4170 from BaronGreenback/VersioningImprovement
Plugin versioning - amended for plugins without meta.json
2020-09-23 20:06:35 +09:00
dkanada
8a299ba7c0 Merge pull request #4178 from hoanghuy309/patch-1
Update LocalizationManager.cs
2020-09-23 20:04:09 +09:00
dkanada
028c681c15 Merge pull request #3928 from Mygod/patch-1
Add 1440p to the mix
2020-09-23 20:00:26 +09:00
dkanada
1657af482a Merge pull request #4082 from cromefire/patch-4
More expressive names for the VideoStream API
2020-09-23 19:58:06 +09:00
dkanada
3b19da9780 Merge pull request #4194 from nvllsvm/optimize
Optimize images
2020-09-23 19:53:08 +09:00
dkanada
dfb2ef5cfe Merge pull request #4126 from crobibero/3.1.8
update to dotnet 3.1.8
2020-09-23 19:52:37 +09:00
Bond-009
7dc22bec7b Merge pull request #4173 from BaronGreenback/SessionControllerFix
Unstable: Various controller fixes.
2020-09-23 09:12:47 +02:00
hoanghuy309
a1511add06 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-22 21:47:09 -04:00
hoanghuy309
fa1df73d10 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-22 12:25:54 -04:00
Andrew Rabert
5a74710df3 Optimize images
Used:
- `oxipng --zopfli --opt max --strip all`
- `jpegoptim --all-progressive --strip-all`
2020-09-21 17:01:50 -04:00
Nelson Tham
03cbf5cfbf Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-09-21 15:21:58 -04:00
Niels van Velzen
891c538f81 Use GeneralCommandType in SessionController parameters 2020-09-21 17:49:45 +02:00
Niels van Velzen
3459655bb4 Use GeneralCommandType enum in GeneralCommand name 2020-09-21 16:56:22 +02:00
hoanghuy309
7da03d67a7 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-21 08:13:38 -04:00
장건
849835b486 Translated using Weblate (Korean)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2020-09-21 08:13:38 -04:00
Bond-009
bf815ef3e1 Merge pull request #4186 from BaronGreenback/versionMatchFix
Fixes #4185 : FFMPeg version match exception.
2020-09-21 12:28:51 +02:00
hoanghuy309
1f2e227610 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-21 06:22:51 -04:00
josteinh
983aa05e76 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2020-09-21 04:26:11 -04:00
BaronGreenback
f71812abc0 Update SessionController.cs 2020-09-20 14:36:46 +01:00
BaronGreenback
d6f01d6503 Update DynamicHlsController.cs 2020-09-20 14:35:46 +01:00
Bond_009
228b33a23b Minor improvements 2020-09-20 14:02:41 +02:00
BaronGreenback
9cb37ae9c2 Update Jellyfin.Api/Controllers/SessionController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-20 12:44:10 +01:00
jeremletrol81
d39b70de32 Translated using Weblate (French)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fr/
2020-09-20 07:09:22 -04:00
Ryan Petris
361f51ac94 Use TcpClient.Connect(). 2020-09-19 15:27:07 -07:00
Bond-009
3b006cd674 Merge pull request #4183 from Ullmie02/tmdb-fix
Fix TMDB Season Images
2020-09-19 21:51:23 +02:00
Anton Fernandez Príncipe
484cd88766 Translated using Weblate (Galician)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2020-09-19 12:01:32 -04:00
BaronGreenback
bbf196c7bd Update TranscodingJobHelper.cs 2020-09-19 16:44:35 +01:00
BaronGreenback
5464eaed4a Update EncoderValidator.cs 2020-09-19 16:40:39 +01:00
BaronGreenback
701d54260d Update SessionController.cs 2020-09-19 15:46:47 +01:00
BaronGreenback
7050525f6b Update SessionController.cs 2020-09-19 15:01:34 +01:00
BaronGreenback
50060175b1 Update DynamicHlsController.cs 2020-09-19 14:53:08 +01:00
BaronGreenback
d8e8d298ea Update Jellyfin.Api/Controllers/SessionController.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-09-19 13:58:56 +01:00
BaronGreenback
eee977a77b Update Jellyfin.Api/Controllers/SessionController.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-09-19 13:58:39 +01:00
BaronGreenback
4dae7d0521 Update Jellyfin.Api/Controllers/SessionController.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-09-19 13:58:18 +01:00
David
dc73d044de Fix TMDB Season Images 2020-09-19 13:58:35 +02:00
hoanghuy309
675fcab451 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-19 03:50:37 -04:00
Ryan Petris
0496e18179 Fix HD Home Run streaming.
* Use LocalEndPoint instead of RemoteEndPoint when determining local address.
* HdHomerunUdpStream.StartStreaming is meant to run until stream is closed, however HdHomerunUdpStream.Open needs to return as soon as stream is open to send stream url back to client. Therefore, StartStreaming should not be awaited on.
* TcpClient(IPEndPoint) treats endpoint as the local endpoint; use TcpClient(string, int) instead as it treats endpoint as the remote endpoint.
2020-09-18 22:29:09 -07:00
hoanghuy309
f363d8afd5 Update LocalizationManager.cs 2020-09-18 22:31:09 +07:00
dkanada
e92d8dd195 Merge pull request #4176 from MrTimscampi/skiasharp-dependency-blunder
Update SkiaSharp.NativeAssets.Linux to 2.80.2
2020-09-18 21:10:28 +09:00
MrTimscampi
226e517f11 Update SkiaSharp.NativeAssets.Linux to 2.80.2 2020-09-18 10:02:15 +02:00
Joshua M. Boniface
1672972b41 Merge pull request #4114 from crobibero/rpm-packaging
Add new files to rpm build
2020-09-17 17:01:33 -04:00
BaronGreenback
ea7b3699c2 Update SessionController.cs
removed space
2020-09-17 18:47:36 +01:00
BaronGreenback
d428ca55cd Update DynamicHlsController.cs 2020-09-17 18:41:12 +01:00
BaronGreenback
8738fe570a Update SessionController.cs 2020-09-17 18:27:07 +01:00
BaronGreenback
604edea6a6 Update DynamicHlsController.cs
Removed container fields
2020-09-17 18:26:27 +01:00
BaronGreenback
9fc1a8b619 Inverted if statement 2020-09-17 18:20:27 +01:00
BaronGreenback
81db323f88 Update SessionController.cs 2020-09-17 17:54:09 +01:00
BaronGreenback
92b63db569 Update ApplicationHost.cs 2020-09-17 15:57:11 +01:00
nyanmisaka
db07510017 add tonemap for AMD AMF 2020-09-17 19:16:23 +08:00
BaronGreenback
826148dc84 Added versioning to files without meta.json 2020-09-17 11:01:46 +01:00
BaronGreenback
4c6b60d69d Merge pull request #73 from jellyfin/master
Updating from upstream
2020-09-17 10:58:21 +01:00
Joshua M. Boniface
bc5404cd6f Merge pull request #3401 from BaronGreenback/Plugins
Fix for windows plug-in upgrades issue: #1623
2020-09-16 17:22:58 -04:00
spookbits
246ab260f7 Do not implicitly reference ASP.NET Core Analyzers.
Also do not explicitly reference AspNetCore.App (fixes compiler warning).
2020-09-16 17:09:24 -04:00
spooksbit
ac32b14012 Update Jellyfin.Server/Properties/launchSettings.json
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-16 15:11:35 -04:00
spookbits
5cca8bffea Removed browser auto-load functionality from the server.
Added profiles in launchSettings to start either the web client or the swagger API page.
Removed --noautorunwebapp as this is the default functionality.
2020-09-16 13:22:04 -04:00
Bond-009
6dd6961fd4 Merge pull request #4145 from jellyfin/dependabot/nuget/SkiaSharp-2.80.2
Bump SkiaSharp from 2.80.1 to 2.80.2
2020-09-16 15:00:27 +00:00
Bond_009
0007756a5e Fix 2020-09-16 15:35:37 +02:00
BaronGreenback
ad00b93be5 Rename PlugInManifest.cs to PluginManifest.cs 2020-09-16 14:14:10 +01:00
Bond_009
2dbf73b989 Minor improvements 2020-09-16 14:16:44 +02:00
BaronGreenback
d99db543da Update DescriptionXmlBuilder.cs 2020-09-16 12:08:37 +01:00
BaronGreenback
a6400d12c9 Update DescriptionXmlBuilder.cs 2020-09-16 12:08:23 +01:00
BaronGreenback
c2e2e5ac0c Update DescriptionXmlBuilder.cs 2020-09-16 12:03:17 +01:00
BaronGreenback
86ad04b657 Update DescriptionXmlBuilder.cs 2020-09-16 12:02:00 +01:00
Bond-009
4a9b7691c2 Merge pull request #4156 from androiddevnotesforks/master
Fix typos
2020-09-15 19:46:08 +00:00
Jim Cartlidge
0ec3633f9e removing whitespace & upgraded library version 2020-09-15 18:09:43 +01:00
Jim Cartlidge
0bc37c981d Merge branch 'NetworkPR2' of https://github.com/BaronGreenback/jellyfin into NetworkPR2 2020-09-15 18:05:53 +01:00
Jim Cartlidge
e6a3518220 Uploading latest 2020-09-15 18:05:42 +01:00
BaronGreenback
96c3c4af42 Update IpBasedAccessValidationMiddleware.cs 2020-09-15 13:48:40 +01:00
BaronGreenback
40464a6fdd Update LanFilteringMiddleware.cs 2020-09-15 13:47:01 +01:00
BaronGreenback
a2c50e8005 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>
2020-09-14 21:02:13 +01:00
BaronGreenback
5baf87663f Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>
2020-09-14 20:57:49 +01:00
BaronGreenback
02951bb8ce Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: h1dden-da3m0n <33120068+h1dden-da3m0n@users.noreply.github.com>
2020-09-14 20:57:00 +01:00
BaronGreenback
69c4b44d24 Update ApplicationHost.cs 2020-09-14 20:52:18 +01:00
BaronGreenback
51c416c832 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-14 20:23:35 +01:00
BaronGreenback
e88d3ba8c2 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-14 18:44:29 +01:00
BaronGreenback
f80e181eda Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-14 18:44:17 +01:00
Jim Cartlidge
d27d2a8990 Renamed file. 2020-09-14 18:23:50 +01:00
hoanghuy309
a626ce5bd0 Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-14 13:09:18 -04:00
BaronGreenback
f73e744785 Update Emby.Server.Implementations/Plugins/PlugInManifest.cs
Co-authored-by: dkanada <dkanada@users.noreply.github.com>
2020-09-14 17:58:10 +01:00
Android Dev Notes
cdf96d2663 Fix typos 2020-09-14 21:30:20 +05:30
BaronGreenback
68d08e94fd Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-14 16:18:39 +01:00
Jim Cartlidge
b04aed2f58 Merge remote-tracking branch 'upstream/master' into NetworkPR2 2020-09-14 16:01:23 +01:00
Jim Cartlidge
c1bfba9081 Nullable added 2020-09-14 15:57:00 +01:00
Jim Cartlidge
38b8110a3e Removing blank lines. 2020-09-14 15:55:25 +01:00
Jim Cartlidge
b44455ad0d Update based on PR1 changes. 2020-09-14 15:46:38 +01:00
hoanghuy309
9183688cab Translated using Weblate (Vietnamese)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2020-09-14 09:13:41 -04:00
hoanghuy309
fc827a7b25 Added translation using Weblate (Vietnamese) 2020-09-14 08:12:19 -04:00
dependabot[bot]
b83b8f5267 Bump SkiaSharp from 2.80.1 to 2.80.2
Bumps SkiaSharp from 2.80.1 to 2.80.2.

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-14 12:02:19 +00:00
kevin
3a75365930 Translated using Weblate (Albanian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sq/
2020-09-14 07:47:18 -04:00
kevin
17f66b4943 Added translation using Weblate (Albanian) 2020-09-14 06:39:06 -04:00
Bond-009
a72f2d3586 Merge pull request #4142 from olsh/master
Fix parameters validation in ImageProcessor.GetCachePath
2020-09-14 04:01:46 +00:00
Oleg Shevchenko
58924fd1da Fix parameters validation in ImageProcessor.GetCachePath 2020-09-13 22:38:31 +03:00
BaronGreenback
7b4b101eca Update ApplicationHost.cs 2020-09-13 18:06:13 +01:00
BaronGreenback
107d606a70 Update ApplicationHost.cs 2020-09-13 17:51:14 +01:00
BaronGreenback
6c2c2cb872 Update ApplicationHost.cs
Global jsonserializer added
2020-09-13 17:45:17 +01:00
BaronGreenback
ea0eb9a6ff Update PlugInManifest.cs
Added comments.
2020-09-13 17:42:40 +01:00
BaronGreenback
12fb827405 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-13 17:29:10 +01:00
BaronGreenback
008aa51eb7 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-13 17:24:30 +01:00
BaronGreenback
b4edb7c90d Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-13 17:24:02 +01:00
Jim Cartlidge
5f58d2c151 With method comments. 2020-09-13 16:37:20 +01:00
Jim Cartlidge
81f655803d Modified to work with manifests. 2020-09-13 16:30:04 +01:00
Jim Cartlidge
c41ed13b3d Commenting. 2020-09-13 14:36:10 +01:00
Jim Cartlidge
c1b3f2c136 ContentDirectory 2020-09-13 14:31:12 +01:00
Jim Cartlidge
3ad320175d ConnectionManager - static implementation 2020-09-13 14:18:15 +01:00
Jim Cartlidge
68de105dc2 Comments part 1 2020-09-13 13:49:11 +01:00
Bond-009
8102f4eb4e Merge pull request #4106 from Keridos/master
some testing for AudioBook
2020-09-13 08:45:37 +00:00
Bond-009
75ac226bd4 Merge pull request #4128 from derchu/tvdb_rating
Update content rating from thetvdb
2020-09-13 08:43:03 +00:00
derchu
b88cfa802f Grab content rating from episode info 2020-09-12 14:46:29 -07:00
Jim Cartlidge
288d89493e Fixed testing units. 2020-09-12 17:21:03 +01:00
crobibero
46ae51bc9a update to dotnet 3.1.8 2020-09-12 10:19:04 -06:00
Jim Cartlidge
9ef79d190b Large number of files 2020-09-12 16:41:37 +01:00
crobibero
dfbe4413ff Fix added warnings 2020-09-11 16:13:15 -06:00
crobibero
97e948bbf6 Fix added warnings 2020-09-11 16:11:19 -06:00
crobibero
e3fb7f426c Migrate subtitle upload to Jellyfin.Api 2020-09-11 16:08:49 -06:00
crobibero
f13b87afa3 Merge remote-tracking branch 'upstream/master' into api-upload-subtitle 2020-09-11 15:53:04 -06:00
Bond-009
6bf0acb854 Merge pull request #4121 from cvium/normalize_app_paths
Normalize application paths
2020-09-11 17:01:58 +00:00
Bond-009
ebdcff8b08 Merge pull request #4118 from SegiH/set-playlist-allow-duplicates-option-to-false-by-default
Change default value for allow duplicates in playlist option to False
2020-09-11 13:33:13 +00:00
Bond-009
6aa6e33f7d Merge pull request #4102 from cvium/fix_startup_lan_ip_validation
Skip startup message for /system/ping
2020-09-11 13:28:49 +00:00
Anthony Lavado
b198c6f4d1 Merge pull request #4108 from Bond-009/PERFORMANCE
Minor performance improvements to item saving
2020-09-11 08:33:36 -04:00
Bond_009
edbd4e0db6 Remove extra return statement 2020-09-11 12:57:57 +02:00
Bond_009
441301069e Fix 2020-09-11 12:56:11 +02:00
Bond-009
1d633aac0a Merge pull request #4093 from crobibero/bad-route
Fix api routes
2020-09-11 09:10:16 +00:00
cvium
70aa7fe77d Normalize application paths 2020-09-11 10:34:47 +02:00
Hilman Maulana
50877761f6 Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-09-11 03:14:25 -04:00
Segi Hovav
73bff9da9d Change default value for allow duplicates in playlist option to False 2020-09-10 10:03:08 -07:00
Bond-009
18fe328979 Merge pull request #4084 from BaronGreenback/PlayTo-url-corruption-fix
Unstable: PlayTo corruption url fix
2020-09-10 15:35:06 +00:00
Bond-009
4447589460 Merge pull request #4116 from cvium/add_known_proxies
Add Known Proxies to system configuration
2020-09-10 14:10:26 +00:00
cvium
cb173d79e6 Fix the test 2020-09-10 14:30:33 +02:00
cvium
7576824cee Standardize use of IsLocal and RemoteIp 2020-09-10 14:16:41 +02:00
cvium
78cab77f81 Add Known Proxies to system configuration 2020-09-10 11:05:46 +02:00
crobibero
03d4e90728 add new files to rpm build 2020-09-09 18:52:12 -06:00
crobibero
63ebae2f9e Remove nullable from required 2020-09-09 14:28:30 -06:00
crobibero
efce4d4bf3 Merge remote-tracking branch 'upstream/master' into bad-route 2020-09-09 14:23:53 -06:00
Bond-009
621f3b7050 Merge pull request #4037 from crobibero/api-stream-return
Set openapi schema type to file where possible
2020-09-09 20:20:35 +00:00
crobibero
25ac778a79 revert changes 2020-09-09 12:26:18 -06:00
crobibero
612e135c8c Merge remote-tracking branch 'upstream/master' into api-stream-return 2020-09-09 12:02:05 -06:00
crobibero
8e15142d82 Merge remote-tracking branch 'upstream/master' into bad-route 2020-09-09 11:44:53 -06:00
Bond_009
15be11fca8 Fix build 2020-09-09 14:22:27 +02:00
Bond_009
48e1cf9fd7 Minor performance improvements to item saving 2020-09-09 13:38:27 +02:00
Keridos
ba777039ef remove unnecessary nullchecks 2020-09-09 02:43:06 +02:00
Keridos
8eb1eedc8d implement suggested changes 2020-09-09 02:33:59 +02:00
Keridos
b9c7cce696 some testing for AudioBook
fix PartNumber detection
2020-09-09 02:24:17 +02:00
Bond_009
3b319d45c0 Fix build 2020-09-08 23:15:32 +02:00
BaronGreenback
60e8f47194 Update ApplicationHost.cs 2020-09-08 17:52:08 +01:00
BaronGreenback
ddfb13f945 Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:50:37 +01:00
BaronGreenback
f4eb34a966 Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:50:19 +01:00
BaronGreenback
a9d8b53658 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:49:55 +01:00
BaronGreenback
2eff0db804 Update Emby.Server.Implementations/ApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:49:38 +01:00
Bond_009
e11a57f19b Fix some warnings 2020-09-08 16:12:47 +02:00
crobibero
b2c2746a27 Fix container routes 2020-09-08 07:47:49 -06:00
Bond-009
b76d4ba454 Merge pull request #4096 from crobibero/auth-ex
Fix catching authentication exception
2020-09-08 11:49:56 +00:00
Bond-009
5c7cdfe428 Merge pull request #4092 from crobibero/api-go-brrr
Add missing FromRoute, Required attribute
2020-09-08 11:48:24 +00:00
Bond-009
46c8a6c1e8 Merge pull request #4094 from crobibero/fix-redirect
Fix redirection
2020-09-08 11:04:15 +00:00
cvium
3ad176f8e2 Remove unused import 2020-09-08 12:41:59 +02:00
cvium
12bd9ea750 Skip startup message for /system/ping 2020-09-08 12:37:15 +02:00
BaronGreenback
c84aabe954 Update PlayToManager.cs
Fixed name violation
2020-09-08 09:27:44 +01:00
BaronGreenback
fde5afc36b Update PlayToManager.cs
removed tab
2020-09-08 09:26:52 +01:00
BaronGreenback
544db8cc06 Update PlayToManager.cs
made code more readable.
2020-09-08 07:53:53 +01:00
crobibero
e772756328 Fix catching authentication exception 2020-09-07 20:51:12 -06:00
crobibero
68e5a95fdb Fix redirection 2020-09-07 19:10:14 -06:00
crobibero
14de45602b fix play command route 2020-09-07 18:59:55 -06:00
crobibero
af2186ab83 add back optional for route param 2020-09-07 18:50:09 -06:00
crobibero
6d3e15dc31 fix attribute spacing 2020-09-07 18:46:14 -06:00
crobibero
7294dc103f Fix api routes 2020-09-07 18:45:06 -06:00
Anthony Lavado
cd40688584 Merge pull request #4076 from Bond-009/warn29
Fix some warnings
2020-09-07 19:41:58 -04:00
Anthony Lavado
d08ddbb8d2 Merge pull request #4013 from crobibero/dynamic-cors
Allow CORS domains to be configured
2020-09-07 19:41:45 -04:00
Anthony Lavado
f43f72e6ce Merge pull request #4078 from Bond-009/minor3
Minor improvements
2020-09-07 19:40:07 -04:00
Anthony Lavado
cc6b03296a Merge pull request #3899 from crobibero/plugin-install
Install specific plugin version if requested
2020-09-07 19:39:55 -04:00
Anthony Lavado
3aee338066 Merge pull request #4073 from Bond-009/useafterdispose
Fix ObjectDisposedException
2020-09-07 19:39:42 -04:00
Anthony Lavado
1b2f00715a Merge pull request #4071 from Bond-009/sln
Fix sln file
2020-09-07 19:39:17 -04:00
crobibero
afc8a307c7 Add missing FromRoute, Required attribute 2020-09-07 17:17:26 -06:00
Bond-009
69d453e900 Merge pull request #4057 from crobibero/startup-complete
Add flag for startup completed
2020-09-07 21:55:17 +00:00
BaronGreenback
ed9021f40b Update PlayToManager.cs 2020-09-07 21:43:48 +01:00
crobibero
a2e90170da Use existing configuration manager 2020-09-07 14:21:30 -06:00
crobibero
7de0fcfc94 Merge remote-tracking branch 'upstream/master' into startup-complete 2020-09-07 14:07:15 -06:00
Bond-009
386ffd1b65 Merge pull request #4079 from jellyfin/dependabot/nuget/SQLitePCLRaw.bundle_e_sqlite3-2.0.4
Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.3 to 2.0.4
2020-09-07 20:03:49 +00:00
Bond-009
a88a4164d7 Merge pull request #4067 from barronpm/displaypreferences-fixes
DisplayPreferences fixes
2020-09-07 20:00:30 +00:00
Bond-009
c585af3177 Merge pull request #4063 from BaronGreenback/FilestreamResponse
Our of Memory fix when streaming large files
2020-09-07 20:00:23 +00:00
Cromefire_
95265288a6 More expressive name for the VideoStream API 2020-09-07 21:46:19 +02:00
linzack
23f6616e63 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-09-07 11:34:39 -04:00
linzack
b711e78fe2 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-09-07 11:28:54 -04:00
linzack
5751d4765a Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-09-07 11:25:41 -04:00
BaronGreenback
d4004bcaf5 Merge pull request #62 from jellyfin/master
Updating from master
2020-09-07 13:40:40 +01:00
Bond-009
c750632cfc Merge pull request #4065 from BaronGreenback/dlna_serverfix
Bug Fix : DLNA Server advertising
2020-09-07 12:36:03 +00:00
Bond-009
1894239fee Merge pull request #4077 from BaronGreenback/simplified_advertising
Simplified Code: Removed code which was never used.
2020-09-07 12:16:08 +00:00
Bond-009
106949f828 Merge pull request #4075 from BaronGreenback/simplified_dlnamanager
Simplified Code: Removed code which was never used.
2020-09-07 12:15:51 +00:00
Bond-009
4c2d2af569 Merge pull request #4074 from cvium/fix_tmdb_null
Fix null exception in tmdb episode provider
2020-09-07 12:13:19 +00:00
dependabot[bot]
37a8be5db2 Bump SQLitePCLRaw.bundle_e_sqlite3 from 2.0.3 to 2.0.4
Bumps [SQLitePCLRaw.bundle_e_sqlite3](https://github.com/ericsink/SQLitePCL.raw) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/ericsink/SQLitePCL.raw/releases)
- [Commits](https://github.com/ericsink/SQLitePCL.raw/compare/v2.0.3...v2.0.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-07 12:02:16 +00:00
Bond_009
5d9e2903d2 Minor improvements 2020-09-07 13:31:05 +02:00
BaronGreenback
a2687fac5e Merge branch 'master' into simplified_dlnamanager 2020-09-07 12:29:31 +01:00
BaronGreenback
cf87b3afb7 Remove excess code. 2020-09-07 12:28:48 +01:00
BaronGreenback
03d8f6f43b Update DlnaManager.cs
removed space.
2020-09-07 12:27:55 +01:00
BaronGreenback
b673f5bcde Update DlnaManager.cs 2020-09-07 12:27:26 +01:00
Bond-009
bf2dc0cfeb Merge pull request #4061 from BaronGreenback/#4060
Fix for #4060
2020-09-07 11:21:06 +00:00
Bond_009
384ab39f5b Fix some warnings 2020-09-07 13:20:39 +02:00
BaronGreenback
eedb520af1 Removed code that wasn't used. 2020-09-07 12:14:02 +01:00
BaronGreenback
6a5df73151 Update DlnaManager.cs
Changed function name to IsRegexOrSubstringMatch
2020-09-07 12:09:15 +01:00
BaronGreenback
12d0f29dea Update Emby.Dlna/DlnaManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-09-07 12:07:57 +01:00
BaronGreenback
268af7dac3 Merge pull request #60 from jellyfin/master
Updating to JF/master
2020-09-07 11:59:37 +01:00
cvium
57db856fd8 Fix null exception in other tmdb providers 2020-09-07 12:42:41 +02:00
cvium
f85ab53bd9 Fix null exception in tmdb episode provider 2020-09-07 12:39:16 +02:00
Bond_009
343fc8c668 Fix ObjectDisposedException
```
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, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, 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.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Emby.Dlna.PlayTo.SsdpHttpClient.SendCommandAsync(String baseUrl, DeviceService service, String command, String postData, String header, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/SsdpHttpClient.cs:line 41
   at Emby.Dlna.PlayTo.Device.GetTransportInfo(TransportCommands avCommands, CancellationToken cancellationToken) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/Device.cs:line 629
   at Emby.Dlna.PlayTo.Device.TimerCallback(Object sender) in /home/loma/dev/jellyfin/Emby.Dlna/PlayTo/Device.cs:line 445
```
2020-09-07 12:22:33 +02:00
crobibero
eab92a0b01 Merge remote-tracking branch 'upstream/master' into api-stream-return 2020-09-06 14:34:31 -06:00
crobibero
26c432b564 Rename StartupCompleted to StartupWizardCompleted 2020-09-06 14:27:31 -06:00
Bond-009
99bbbea9e2 Merge pull request #4069 from crobibero/api-route-required
Make all FromRoute required
2020-09-06 21:31:08 +02:00
crobibero
29fc882037 merge all attributes 2020-09-06 09:07:27 -06:00
crobibero
6ffffa95a7 Use jar directly 2020-09-06 08:26:36 -06:00
Bond_009
b99446f27a Fix sln file 2020-09-06 13:35:22 +02:00
crobibero
320e3b98ab Add ci task to publish api client 2020-09-05 23:32:21 -06:00
crobibero
db9bcdcdc9 Use proper StartupCompleted flag 2020-09-05 18:48:19 -06:00
crobibero
b64108923a Add missing references 2020-09-05 17:11:44 -06:00
crobibero
59d47ec3f5 Make all FromRoute required 2020-09-05 17:07:25 -06:00
Patrick Barron
8a15ad160b Fix plugin events not being called and clean up InstallationManager.cs 2020-09-05 18:58:16 -04:00
Patrick Barron
46c705b545 Generate migration for display preferences fix. 2020-09-05 18:11:03 -04:00
Patrick Barron
db46a9e7c8 Clean up JellyfinDb and fix display preferences index. 2020-09-05 17:54:34 -04:00
BaronGreenback
15e064cb73 Update StreamingHelpers.cs 2020-09-05 22:09:21 +01:00
BaronGreenback
babdd30a46 Renamed IsRegExMatch to IsPropertyMatch 2020-09-05 21:49:30 +01:00
BaronGreenback
f7a56f70c6 Update StreamingHelpers.cs 2020-09-05 21:31:23 +01:00
BaronGreenback
3c13489cb9 Update StreamingHelpers.cs 2020-09-05 21:31:05 +01:00
BaronGreenback
ebad504f3b Fixed profile 2020-09-05 21:25:47 +01:00
BaronGreenback
0f6ea123ea Update ApplicationHost.cs 2020-09-05 20:55:42 +01:00
BaronGreenback
8439860b2a Merge branch 'master' into Plugins 2020-09-05 20:49:04 +01:00
BaronGreenback
25e965b85c Update FileStreamResponseHelpers.cs 2020-09-05 20:33:18 +01:00
Bond-009
9cffa66a01 Merge pull request #4062 from BaronGreenback/#4059
Fix for #4059
2020-09-05 21:26:55 +02:00
BaronGreenback
e33824d286 Changed to named tuples 2020-09-05 20:20:15 +01:00
BaronGreenback
d3e8834e80 Removed memoryStream 2020-09-05 20:03:21 +01:00
crobibero
342de39d78 Move CorsPolicyProvider to Jellyfin.Server.Configuration 2020-09-05 13:02:53 -06:00
BaronGreenback
ac7636ea1e added dlnaheaders
fix for #4059
2020-09-05 19:54:48 +01:00
BaronGreenback
e3fdea2ec9 Update DlnaManager.cs
Fix for #4060
2020-09-05 19:48:37 +01:00
crobibero
9a74ace84b Add flag for startup completed 2020-09-05 09:20:58 -06:00
crobibero
527ffaa90c clean docs 2020-09-05 09:12:50 -06:00
crobibero
2c05d53b06 Convert to ICorsPolicyProvider 2020-09-05 09:10:05 -06:00
crobibero
8a08111adc Merge remote-tracking branch 'upstream/master' into dynamic-cors 2020-09-05 09:00:55 -06:00
Bond-009
6d154041b9 Merge pull request #3880 from DirtyRacer1337/datetime
Fix year parsing
2020-09-05 16:09:05 +02:00
Bond-009
573f4af32e Merge pull request #4051 from crobibero/mad-stylez
Replace swagger logo with jellyfin logo
2020-09-05 15:46:16 +02:00
Bond-009
43e360ab7f Merge pull request #4054 from lmaonator/fix_tvdb_absolute_order
Fix TVDB plugin not handling absolute display order
2020-09-05 15:45:56 +02:00
Bond-009
e6c22a9707 Merge pull request #4034 from barronpm/jellyfin-data-warnings
Fix all warnings in Jellyfin.Data
2020-09-05 14:37:36 +02:00
Bond-009
1f431323f3 Merge pull request #4046 from jellyfin/EraYaN-ci-publish-openapi-spec
Enable code coverage and upload OpenAPI spec.
2020-09-05 14:36:50 +02:00
Bond-009
4500452674 Merge pull request #4055 from Ullmie02/seeking
Enable HTTP Range Processing (Fix seeking)
2020-09-05 11:55:17 +02:00
David
4836f14aff Enable HTTP Range Processing 2020-09-05 10:38:16 +02:00
lmaonator
76172f76d9 Fix TVDB plugin not handling absolute display order 2020-09-05 02:34:57 +02:00
crobibero
d5eb246557 Merge remote-tracking branch 'upstream/master' into api-stream-return 2020-09-04 16:42:40 -06:00
Anthony Lavado
d8c6d29182 Merge pull request #4053 from thornbill/fix-aac-mime-type
Fix aac mime-type
2020-09-04 18:39:04 -04:00
Anthony Lavado
6152d40303 Merge pull request #4030 from crobibero/http-client-migrate
Remove IHttpClient
2020-09-04 18:38:39 -04:00
Bill Thornton
b065f5db1d Fix aac mime-type 2020-09-04 17:41:31 -04:00
crobibero
becd3b1542 Merge remote-tracking branch 'upstream/master' into mad-stylez 2020-09-04 08:49:06 -06:00
Joshua M. Boniface
376e4793e6 Merge pull request #4035 from crobibero/api-doc-base-url
Fix apidoc routes with base url
2020-09-04 10:30:13 -04:00
crobibero
23df4991b6 Use proper buffer size 2020-09-04 08:24:21 -06:00
crobibero
2a8653b309 Merge remote-tracking branch 'upstream/master' into http-client-migrate 2020-09-04 08:16:49 -06:00
Joshua M. Boniface
559a7fc336 Merge pull request #3442 from nyanmisaka/tonemap
Tonemapping function relying on OpenCL filter and NVENC HEVC decoder
2020-09-04 10:06:15 -04:00
crobibero
021e218f75 Remove MvcRoutePrefix 2020-09-04 07:58:27 -06:00
crobibero
9f97c47936 Merge remote-tracking branch 'upstream/master' into api-doc-base-url 2020-09-04 07:57:59 -06:00
Joshua M. Boniface
945be64ad6 Merge pull request #4048 from crobibero/xml-docs
Remove GenerateDocumentationFile
2020-09-04 09:35:45 -04:00
crobibero
583f47ea28 Remove GenerateDocumentationFile 2020-09-04 07:04:06 -06:00
Bond-009
7a03e6d2c6 Merge pull request #3946 from crobibero/output-formatters
Clean up output formatters
2020-09-04 13:15:16 +02:00
Bond-009
5e76d5fd56 Merge pull request #3879 from cvium/fix_theme_songs
Populate ThemeVideoIds and ThemeSongIds
2020-09-04 13:13:39 +02:00
Claus Vium
81c764e87f Merge branch 'master' into output-formatters 2020-09-04 11:44:15 +02:00
crobibero
3be12a9d38 replace swagger logo 2020-09-03 21:39:50 -06:00
Bond-009
250216cc53 Merge pull request #4047 from crobibero/health-2.0
Use efcore library for health check
2020-09-04 02:24:26 +02:00
crobibero
c404660f67 Remove double listener 2020-09-03 18:19:27 -06:00
crobibero
ca6dfd7c45 move metrics to end of pipeline 2020-09-03 17:14:50 -06:00
crobibero
4e52fe1060 Wrap application in baseurl 2020-09-03 17:11:12 -06:00
crobibero
7504f067ef fix merge 2020-09-03 16:19:03 -06:00
crobibero
21a5692626 Merge remote-tracking branch 'upstream/master' into api-doc-base-url 2020-09-03 16:18:36 -06:00
Erwin de Haan
1c71ddc426 Merge MediaBrowser.Api.Tests into Jellyfin.Api.Tests 2020-09-03 23:13:46 +02:00
Erwin de Haan
7ced6d1c8c Enable code coverage and upload OpenAPI spec.
Add basic test to write out the actual openapi spec.
2020-09-03 22:44:31 +02:00
Vijay Raghav
1cbe4896e2 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-09-03 15:58:15 -04:00
crobibero
4fc611bf29 fix merge 2020-09-03 13:50:02 -06:00
crobibero
a26063f775 fix merge 2020-09-03 13:48:48 -06:00
crobibero
eb2dcbddc0 Merge remote-tracking branch 'upstream/master' into api-stream-return 2020-09-03 13:47:00 -06:00
crobibero
4df47dea47 Use efcore library for health check 2020-09-03 13:44:49 -06:00
Anthony Lavado
f02bcd9cf8 Merge pull request #3849 from barronpm/scoped-displaypreferences
Make DisplayPreferencesManager Scoped
2020-09-03 15:23:49 -04:00
Patrick Barron
d814302707 Merge branch 'master' into scoped-displaypreferences 2020-09-03 15:15:43 -04:00
Nyanmisaka
4cb0a57e46 Merge branch 'master' into tonemap 2020-09-04 02:55:57 +08:00
Joshua M. Boniface
53703566b5 Merge pull request #4008 from crobibero/publish-with-docs
Include xml docs when publishing
2020-09-03 14:46:35 -04:00
Joshua M. Boniface
52aea85e7f Merge pull request #4031 from Bond-009/warn28
Fix some warnings
2020-09-03 14:40:29 -04:00
Bond-009
9cbc016b0a Merge pull request #3877 from orryverducci/deinterlace-improvements
Deinterlacing improvements
2020-09-03 20:38:54 +02:00
Bond-009
7582e17377 Merge pull request #3907 from crobibero/dlna
Fix DLNA Routes
2020-09-03 20:38:09 +02:00
Bond-009
388fe236c5 Merge pull request #3932 from crobibero/api-doc-css
Add support for custom api-doc css
2020-09-03 20:37:54 +02:00
Bond-009
42f22a8e55 Merge pull request #3976 from nyanmisaka/muxer
Expose max_muxing_queue_size to user
2020-09-03 20:36:17 +02:00
crobibero
1d3303fa0a Move json profiles to constant strings. 2020-09-03 12:15:24 -06:00
crobibero
a523ff840c Merge remote-tracking branch 'upstream/master' into output-formatters 2020-09-03 12:14:11 -06:00
josteinh
22ac6b9a48 Translated using Weblate (Norwegian Nynorsk)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nn/
2020-09-03 12:40:22 -04:00
josteinh
a013d3f4f8 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2020-09-03 12:40:22 -04:00
crobibero
82f30a35db Merge remote-tracking branch 'upstream/master' into http-client-migrate 2020-09-03 10:40:08 -06:00
crobibero
b035a642d2 Merge remote-tracking branch 'upstream/master' into plugin-install 2020-09-03 10:37:35 -06:00
crobibero
1be84e8873 Merge remote-tracking branch 'upstream/master' into api-stream-return 2020-09-03 10:37:05 -06:00
Bond-009
645db0524f Merge pull request #4045 from crobibero/health
Add db health check
2020-09-03 18:34:25 +02:00
Patrick Barron
15135dc3b8 Merge branch 'master' into jellyfin-data-warnings 2020-09-03 15:57:16 +00:00
crobibero
99b2bc8e06 ? 2020-09-03 09:49:08 -06:00
crobibero
12c3039185 Merge remote-tracking branch 'upstream/master' into health 2020-09-03 09:48:19 -06:00
Anthony Lavado
0712a7ef11 Merge pull request #3886 from crobibero/3.1.7
bump deps
2020-09-03 11:47:13 -04:00
crobibero
5ad81f7fe6 Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-09-03 09:29:07 -06:00
crobibero
d6594a8a70 Add db health check 2020-09-03 09:26:22 -06:00
crobibero
bebb0afb52 Merge remote-tracking branch 'upstream/master' into api-doc-css 2020-09-03 08:06:40 -06:00
crobibero
1de22af646 Merge remote-tracking branch 'upstream/master' into dynamic-cors 2020-09-03 07:48:34 -06:00
Anthony Lavado
3711a1978e Merge pull request #3874 from danieladov/master
Fix MergeVersions()
2020-09-03 09:47:19 -04:00
crobibero
fb422ff741 Merge remote-tracking branch 'upstream/master' into http-client-migrate 2020-09-03 07:46:52 -06:00
Anthony Lavado
a2d6ea2eed Merge pull request #4043 from cvium/remove_shit_and_shit_adjacent_shit
Split HttpListenerHost into middlewares
2020-09-03 09:45:17 -04:00
crobibero
ae8ff1ca54 last time I swear 2020-09-03 07:30:34 -06:00
crobibero
4d4dc0b555 Remove ResponseHeadersRead in SchedulesDirect 2020-09-03 07:22:32 -06:00
crobibero
d8a0edc511 Revert "Remove ResponseHeadersRead where applicable"
This reverts commit 85844a84b6.
2020-09-03 07:20:33 -06:00
Claus Vium
2f9b482555 Merge branch 'master' into master 2020-09-03 14:54:00 +02:00
Claus Vium
abc527329d Sort by SortName after scanning 2020-09-03 14:49:02 +02:00
crobibero
85844a84b6 Remove ResponseHeadersRead where applicable 2020-09-03 06:48:19 -06:00
crobibero
9c6d0117b5 Add missing image return types 2020-09-03 06:42:56 -06:00
Claus Vium
993c46f98d Remove custom CORS OPTIONS handling 2020-09-03 14:05:16 +02:00
Bond-009
8c28824c88 Merge pull request #4042 from jellyfin/ci-packaging-fixes
Fixes for CI Nuget package pushing and CI triggers
2020-09-03 12:56:04 +02:00
Claus Vium
2f79c3095b Fix startup message 2020-09-03 11:54:38 +02:00
Claus Vium
571d0570f5 Kill HttpListenerHost 2020-09-03 11:32:22 +02:00
Claus Vium
6ff372a550 Add Https port to service collection 2020-09-03 00:38:52 +02:00
Claus Vium
5813f8073c Move HttpListenerHost middleware up the pipeline 2020-09-03 00:32:56 +02:00
Bond-009
52b34eb407 Merge pull request #4039 from cvium/remove_shit_and_shit_adjacent_shit
Remove ServiceStack and related stuff
2020-09-02 23:18:32 +02:00
crobibero
932c4d25a4 Clean api return types 2020-09-02 15:06:13 -06:00
Erwin de Haan
424f53c966 Only trigger on v* tags and also run Main build on master commits. 2020-09-02 22:54:24 +02:00
Erwin de Haan
3a649fa45b Add SourceLink to Jellyfin.Data 2020-09-02 22:46:18 +02:00
Erwin de Haan
346581bb2a Fixes for CI Nuget package pushing and CI triggers
Also adds SourceLink support and symbols that are pushed to Nuget.
Add symbols to main nuget packages for unstable builds (Azure Artifacts does not support symbols outside of the main package)
SourceLink will enable stepping during debugging.
2020-09-02 22:42:00 +02:00
Joshua M. Boniface
dcef8636d5 Merge pull request #3863 from jellyfin/EraYaN-artifacts-nohup
Add nohup and continueOnError to the Collect Artifacts task
2020-09-02 15:43:41 -04:00
Anthony Lavado
f6622c835f Merge pull request #4041 from jellyfin/path-itemlookupinfo
Add the item path to the ItemLookupInfo class
2020-09-02 15:05:31 -04:00
Airichan
59597b6c7f Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2020-09-02 14:51:51 -04:00
Sverre
9383ae6061 Translated using Weblate (Norwegian Bokmål)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/nb_NO/
2020-09-02 14:51:50 -04:00
Erwin de Haan
208b00fbb1 Add the item path to the ItemLookupInfo class.
This is important for the Shoko Anime Meatdata provider plugin.
2020-09-02 20:11:31 +02:00
crobibero
a698dab66f Specify image file return for GetItemImage2 2020-09-02 11:14:59 -06:00
Airichan
191f109da9 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2020-09-02 13:07:44 -04:00
crobibero
1feee6f95e Properly host static files and set base url 2020-09-02 08:03:15 -06:00
Claus Vium
b9cd6a125b Update MediaBrowser.Common/Extensions/HttpContextExtensions.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-02 15:27:54 +02:00
Claus Vium
38be506849 Fix xml doc 2020-09-02 13:29:20 +02:00
Claus Vium
12710cdf42 More fixes 2020-09-02 13:06:14 +02:00
Claus Vium
bde8c00306 Don't call tostring twice 2020-09-02 12:49:48 +02:00
Claus Vium
e337756428 Remove ServiceStack and related stuff 2020-09-02 12:22:14 +02:00
crobibero
ec2a5e4fb0 Simplify file returns 2020-09-01 19:27:57 -06:00
crobibero
65d05f92ac Merge remote-tracking branch 'upstream/master' into dynamic-cors 2020-09-01 18:27:55 -06:00
crobibero
f443c534bf Merge remote-tracking branch 'upstream/master' into package-install-repo 2020-09-01 18:24:42 -06:00
crobibero
c473645f9d Set openapi schema type to file where possible 2020-09-01 17:31:31 -06:00
crobibero
c98952937e Fix ValidatePath response code 2020-09-01 17:29:08 -06:00
crobibero
2f33bee2a9 Set openapi schema type to file where possible 2020-09-01 17:26:49 -06:00
Bond-009
506fc7cbae Merge pull request #4033 from crobibero/empty-string-nullable-number
Readd nullable number converters
2020-09-01 21:41:46 +02:00
crobibero
b398c35068 use UserAgent.ParseAdd where possible 2020-09-01 13:16:19 -06:00
crobibero
0b38ac9a8a Fix apidoc routes with base url 2020-09-01 12:53:19 -06:00
Nyanmisaka
12dcd809f9 minor changes
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-09-01 23:53:59 +08:00
crobibero
9ddf550b43 Simplify json converters 2020-09-01 09:42:59 -06:00
Nyanmisaka
5c83dbd0c4 update as per suggestions 2020-09-01 23:39:19 +08:00
Patrick Barron
602e746af0 Treat all warnings as errors in Jellyfin.Data 2020-09-01 11:38:53 -04:00
Patrick Barron
a5f75a2d1a Rename Metadata to ItemMetadata 2020-09-01 11:38:09 -04:00
Patrick Barron
1f2e7e47ce Suppress CA2227 2020-09-01 11:36:45 -04:00
Patrick Barron
70b87a3e72 Add periods to documentation in CollectionItem.cs 2020-09-01 11:30:37 -04:00
crobibero
471e760057 remove unused declaration 2020-09-01 09:20:32 -06:00
crobibero
eb400f7292 Fallback to base jsonconverter 2020-09-01 09:19:22 -06:00
Patrick Barron
cab45db228 Include shared version in Jellyfin.Data 2020-09-01 11:17:46 -04:00
Patrick Barron
d0f07d7ddd Clean up Group.cs 2020-09-01 11:16:09 -04:00
Patrick Barron
b24221b40f Clean up ActivityLog.cs 2020-09-01 11:12:31 -04:00
Patrick Barron
732ec7a462 Clean up User.cs 2020-09-01 11:09:08 -04:00
Patrick Barron
e56e2632d1 Clean up Preference.cs 2020-09-01 11:05:21 -04:00
Patrick Barron
617df5e0e6 Clean up and document Permission.cs 2020-09-01 11:04:32 -04:00
Patrick Barron
4a05943327 Document ItemDisplayPreferences.cs 2020-09-01 11:02:57 -04:00
crobibero
1f2d73af8e Only handle empty string or null case 2020-09-01 08:52:50 -06:00
crobibero
9b2359a453 readd nullable number converters 2020-09-01 08:12:36 -06:00
crobibero
b111b9e2c9 Fix styling 2020-09-01 07:58:05 -06:00
crobibero
39041019e7 Remove CacheMode, CompressionMethods, HttpResponseInfo 2020-09-01 07:53:57 -06:00
crobibero
e1d0b430d9 Remove HttpRequestOptions 2020-09-01 07:51:55 -06:00
crobibero
4038d15c83 Properly migrate all HttpCompletionOption 2020-09-01 07:51:06 -06:00
Patrick Barron
0fc1810c41 Document ImageInfo.cs 2020-09-01 09:35:12 -04:00
Patrick Barron
81d03383e3 Delete ProviderMapping.cs 2020-09-01 09:31:45 -04:00
fernando012
2d198292a3 Translated using Weblate (Spanish (Dominican Republic))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es_DO/
2020-09-01 00:18:27 -04:00
Patrick Barron
b1b2d399f8 Document UnratedItem.cs 2020-08-31 23:21:05 -04:00
Patrick Barron
65bce98ec5 Document SubtitlePlaybackMode.cs 2020-08-31 23:17:33 -04:00
Patrick Barron
0110b2472d Document PersonRoleType.cs 2020-08-31 23:15:13 -04:00
Patrick Barron
a1aece1299 Document MediaFileKind.cs 2020-08-31 23:11:58 -04:00
Patrick Barron
4e439652da Document IndexingKind.cs 2020-08-31 23:08:34 -04:00
Patrick Barron
8124e6fddf Document DynamicDayOfWeek.cs 2020-08-31 23:07:15 -04:00
Patrick Barron
367aa26ab5 Document ArtKind.cs 2020-08-31 23:04:49 -04:00
Bond-009
8ee042483a Merge pull request #2888 from ConfusedPolarBear/quickconnect
Add quick connect (login without typing password)
2020-08-31 23:01:27 +02:00
Bond_009
e653eef44f Fix some warnings 2020-08-31 22:20:19 +02:00
Anthony Lavado
43a81366a6 Merge pull request #4022 from Bond-009/arraypool
Fix incorrect usage of ArrayPool
2020-08-31 15:58:53 -04:00
crobibero
8d592777c4 change to using declaration 2020-08-31 12:46:42 -06:00
crobibero
c02d0ceb57 Add missing using 2020-08-31 12:45:23 -06:00
crobibero
f498e1ee59 remove IHttpClient 🎉 2020-08-31 12:10:49 -06:00
crobibero
6ae4da709e migrate to IHttpClientFactory in M3UTunerHost 2020-08-31 12:08:45 -06:00
crobibero
5b93b3b15e migrate to IHttpClientFactory in M3uParser 2020-08-31 12:08:37 -06:00
crobibero
af9ebef577 migrate to IHttpClientFactory in SharedHttpStream 2020-08-31 12:06:42 -06:00
crobibero
96fdee38cb migrate to IHttpClientFactory in HdHomerunHost 2020-08-31 12:03:41 -06:00
crobibero
97cc3d54bb migrate to IHttpClientFactory in XmlTvListingsProvider 2020-08-31 12:00:09 -06:00
crobibero
652e688cc1 migrate to IHttpClientFactory in SchedulesDirect 2020-08-31 11:57:11 -06:00
crobibero
50a1e35765 migrate to IHttpClientFactory in EmbyTV 2020-08-31 11:39:40 -06:00
crobibero
804b0fc034 migrate to IHttpClientFactory in DirectRecorder 2020-08-31 11:38:47 -06:00
crobibero
6d19adbecf migrate to IHttpClientFactory in ApplicationHost 2020-08-31 11:36:29 -06:00
crobibero
533b981668 migrate to IHttpClientFactory in InstallationManager 2020-08-31 11:30:05 -06:00
crobibero
8215f15c45 migrate to IHttpClientFactory in Emby.Dlna 2020-08-31 11:26:42 -06:00
crobibero
30ba35a33b Use HttpClientFactory in SubtitleEncoder 2020-08-31 11:07:40 -06:00
Bond-009
5c50d5356c Merge pull request #3935 from crobibero/default-http-client
Add Default Http Client
2020-08-31 19:07:10 +02:00
crobibero
dd078e7b82 use named client 2020-08-31 11:05:21 -06:00
crobibero
95402df884 Merge remote-tracking branch 'upstream/master' into default-http-client 2020-08-31 10:32:28 -06:00
Bond-009
95142643f6 Merge pull request #3871 from Ullmie02/plugins-api
Allow plugins to define their own api endpoints
2020-08-31 18:28:11 +02:00
David Ullmer
b37cc7bfaf Don't evaluate twice 2020-08-31 18:03:13 +02:00
David Ullmer
7f79f2ee0e Use .Distinct on assembly 2020-08-31 17:53:55 +02:00
crobibero
e48df7da5e Only create product header once 2020-08-31 09:15:20 -06:00
crobibero
808d180be4 Fix user agent comment 2020-08-31 08:52:21 -06:00
crobibero
64a811d783 use named http clients 2020-08-31 08:47:38 -06:00
David Ullmer
2a84d5a693 Enable nullable for interface 2020-08-31 16:35:37 +02:00
David Ullmer
b7c07f6821 Merge branch 'master' into library-pictures 2020-08-31 16:16:01 +02:00
crobibero
b216b91e21 Bump Microsoft.NET.Test.Sdk and add missing reference 2020-08-31 08:14:22 -06:00
crobibero
5d528e202f Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-08-31 08:10:15 -06:00
Bond-009
4cc7406fe9 Merge pull request #4026 from jellyfin/dependabot/nuget/prometheus-net.DotNetRuntime-3.4.0
Bump prometheus-net.DotNetRuntime from 3.3.1 to 3.4.0
2020-08-31 16:05:55 +02:00
Bond-009
5286bc251a Merge pull request #4024 from jellyfin/dependabot/nuget/IPNetwork2-2.5.224
Bump IPNetwork2 from 2.5.211 to 2.5.224
2020-08-31 16:05:26 +02:00
Bond-009
1b1de4026d Merge pull request #4028 from crobibero/cache-duration
Properly verify cache duration
2020-08-31 16:04:04 +02:00
crobibero
bd66fd25df Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-08-31 08:00:05 -06:00
Bond-009
1f4deccfa4 Merge pull request #4027 from cvium/fix_update_libraryoptions
Fix model binding in UpdateLibraryOptions
2020-08-31 15:44:47 +02:00
crobibero
db99903c35 Properly verify cache duration 2020-08-31 07:24:23 -06:00
crobibero
e97ccd87fb Remove DynamicCorsMiddleware 2020-08-31 07:21:07 -06:00
Claus Vium
7103e764a4 Fix model binding in UpdateLibraryOptions 2020-08-31 14:47:57 +02:00
dependabot[bot]
5804f9a55f Bump prometheus-net.DotNetRuntime from 3.3.1 to 3.4.0
Bumps [prometheus-net.DotNetRuntime](https://github.com/djluck/prometheus-net.DotNetRuntime) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/djluck/prometheus-net.DotNetRuntime/releases)
- [Commits](https://github.com/djluck/prometheus-net.DotNetRuntime/compare/3.3.1...3.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-31 12:02:24 +00:00
dependabot[bot]
5d557927b5 Bump IPNetwork2 from 2.5.211 to 2.5.224
Bumps [IPNetwork2](https://github.com/lduchosal/ipnetwork) from 2.5.211 to 2.5.224.
- [Release notes](https://github.com/lduchosal/ipnetwork/releases)
- [Commits](https://github.com/lduchosal/ipnetwork/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-31 12:02:07 +00:00
Bond-009
b6cc1e1620 Merge pull request #4010 from cromefire/patch-3
Fix wrong OpenAPI auth header value
2020-08-31 11:22:22 +02:00
Bond-009
32f8b46040 Fix incorrect usage of ArrayPool 2020-08-31 11:09:41 +02:00
Bond-009
9a2f2aac22 Merge pull request #4018 from barronpm/library-entity-cleanup
Library Entity Cleanup
2020-08-31 11:00:28 +02:00
Patrick Barron
acb213e4b8 First pass at cleaning entity classes.
- Documents all library entities
- Fixes styling warnings for library entities
- Updates library entities to inherit from interfaces
- Makes library entites no longer partial.
2020-08-30 18:51:31 -04:00
Patrick Barron
414bedbde4 Move library entities to folder. 2020-08-30 18:51:28 -04:00
Joshua M. Boniface
ed756dfe96 Merge pull request #3999 from PrplHaz4/patch-3
[Permissions] Fix for individual channel plugins #2858
2020-08-30 16:04:16 -04:00
crobibero
eba0d9e387 Always allow set credentials header 2020-08-30 10:05:21 -06:00
crobibero
3c0484cc97 Allow for dynamic cors response 2020-08-30 09:32:14 -06:00
Cromefire_
3453b65444 Fixed wrong openapi auth header value 2020-08-30 00:44:33 +02:00
crobibero
44fb76bbcf include xml docs when publishing 2020-08-29 10:42:12 -06:00
Cromefire_
20b1f985f0 Added JELLYFIN_ADDITIONAL_OPTS to default file 2020-08-28 21:24:21 +02:00
Cromefire_
c0a8118c51 Added additional opts to service file 2020-08-28 21:19:42 +02:00
Joshua M. Boniface
0424d09b8d Merge pull request #4001 from brianjmurrell/patch-1
Add an empty %files section to main package

(cherry picked from commit c3ef1f56f6)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2020-08-28 10:46:21 -04:00
Hilman Maulana
b0a8c31e0f Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-08-28 02:24:38 -04:00
Bond-009
521027b2c0 Merge pull request #4002 from crobibero/partial-access
Fix partial library and channel access
2020-08-27 18:09:25 +02:00
crobibero
ec8967b8e6 Fix partial library and channel access 2020-08-27 10:00:06 -06:00
PrplHaz4
34219e2831 Fix permissions for individual channel plugins #2858
Without this change, the only Channel (plugin, not Live TV) permission that works is "Enable All Channels".

Fixes #2858
2020-08-27 10:12:32 -04:00
Kraisorn Thongsuk
ba7bdbc494 Translated using Weblate (Thai)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/th/
2020-08-27 03:54:08 -04:00
Matt Montgomery
df0d197dc8 Apply suggestions from code review 2020-08-26 15:24:24 -05:00
Anthony Lavado
8510333bcc Merge pull request #3983 from Bond-009/useragent
Fix incorrect adding of user agent
2020-08-26 13:00:51 -04:00
Bond-009
4f6c98b325 Merge pull request #3984 from crobibero/json-prerelease
Use Prerelease System.Text.Json
2020-08-26 18:59:46 +02:00
Matt Montgomery
2974a0248a Merge remote-tracking branch 'upstream/master' into quickconnect 2020-08-26 10:29:37 -05:00
crobibero
de4cfa2234 Apply suggestions from code review 2020-08-26 08:45:59 -06:00
crobibero
78ae86b86a Apply suggestions from code review 2020-08-26 08:23:35 -06:00
crobibero
8b96881aa1 Clean up json Converters 2020-08-26 08:22:48 -06:00
Joshua M. Boniface
4e3f26b647 Merge pull request #3988 from crobibero/pack-license
Use proper SPDX Identifier
2020-08-26 09:46:41 -04:00
crobibero
b02650ec2f use proper spdx 2020-08-26 07:39:01 -06:00
crobibero
4e175adf49 revert rename 2020-08-26 07:37:17 -06:00
crobibero
5f60da29c7 switch to spdx 2020-08-26 07:36:57 -06:00
crobibero
670c41ee89 Properly pack project license 2020-08-25 21:33:19 -06:00
crobibero
582c016d3b bump to preview8 and remove extra references 2020-08-25 21:19:55 -06:00
Joshua M. Boniface
e83f6d6ec7 Merge pull request #3889 from Ullmie02/nuget-versioning
Build Unstable NuGet packages
2020-08-25 17:08:06 -04:00
Joshua M. Boniface
cf6ef9958d Merge pull request #3910 from barronpm/event-rewrite-1
Event Rewrite (Part 1)
2020-08-25 16:59:35 -04:00
crobibero
acd88dae45 fix build 2020-08-25 08:11:50 -06:00
crobibero
5f64ab02a0 bump System.Text.Json 2020-08-25 07:33:58 -06:00
Bond-009
5be87753d6 Fix incorrect adding of user agent 2020-08-25 13:03:07 +02:00
David
bcdae0c5a7 Use array, remove VS code line 2020-08-25 10:08:05 +02:00
Bond-009
25be1a9b20 Merge pull request #3977 from barronpm/librarycontroller-getdownload-async
Make LibraryController.GetDownload async
2020-08-25 08:41:42 +02:00
Patrick Barron
b5bbbb9cef Document SubtitleDownloadFailureEventArgs 2020-08-24 20:34:53 -04:00
Patrick Barron
2eb9a3670b Document PlaybackStartEventArgs 2020-08-24 20:34:42 -04:00
Patrick Barron
71c33d09c4 Document IEventConsumer 2020-08-24 20:34:33 -04:00
Patrick Barron
fa8892fde4 Make LibraryController.GetDownload async 2020-08-24 20:27:10 -04:00
Patrick Barron
9fa4fff15d Merge branch 'master' into event-rewrite-1
# Conflicts:
#	Emby.Dlna/Emby.Dlna.csproj
#	Emby.Dlna/Eventing/DlnaEventManager.cs
#	Emby.Dlna/Service/BaseService.cs
#	Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
#	MediaBrowser.Controller/Subtitles/SubtitleDownloadEventArgs.cs
2020-08-24 20:04:13 -04:00
nyanmisaka
d7caf88df6 expose max_muxing_queue_size to user 2020-08-25 02:20:46 +08:00
Bond-009
ec3104d2d2 Merge pull request #3975 from nyanmisaka/muxer
Increase the max muxing queue size for ffmpeg
2020-08-24 19:32:38 +02:00
nyanmisaka
6462ca0036 increase the max muxing queue size for ffmpeg 2020-08-24 22:54:14 +08:00
crobibero
9626101c9f Merge remote-tracking branch 'upstream/master' into 3.1.7 2020-08-24 07:39:16 -06:00
Bond-009
7ce21d436b Merge pull request #3961 from crobibero/api-json-null
Ignore null json values
2020-08-23 16:27:24 +02:00
crobibero
cb44f16068 Merge remote-tracking branch 'upstream/master' into output-formatters 2020-08-23 07:53:33 -06:00
crobibero
340f83c3f5 Ignore null json values 2020-08-23 07:48:12 -06:00
Joshua M. Boniface
f9bb79285b Merge pull request #3959 from Bond-009/warn27
Enable TreatWarningsAsErrors for Emby.Data in Release
2020-08-22 23:50:52 -04:00
Joshua M. Boniface
3a99a4770c Merge pull request #3958 from Bond-009/warn26
Enable TreatWarningsAsErrors for MediaBrowser.Controller in Release
2020-08-22 23:50:43 -04:00
Hilman Maulana
e88b7b8d0e Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-08-22 18:45:59 -04:00
Bond_009
c4d8275fc1 Fix duplicate 2020-08-23 00:26:32 +02:00
Bond_009
4243a17c86 Enable TreatWarningsAsErrors for Emby.Data in Release 2020-08-22 23:29:54 +02:00
Bond_009
5ec1a979b2 Remove extra newline 2020-08-22 21:57:28 +02:00
Bond_009
404bb4f835 Enable TreatWarningsAsErrors for MediaBrowser.Controller in Release 2020-08-22 21:56:24 +02:00
David
9165dc3b3a Scale down text if too long 2020-08-22 14:31:28 +02:00
Bond-009
92c491397e Merge pull request #3941 from crobibero/no-more-form
Conver all remaining form request to body
2020-08-22 13:06:12 +02:00
Joshua M. Boniface
3e65cae70e Merge pull request #3955 from Bond-009/async3
Make some methods async
2020-08-21 18:03:07 -04:00
Bond-009
4d64041a92 Merge pull request #3951 from crobibero/json-nullable-number
Add nullable int32, int64 json converters
2020-08-21 23:42:47 +02:00
Bond-009
1073d41c4d Merge pull request #3950 from crobibero/dlna-play-to
Fix dlna play to
2020-08-21 23:42:40 +02:00
Bond_009
4916bfb024 Address comment 2020-08-21 22:59:47 +02:00
crobibero
33f6e410ac Merge remote-tracking branch 'upstream/master' into json-nullable-number 2020-08-21 14:38:32 -06:00
crobibero
d951554779 fix copy-pasta 2020-08-21 14:37:51 -06:00
Bond-009
03c89fa717 Merge pull request #3953 from crobibero/dotnetglob
bump DotNet.Glob
2020-08-21 22:32:47 +02:00
Bond_009
2b832de289 Fix build 2020-08-21 22:19:16 +02:00
Bond_009
6329a36a27 Make method async 2020-08-21 22:06:06 +02:00
Bond_009
119f64f5e7 Make some methods async 2020-08-21 22:01:19 +02:00
Anthony Lavado
72115c91e0 Merge pull request #3943 from Bond-009/ffmpeg
Simplify FFmpeg detection code
2020-08-21 15:04:58 -04:00
David
d740e7aee6 Increase font size, center text 2020-08-21 20:36:56 +02:00
David
a3020f2917 Use backdrop with library name as library thumbnail 2020-08-21 19:53:55 +02:00
crobibero
89c9ca68f9 bump DotNet.Glob 2020-08-21 11:50:45 -06:00
crobibero
4a64819277 Fix dlna produces type 2020-08-21 11:10:29 -06:00
crobibero
384a62dc08 Add nullable int32, int64 json converters 2020-08-21 10:23:47 -06:00
crobibero
07e7125d07 Fix dlna play to 2020-08-21 07:24:44 -06:00
Anthony Lavado
cd49beb7ad Merge pull request #3947 from Bond-009/warn25
Fix all warnings in Emby.Dlna
2020-08-20 17:34:40 -04:00
Bond_009
170e434f92 Fix all warnings in Emby.Dlna 2020-08-20 21:04:57 +02:00
crobibero
2ca8d31b20 clean up output formatters 2020-08-20 11:17:27 -06:00
Anthony Lavado
ac58d07e0e Merge pull request #3939 from Bond-009/warn24
Make MediaBrowser.MediaEncoding warnings free
2020-08-20 12:50:30 -04:00
Bond-009
6292a9e4e9 Merge branch 'master' into warn24 2020-08-20 18:50:15 +02:00
Bond-009
8cbefdd561 Merge pull request #3942 from Ullmie02/dlna-warnings
Reduce warnings in Emby.Dlna
2020-08-20 18:38:38 +02:00
David
1337a0dcec Code review 2020-08-20 17:59:27 +02:00
Bond_009
301e029d42 Add unsupported ffmpeg version to tests 2020-08-20 17:45:40 +02:00
Bond_009
cb5cb075a9 Simplify FFmpeg detection code 2020-08-20 17:16:09 +02:00
David
ca2b36bdb0 Reduce warnings in Emby.Dlna 2020-08-20 17:08:33 +02:00
Nyanmisaka
05e78ee78c Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-08-20 22:53:36 +08:00
Bond-009
eda29dbccb Merge pull request #3216 from rotvel/feature/ffmpeg-version-check
Try harder at detecting ffmpeg version and enable the validation
2020-08-20 16:40:35 +02:00
Bond-009
5160e627f1 Merge branch 'master' into feature/ffmpeg-version-check 2020-08-20 16:40:03 +02:00
crobibero
d63f4bce5d Conver all remaining form request to body 2020-08-20 07:53:53 -06:00
nyanmisaka
54349fc945 fix outputSize 2020-08-20 19:08:36 +08:00
Bond_009
6123e2e848 Fix build 2020-08-20 12:24:34 +02:00
Bond_009
ab2147751f Make MediaBrowser.MediaEncoding warnings free 2020-08-20 12:16:24 +02:00
Bond-009
250e351613 Merge pull request #3938 from crobibero/fix-audio-routes
Fix conflicting audio routes
2020-08-20 10:52:28 +02:00
nyanmisaka
dd3b48f203 fix lint 2020-08-20 15:17:42 +08:00
IR0NCaT
3d84047320 Translated using Weblate (Russian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2020-08-20 02:30:38 -04:00
Patrick Barron
98ed90c4a2 Merge branch 'master' into event-rewrite-1 2020-08-19 18:11:17 -04:00
Anthony Lavado
660882c261 Merge pull request #3841 from Bond-009/warn23
Fix warnings
2020-08-19 17:51:46 -04:00
crobibero
11e3cdb3cb Fix conflicting audio routes 2020-08-19 15:08:28 -06:00
crobibero
abb79bf810 remove OS and email from default UserAgent 2020-08-19 13:41:00 -06:00
Bond_009
5d0a17fd42 More fixes 2020-08-19 18:57:47 +02:00
Nyanmisaka
16658c92fe fix SubtitlesOctopus 2020-08-20 00:08:44 +08:00
Bond_009
ce352e4a1d Address comments 2020-08-19 18:06:27 +02:00
Nyanmisaka
53861db451 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-08-20 00:04:55 +08:00
Bond_009
68edccd9f4 More warn 2020-08-19 18:02:34 +02:00
Bond_009
e77a45adcf Minor change 2020-08-19 17:52:14 +02:00
Bond_009
2b400c99ef Fix warnings 2020-08-19 17:50:50 +02:00
crobibero
f6b8cd4b46 Fix build 2020-08-19 07:09:07 -06:00
crobibero
ac5c0866f3 P E R F O R M A N C E 2020-08-19 06:52:18 -06:00
crobibero
0db0e8b944 Remove unused configure 2020-08-19 06:39:29 -06:00
crobibero
c5a9e8f831 Merge remote-tracking branch 'upstream/master' into default-http-client 2020-08-19 06:37:06 -06:00
crobibero
7578dfac25 Remove unused directives 2020-08-19 06:36:10 -06:00
crobibero
076e17f355 Add default http client 2020-08-19 06:31:45 -06:00
Anthony Lavado
634ee2d1e9 Merge pull request #3861 from crobibero/fixes
API Fixes
2020-08-19 08:17:03 -04:00
Cody Robibero
3a722740ce Update Jellyfin.Api/Helpers/MediaInfoHelper.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-08-19 04:53:25 -06:00
nyanmisaka
988e76d4c7 update endpoints as AspNet controllers 2020-08-19 17:30:22 +08:00
nyanmisaka
aa75755480 Merge remote-tracking branch 'upstream/master' into fonts 2020-08-19 16:56:53 +08:00
crobibero
852213d90c resolve merge conflicts 2020-08-18 20:23:34 -06:00
crobibero
50a9c8c8a7 resolve merge conflicts 2020-08-18 20:22:15 -06:00
crobibero
b43a8fb9d3 Merge remote-tracking branch 'upstream/master' into package-install-repo 2020-08-18 20:20:32 -06:00
crobibero
1d9285c594 add support for custom doc css 2020-08-18 15:52:42 -06:00
Anthony Lavado
93fe595e5e Merge pull request #3925 from crobibero/httpclient
Remove IHttpClient from Providers
2020-08-18 14:12:28 -04:00
millallo
684d9856b1 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2020-08-18 10:34:00 -04:00
crobibero
b90e240af6 rename clientCapabilities 2020-08-18 07:29:39 -06:00
crobibero
287baa4965 remove unused directives 2020-08-18 07:29:12 -06:00
Hilman Maulana
9e8f0cf26d Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-08-18 09:00:57 -04:00
millallo
34be17a4e8 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2020-08-18 09:00:56 -04:00
Hilman Maulana
7c2e01a70b Translated using Weblate (Indonesian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/id/
2020-08-18 06:20:50 -04:00
Mygod
8b9a380466 Add 1440p to the mix
Partially addresses #3112.
2020-08-18 01:24:24 -04:00
Patrick Barron
ee7beed804 Comment and reorder service registration. 2020-08-17 21:48:44 -04:00
Patrick Barron
6f88087fa9 Use index access instead of LINQ. 2020-08-17 21:42:59 -04:00
Matt Montgomery
1ff4f8e6c6 Get userId from claim 2020-08-17 18:55:16 -05:00
Matt Montgomery
5f1a863241 Apply suggestions from code review 2020-08-17 17:13:11 -05:00
crobibero
4ec1341c8f Fix conflicts 2020-08-17 15:54:51 -06:00
crobibero
29d8e38161 Merge remote-tracking branch 'upstream/master' into fixes 2020-08-17 15:54:40 -06:00
crobibero
be67528958 add disposal docs 2020-08-17 15:03:45 -06:00
crobibero
3a91047413 P E R F O R M A N C E 2020-08-17 14:59:00 -06:00
crobibero
9c6b4f033a revert lastordefault 2020-08-17 14:55:14 -06:00
crobibero
01ed5d5407 Fix adding accept headers 2020-08-17 13:59:29 -06:00
crobibero
898ccab222 oop 2020-08-17 13:41:16 -06:00
crobibero
767c73e5c1 fix usings 2020-08-17 13:22:42 -06:00
crobibero
1325815182 Remove IHttpClient from Providers 2020-08-17 13:10:02 -06:00
crobibero
188166d6eb Remove IHttpClient from ArtistImageProvider 2020-08-17 11:56:49 -06:00
crobibero
14f57dddcb Remove IHttpClient from AlbumImageProvider 2020-08-17 11:55:58 -06:00
crobibero
10ac32569e Remove IHttpClient from ItemImageProvider 2020-08-17 11:54:55 -06:00
crobibero
7a0fa34162 Remove IHttpClient from StudiosImageProvider 2020-08-17 11:52:09 -06:00
crobibero
2e0c2336cc Remove IHttpClient from IRemoteImageProvider 2020-08-17 11:51:53 -06:00
crobibero
f7dc124b5e Remove IHttpClient from ProviderManager 2020-08-17 11:50:07 -06:00
crobibero
aee72aefb0 Remove IHttpClient from StudiosImageProvider 2020-08-17 11:46:40 -06:00
Bond-009
d0f49b3994 Merge pull request #3895 from crobibero/httpclient
Remove IHttpClient from Jellyfin.Api
2020-08-17 10:47:45 +02:00
Matt Montgomery
c49a357f85 Fix compile errors 2020-08-16 17:45:53 -05:00
ConfusedPolarBear
eaa5711534 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-08-16 17:21:08 -05:00
Patrick Barron
a77cf53573 Allow plugins to register services. 2020-08-16 17:25:14 -04:00
Matt Montgomery
035d29fb35 Migrate to new API standard 2020-08-16 14:45:39 -05:00
Bond-009
57cc08691a Merge pull request #3908 from crobibero/xml-formatter
Use proper mediatypename
2020-08-16 21:15:05 +02:00
crobibero
21cc308ec9 Use proper mediatypename 2020-08-16 11:48:54 -06:00
crobibero
7861c72754 Revert "Fix audio stream routes"
This reverts commit 0c50015400.
2020-08-16 11:47:26 -06:00
crobibero
0c50015400 Fix audio stream routes 2020-08-16 11:34:41 -06:00
crobibero
8da646e12b Dispose httpclient response 2020-08-16 10:57:01 -06:00
crobibero
3c395814fd fix dlna routes again 2020-08-16 10:53:57 -06:00
crobibero
8ddcd12348 Remove all using for HttpClient 2020-08-16 09:47:08 -06:00
Bond-009
ec12675feb Merge pull request #3891 from barronpm/remove-unused-methods
Remove unused methods in IDtoService
2020-08-16 17:06:47 +02:00
Bond-009
357b72fb81 Merge pull request #3903 from crobibero/xml-formatter
Add xml output formatter
2020-08-16 17:03:19 +02:00
crobibero
09c8597461 inheritdoc 2020-08-16 08:40:43 -06:00
crobibero
7fe372749e fix dlna server routes 2020-08-16 08:32:13 -06:00
crobibero
7d2ad3e0fc Fix DlnaControlResponse string return 2020-08-16 08:32:03 -06:00
Patrick Barron
075ae53d83 Register new IEventConsumer services. 2020-08-15 23:27:51 -04:00
Patrick Barron
dcf97efaf8 Rename PackageInstallationFailedLogger to have more consistent naming. 2020-08-15 23:22:26 -04:00
Patrick Barron
a40064a146 Migrate ServerEventNotifier.OnPackageInstallationCancelled to IEventConsumer 2020-08-15 23:20:41 -04:00
Patrick Barron
e82dd8b70e Migrate ServerEventNotifier.OnPackageInstallationCompleted to IEventConsumer 2020-08-15 23:16:15 -04:00
Patrick Barron
25437af594 Migrate ServerEventNotifier.OnPackageInstallationFailed to IEventConsumer 2020-08-15 23:12:34 -04:00
Patrick Barron
4478945e20 Migrate ServerEventNotifier.OnPluginUninstalled to IEventConsumer 2020-08-15 23:12:01 -04:00
Patrick Barron
b7ceb40d6e Migrate ServerEventNotifier.OnPackageInstalling to IEventConsumer 2020-08-15 18:57:46 -04:00
Patrick Barron
8c9cd5f6d7 Make EventArgs documentation more consistent. 2020-08-15 18:54:00 -04:00
Patrick Barron
b2f734efd1 Gracefully handle exceptions in IEventConsumers 2020-08-15 18:36:37 -04:00
Patrick Barron
dc88e93504 Migrate ServerEventNotifier.OnHasPendingRestartChanged to IEventConsumer 2020-08-15 18:33:30 -04:00
Patrick Barron
5282a5c8c2 Migrate ServerEventNotifier.OnTaskCompleted to IEventConsumer 2020-08-15 18:16:41 -04:00
Patrick Barron
a0453a0fe6 Migrate ServerEventNotifier.OnUserUpdated to IEventConsumer 2020-08-15 18:16:20 -04:00
Patrick Barron
ee5d4b1146 Register event services 2020-08-15 15:56:56 -04:00
Patrick Barron
8b90e0205c Add EventingServiceCollectionExtensions 2020-08-15 15:56:47 -04:00
Patrick Barron
6f7d289feb Create EventManager 2020-08-15 15:55:58 -04:00
Patrick Barron
adabb4b842 Use IEventManager in SessionManager 2020-08-15 15:55:31 -04:00
Patrick Barron
816c80525a Use IEventManager in UserManager 2020-08-15 15:55:15 -04:00
Patrick Barron
d39e236dfe Migrates ServerEventNotifier.OnUserDeleted to IEventConsumer 2020-08-15 15:49:11 -04:00
Patrick Barron
93c00c1440 Rename to SessionEndedLogger 2020-08-15 13:48:12 -04:00
Oatavandi
0f85e66962 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-15 13:16:31 -04:00
crobibero
2d4e91c5a2 Add xml output formatter 2020-08-15 10:39:24 -06:00
Orry Verducci
396148599a Fix indentation in deinterlace if block
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-08-15 12:55:58 +01:00
Oatavandi
f505f48e85 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-15 07:33:14 -04:00
Patrick Barron
4d18dbf9de Document UserDeletedLogger 2020-08-15 03:35:42 -04:00
Patrick Barron
665f58dfbd Document TaskCompletedLogger 2020-08-15 03:34:52 -04:00
Patrick Barron
8570cfdba6 Migrate ActivityLogEntryPoint.OnSessionEnded to IEventConsumer 2020-08-15 02:07:28 -04:00
Patrick Barron
ca3a8bdb98 Migrate ActivityLogEntryPoint.OnSessionStarted to IEventConsumer 2020-08-15 02:02:58 -04:00
Patrick Barron
98cbf1c2de Migrate ActivityLogEntryPoint.OnPackageInstallationFailed to IEventConsumer 2020-08-14 15:56:54 -04:00
Patrick Barron
e924444880 Migrate ActivityLogEntryPoint.OnPluginUpdated to IEventConsumer 2020-08-14 15:50:17 -04:00
Patrick Barron
0da7c0568d Migrate ActivityLogEntryPoint.OnPluginUninstalled to IEventConsumer 2020-08-14 15:22:12 -04:00
Patrick Barron
b7f21971f4 Migrate ActivityLogEntryPoint.OnPluginInstalled to IEventConsumer 2020-08-14 15:21:17 -04:00
Bond-009
af78b9c2e8 Merge pull request #3898 from crobibero/fix-int64
Return int64 in json as number
2020-08-14 20:58:48 +02:00
David
025ee2163f Change log message, load assembly only once 2020-08-14 20:42:26 +02:00
nothing things
a43383b9ac Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2020-08-14 13:19:43 -04:00
nothing things
6d883bbbe9 Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2020-08-14 12:57:51 -04:00
crobibero
5e6cdc8842 Install specific plugin version if requested 2020-08-14 08:54:21 -06:00
crobibero
64ace58ef5 fix docs 2020-08-14 08:34:32 -06:00
crobibero
64658a0bd0 Return int64 in json as number 2020-08-14 08:23:23 -06:00
Oatavandi
42a9feb2f3 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-14 07:13:56 -04:00
Bond-009
3b47218cf6 Merge pull request #3894 from barronpm/remove-listextensions
Remove ListHelper.cs
2020-08-14 08:17:29 +02:00
Patrick Barron
f4275adfcb Migrate ActivityLogEntryPoint.OnAuthenticationSucceeded to IEventConsumer 2020-08-13 21:38:24 -04:00
Patrick Barron
bff05d7186 Migrate ActivityLogEntryPoint.OnAuthenticationFailed to IEventConsumer 2020-08-13 21:33:28 -04:00
Patrick Barron
8a4bdaed6b Migrate ActivityLogEntryPoint.OnUserLockedOut to IEventConsumer 2020-08-13 21:11:38 -04:00
Patrick Barron
a1ecafb40d Migrate ActivityLogEntryPoint.OnUserPasswordChanged to IEventConsumer 2020-08-13 21:07:08 -04:00
Patrick Barron
737a86d0cb Migrate ActivityLogEntryPoint.OnUserDeleted to IEventConsumer 2020-08-13 21:01:35 -04:00
Patrick Barron
18d34f953b Migrate ActivityLogEntryPoint.OnUserCreated to IEventConsumer 2020-08-13 20:57:13 -04:00
Patrick Barron
ca1f15af19 Move GenericEventArgs to Jellyfin.Data.Events 2020-08-13 20:52:55 -04:00
Patrick Barron
ade40a4c42 Migrate ActivityLogEntryPoint.OnSubtitleDownloadFailure to IEventConsumer 2020-08-13 20:40:18 -04:00
Patrick Barron
fdd73f1186 Migrate ActivityLogEntryPoint.OnTaskCompleted to IEventConsumer 2020-08-13 20:34:28 -04:00
Patrick Barron
5c29b8982d Migrate ActivityLogEntryPoint.OnPlaybackStopped to IEventConsumer 2020-08-13 20:33:16 -04:00
Patrick Barron
3e5fe04427 Migrate ActivityLogEntryPoint.OnPlaybackStart to IEventConsumer 2020-08-13 20:32:54 -04:00
Patrick Barron
57e2f7248d Remove unused class and rename file. 2020-08-13 20:30:43 -04:00
Patrick Barron
285af300f5 Create IEventConsumer and IEventManager 2020-08-13 20:29:14 -04:00
Patrick Barron
3ee940f7b3 Clean up GenericEventArgs 2020-08-13 19:14:03 -04:00
crobibero
97fd11c9a4 Remove httpclient from Jellyfin.Api 2020-08-13 15:50:19 -06:00
Patrick Barron
27139709e5 Remove ListHelper.cs 2020-08-13 17:05:55 -04:00
Orry Verducci
9438a50976 Correct parentheses 2020-08-13 21:23:12 +01:00
Bond-009
2f05f3099b Merge pull request #3892 from barronpm/livetv-provider-fixes
Minor fixes to LiveTvMediaSourceProvider
2020-08-13 22:20:16 +02:00
Patrick Barron
e0c6172d23 Add ServiceProvider to IServerApplicationHost 2020-08-13 16:10:26 -04:00
Patrick Barron
da9bcc5fb3 Rename IEventManager to IDlnaEventManager 2020-08-13 15:47:31 -04:00
Oatavandi
1ce4b70104 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-13 13:32:39 -04:00
Patrick Barron
70e56314d7 Minor fixes to LiveTvMediaSourceProvider 2020-08-13 13:11:30 -04:00
David
2b32ebb3cc Build Unstable Nuget packages 2020-08-13 19:03:47 +02:00
David
b92fbe4d69 Use VersionPrefix 2020-08-13 19:03:24 +02:00
Anthony Lavado
27c8cf0431 Merge pull request #3824 from barronpm/tunerhost-cleanup
Clean up TunerHost Classes
2020-08-13 13:02:17 -04:00
Anthony Lavado
dbc1435a9e Merge pull request #3671 from Bond-009/unixsocket
Make UNIX socket configurable
2020-08-13 13:02:02 -04:00
Anthony Lavado
5480674c4f Merge pull request #3838 from Bond-009/memorystream
MemoryStream optimizations
2020-08-13 13:01:43 -04:00
Patrick Barron
2be1865b42 Remove unused methods in IDtoService 2020-08-13 12:50:04 -04:00
Oatavandi
32d4657429 Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-13 12:38:43 -04:00
Oatavandi
7cbf75839a Translated using Weblate (Tamil)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ta/
2020-08-13 11:30:19 -04:00
David
f92efc7f9b Add Publish Artifacts task 2020-08-13 15:35:56 +02:00
David
a61f6e3308 Fix nuget ci 2020-08-13 15:22:12 +02:00
crobibero
ef0a7c3e2a update docker dotnet sdk 2020-08-12 15:57:06 -06:00
crobibero
6709645ec9 bump deps 2020-08-12 15:52:29 -06:00
crobibero
687b008d59 fix livetv id check 2020-08-12 14:41:10 -06:00
Matt Montgomery
4fa3d3f4f3 Merge remote-tracking branch 'upstream/master' into quickconnect 2020-08-12 15:38:07 -05:00
cvium
e10693cbe0 Remove some LINQ queries 2020-08-12 22:14:14 +02:00
crobibero
ae1593b590 fix route method 2020-08-12 13:14:42 -06:00
crobibero
afeba4dae7 simplify datetime parsing 2020-08-12 13:07:11 -06:00
crobibero
09bcc38feb Merge remote-tracking branch 'upstream/master' into fixes 2020-08-12 12:47:25 -06:00
crobibero
eb7ab31b5a add support for GetActivityLogs 2020-08-12 12:43:57 -06:00
crobibero
bb08e25f86 userid isn't actually required 2020-08-12 12:43:43 -06:00
DirtyRacer1337
6ac8955715 Add tests 2020-08-12 22:20:31 +07:00
DirtyRacer1337
f5d90949cf Replace \d to [0-9] 2020-08-12 22:02:19 +07:00
Konctantin
741ab4301c Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-08-12 10:23:29 -04:00
David
d296a1f6d0 Add logging, cleanup 2020-08-12 14:00:48 +02:00
DirtyRacer1337
1259fe2d50 Add date filter 2020-08-12 09:08:09 +07:00
DirtyRacer1337
c2f901acfe Fix year parsing 2020-08-12 07:56:01 +07:00
Gualdimar
07d10436e0 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-08-11 17:42:52 -04:00
cvium
1ae3dc202c Populate ThemeVideoIds and ThemeSongIds 2020-08-11 22:04:41 +02:00
Gualdimar
f1e52c4449 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-08-11 16:02:03 -04:00
Gualdimar
63eab824e7 Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-08-11 16:02:03 -04:00
Konctantin
df00ef91bb Translated using Weblate (Ukrainian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2020-08-11 16:02:03 -04:00
David
9e95fe8f9d Add plugin assemblies to mvc builder 2020-08-11 18:20:16 +02:00
Orry Verducci
d7b0f68eab Add myself to contributors 2020-08-11 15:44:18 +01:00
Bond-009
b307e0fe09 Merge pull request #3872 from crobibero/user-policy
Fix setting user policy
2020-08-11 10:12:07 +02:00
Orry Verducci
2d6699fd47 Merge remote-tracking branch 'upstream/master' into deinterlace-improvements 2020-08-10 22:17:13 +01:00
Orry Verducci
ce51775e74 Apply double rate option to hardware deinterlacers 2020-08-10 22:16:46 +01:00
Orry Verducci
9dc95074a3 Add bwdif and simplify software deinterlacing 2020-08-10 22:16:23 +01:00
Orry Verducci
7df2affb23 Add double rate deinterlacing option 2020-08-10 22:14:47 +01:00
Bond-009
b82a3fee85 Merge pull request #3851 from barronpm/librarychangednotifier-cleanup
Clean up LibraryChangedNotifier.
2020-08-10 21:19:36 +02:00
Moritz
72176ab2ca Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2020-08-10 15:00:16 -04:00
Mister Rajoy
c7b5bc55a1 Fix MergeVersions() 2020-08-10 20:33:11 +02:00
crobibero
3ba1f4c901 add proper converter for legacy datetime 2020-08-10 12:02:14 -06:00
crobibero
b0532c549a add proper converter for legacy datetime 2020-08-10 11:58:06 -06:00
crobibero
4b87bbf53d fix route 2020-08-10 11:38:02 -06:00
crobibero
2f853b902a fix datetime parsing 2020-08-10 11:33:42 -06:00
crobibero
2e3ef18a11 fix route typo 2020-08-10 10:09:27 -06:00
crobibero
314728195c Fix setting user policy 2020-08-10 09:31:01 -06:00
David
98d1d2325d Prepare plugin Api migration 2020-08-10 16:12:22 +02:00
dkanada
168160d9a3 Merge pull request #3868 from jellyfin/dependabot/nuget/ServiceStack.Text.Core-5.9.2
Bump ServiceStack.Text.Core from 5.9.0 to 5.9.2
2020-08-10 22:54:55 +09:00
dkanada
4c2d1e712c Merge pull request #3867 from jellyfin/dependabot/nuget/TvDbSharper-3.2.1
Bump TvDbSharper from 3.2.0 to 3.2.1
2020-08-10 22:54:42 +09:00
dkanada
6e1d34453f Merge pull request #3866 from jellyfin/dependabot/nuget/Microsoft.NET.Test.Sdk-16.7.0
Bump Microsoft.NET.Test.Sdk from 16.6.1 to 16.7.0
2020-08-10 22:54:29 +09:00
dkanada
aeea7dcb3d Merge pull request #3865 from jellyfin/dependabot/nuget/Swashbuckle.AspNetCore.ReDoc-5.5.1
Bump Swashbuckle.AspNetCore.ReDoc from 5.3.3 to 5.5.1
2020-08-10 22:54:09 +09:00
crobibero
c5e9cf15f6 Use proper IHttpContextAccessor 2020-08-10 07:53:32 -06:00
dependabot[bot]
40dc4472e3 Bump ServiceStack.Text.Core from 5.9.0 to 5.9.2
Bumps [ServiceStack.Text.Core](https://github.com/ServiceStack/ServiceStack.Text) from 5.9.0 to 5.9.2.
- [Release notes](https://github.com/ServiceStack/ServiceStack.Text/releases)
- [Commits](https://github.com/ServiceStack/ServiceStack.Text/compare/v5.9...v5.9.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 12:01:58 +00:00
dependabot[bot]
c65275b239 Bump TvDbSharper from 3.2.0 to 3.2.1
Bumps [TvDbSharper](https://github.com/HristoKolev/TvDbSharper) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/HristoKolev/TvDbSharper/releases)
- [Changelog](https://github.com/HristoKolev/TvDbSharper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/HristoKolev/TvDbSharper/compare/v3.2.0...v3.2.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 12:01:48 +00:00
dependabot[bot]
4fd2b7a879 Bump Microsoft.NET.Test.Sdk from 16.6.1 to 16.7.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.6.1 to 16.7.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.6.1...v16.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 12:01:45 +00:00
dependabot[bot]
a6e6f378e1 Bump Swashbuckle.AspNetCore.ReDoc from 5.3.3 to 5.5.1
Bumps [Swashbuckle.AspNetCore.ReDoc](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 5.3.3 to 5.5.1.
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v5.3.3...v5.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 12:01:45 +00:00
Bond-009
75f119b57f Merge pull request #3810 from AlfHou/fix_readme_links
Fix README links and note about setup wizard
2020-08-10 12:52:59 +02:00
Erwin de Haan
900101de62 Re-enable the ABI checks. 2020-08-10 12:26:25 +02:00
Erwin de Haan
47cb4a1547 Add nohup and continueOnError to the Collect Artifacts task 2020-08-10 12:24:56 +02:00
Alf Sebastian Houge
f98e751d18 Update README.md
Fix spelling mistake

Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-08-10 11:03:48 +02:00
Bond-009
bacfbbbd58 Merge pull request #3835 from cvium/fix_tvdb_404_shit_nginx_failure
Throw HttpException when tvdb sends us crap data
2020-08-10 10:50:21 +02:00
crobibero
460c3dd351 convert dependent controller functions to di helper class 2020-08-09 17:20:14 -06:00
Mario Michel
c43721f27f Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2020-08-09 17:27:17 -04:00
Bond-009
f2b87c0954 Merge pull request #3860 from cvium/fix_collages
Fix collages
2020-08-09 23:02:22 +02:00
cvium
1dcc678a6a Fix collages 2020-08-09 22:59:31 +02:00
crobibero
7b864e3a3c parameter isn't actually required 2020-08-09 14:12:39 -06:00
Bond-009
023f52362d Merge pull request #3859 from crobibero/fix-auth-policy
Fix Requirement assigned to Handler
2020-08-09 22:12:03 +02:00
crobibero
e7f55c5110 Fix Requirement assigned to Handler 2020-08-09 13:51:25 -06:00
Bond-009
e9c9fc4369 Merge pull request #3858 from cvium/fix_wizard_redirect
Fix startup wizard redirect
2020-08-09 20:02:15 +02:00
cvium
fc01bdb91d Use GetEncodedPathAndQuery since ASP.NET Request.Path does not contain query parameters 2020-08-09 19:26:06 +02:00
Patrick Barron
7462a0a9e8 Make event methods private. 2020-08-09 11:50:52 -04:00
Bond-009
f4302822f0 Merge pull request #3846 from YouKnowBlom/fix-cc-hls
Avoid including stray commas in HLS codecs field
2020-08-09 16:51:48 +02:00
Andreas B
542185fba4 Avoid including stray commas in HLS codecs field 2020-08-09 17:00:14 +02:00
Bond_009
593dbcabff Fix docs 2020-08-09 14:08:56 +02:00
Bond_009
4a4dff1973 Fix 2020-08-09 14:08:56 +02:00
Bond_009
371a09c60b MemoryStream optimizations 2020-08-09 14:08:55 +02:00
Bond-009
6c92154a9b Update MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-08-09 13:55:57 +02:00
Bond-009
75bb127599 Merge pull request #3854 from danieladov/master
Fix Split versions
2020-08-09 12:09:00 +02:00
Mister Rajoy
3ea4d9303e Fix Split versions 2020-08-08 21:21:32 +02:00
Patrick Barron
750d8a989f Clean up LibraryChangedNotifier. 2020-08-08 14:23:17 -04:00
Patrick Barron
229a5d9e0b Make DisplayPreferencesManager scoped 2020-08-08 13:39:49 -04:00
Patrick Barron
d886532258 Add DbContext Pool 2020-08-08 13:32:17 -04:00
Anthony Lavado
b9fdbaeef3 Merge pull request #3812 from jellyfin/api-migration
Merge API Migration into master
2020-08-08 13:22:36 -04:00
Patrick Barron
a15be774ac Merge pull request #3833 from crobibero/api-cleanup-v3
api-migration review fixes
2020-08-07 18:08:12 +00:00
Patrick Barron
8373d6297c Fix MemoryCache usage 2020-08-07 14:05:47 -04:00
Bond-009
7e49358ba9 Merge pull request #3840 from barronpm/fix-memorycache
Fix MemoryCache Usage.
2020-08-07 19:27:34 +02:00
Patrick Barron
bea519de5b Fix MemoryCache Usage. 2020-08-07 13:22:18 -04:00
crobibero
e735ab6cc0 Remove extra Required 2020-08-07 06:39:20 -06:00
Bond-009
c82b26a4b1 Merge pull request #3837 from cvium/fix_memorycache
Fix BaseItems not being cached in-memory
2020-08-07 11:58:23 +02:00
cvium
0cf75992a8 Use MemoryCache.Set since SetValue does not flush to cache automatically. 2020-08-07 11:55:22 +02:00
crobibero
05f9473544 Apply fixes from review 2020-08-06 17:59:48 -06:00
Bond-009
796eeb2cda Merge pull request #3836 from cvium/remove_tmdb_api_rate_limit
Remove rate limit from TMDb provider
2020-08-06 23:53:29 +02:00
Bond-009
8964697d8b Merge pull request #3834 from cvium/fix_tmdb_external_ids
Make external ids nullable in TMDb
2020-08-06 23:52:39 +02:00
cvium
268139c435 Remove rate limit from TMDb provider 2020-08-06 23:47:30 +02:00
cvium
23dfadd430 Throw HttpException when tvdb sends us crap data 2020-08-06 23:43:19 +02:00
cvium
f871087645 Make external ids nullable in TMDb 2020-08-06 23:37:11 +02:00
sumantrabhattacharya
bd0ad4196a Translated using Weblate (Bengali)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/bn/
2020-08-06 17:22:48 -04:00
millallo
57585273e3 Translated using Weblate (Italian)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2020-08-06 14:25:35 -04:00
Joshua M. Boniface
751affa50a Merge pull request #3831 from joshuaboniface/newer-docker-dotnet
Bump to .NET Core SDK 3.1.302
2020-08-06 13:40:18 -04:00
crobibero
fffa94fc33 Apply fixes from review 2020-08-06 08:17:45 -06:00
Joshua M. Boniface
7a1f140e5b Bump to .NET Core SDK 3.1.302 2020-08-06 02:04:41 -04:00
Patrick Barron
34cf1b1757 Merge pull request #3829 from Ullmie02/api-migration
Small fix to api-migration
2020-08-05 22:24:01 +00:00
David
4ea412f2ab Fix remote images 2020-08-05 21:57:01 +02:00
sharkykh
1eee0fc922 Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2020-08-05 15:35:05 -04:00
David
8bb9909660 Fix photo viewer 2020-08-05 21:19:38 +02:00
sharkykh
b23446721c Translated using Weblate (Hebrew)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/he/
2020-08-05 14:21:13 -04:00
Joshua M. Boniface
3e974c0351 Merge pull request #3825 from crobibero/api-merge-again
Merge master into api-migration
2020-08-05 00:00:15 -04:00
crobibero
393666efcf fix merge conflicts 2020-08-04 20:30:45 -06:00
crobibero
e65ecb5687 Merge remote-tracking branch 'upstream/master' into api-merge-again 2020-08-04 20:29:06 -06:00
Anthony Lavado
c12a49361c Merge pull request #3820 from Bond-009/warn22
Fix some warnings
2020-08-04 17:35:50 -07:00
Anthony Lavado
da14c306b8 Merge pull request #3809 from Bond-009/minor4
Minor improvements
2020-08-04 17:35:12 -07:00
Anthony Lavado
c2799fe4d3 Merge pull request #3784 from barronpm/add-sync
Minor fixes to ActivityManager
2020-08-04 17:34:56 -07:00
Anthony Lavado
c5bc046c40 Merge pull request #3782 from Bond-009/websocket2
Minor fixes for websocket code
2020-08-04 17:34:14 -07:00
Patrick Barron
5c65abcd94 Clean up TunerHost classes 2020-08-04 18:58:14 -04:00
Patrick Barron
ff4489575b Merge pull request #3819 from crobibero/api-migration-cleanup
Api migration cleanup
2020-08-04 22:28:52 +00:00
Joshua M. Boniface
560a099473 Merge pull request #3822 from jellyfin/EraYaN-artifact-collection
Merge the args and commands item for the artifact collection
2020-08-04 16:42:45 -04:00
Erwin de Haan
25daa7db42 Merge the args and commands item for the artifact collection 2020-08-04 22:35:23 +02:00
crobibero
858aecd409 Fix all route for base url support 2020-08-04 12:48:53 -06:00
Bond-009
7368cbbd2f Merge pull request #3774 from jellyfin/ci-CollectArtifacts-timeout
Add a much shorter timeout to the CollectArtifacts job
2020-08-04 19:58:20 +02:00
Bond-009
d9f6953416 Minor fixes 2020-08-04 17:14:07 +02:00
Bond-009
53f99d5d4b Add some analyzers to MediaBrowser.MediaEncoding 2020-08-04 17:08:09 +02:00
crobibero
2b7cefdf15 Remove references to MediaBrowser.Api 2020-08-04 08:42:09 -06:00
crobibero
e1226f12f2 fix attribute ordering 2020-08-04 08:30:03 -06:00
crobibero
8f6c2e7679 Remove leading slash from route attributes 2020-08-04 08:27:54 -06:00
Bond-009
18efa25a6f Enable TreatWarningsAsErrors for MediaBrowser.MediaEncoding 2020-08-04 16:20:52 +02:00
Bond-009
237cb4e383 Merge pull request #3816 from cvium/onrefresh_logging
Change OnRefreshStart and OnRefreshComplete logging levels to debug
2020-08-04 11:30:10 +02:00
cvium
52d409101b Change OnRefreshStart and OnRefreshComplete logging levels to debug 2020-08-04 09:05:51 +02:00
Anthony Lavado
b7f3906446 Merge pull request #3806 from jellyfin/dkanada-patch-1
Disable compatibility checks for now
2020-08-03 15:14:22 -07:00
Patrick Barron
8385c54591 Merge pull request #3811 from crobibero/api-cleanup
Clean up api-migration branch
2020-08-03 21:45:15 +00:00
crobibero
dee7bdddb6 fix build 2020-08-03 14:49:24 -06:00
crobibero
e64924f4d3 actually remove MediaBrowser.Api 2020-08-03 14:42:46 -06:00
crobibero
9e00aa3014 fix openapi validation errors 2020-08-03 14:38:51 -06:00
crobibero
1535f363b2 Fix some request parameters 2020-08-03 13:33:43 -06:00
crobibero
8bb510a9f6 Specify Logger type 2020-08-03 13:16:29 -06:00
crobibero
0f32beb75f Properly use DI to reference other controllers. 2020-08-03 13:15:21 -06:00
crobibero
db36b9d501 Delete MediaBrowser.Api 2020-08-03 13:09:49 -06:00
crobibero
cfce1dba08 move WebSocket listeners to Jellyfin.Api 2020-08-03 13:09:32 -06:00
Alf Sebastian Houge
676f000286 Remove comments from json file in .vscode/launch.json 2020-08-03 20:45:50 +02:00
Bond_009
4980db1594 Fix spelling 2020-08-03 20:42:01 +02:00
dkanada
b9d1d1c6b5 Merge pull request #3801 from michael9dk/patch-1
Update README.md (fix broken links)
2020-08-04 03:37:00 +09:00
Bond_009
2b355c36ff Minor improvements
OFC I reduced some allocations
2020-08-03 20:32:45 +02:00
Alf Sebastian Houge
b2badb9906 Fix links in README and note about setup wizard
Fix some of the web client links in the README and add a note about
hosting the web client seperately, and how the setup wizard can only be
run if the web client is not hosted separate
2020-08-03 20:28:01 +02:00
Alf Sebastian Houge
d53f7dd0c2 Add vscode launch configuration for launching without hosting webclient 2020-08-03 20:27:22 +02:00
David
a28d00eeba Merge pull request #3808 from crobibero/api-migration-merge
Merge master into api-migration
2020-08-03 20:22:21 +02:00
crobibero
dbeeb7cf4a fix merge conflicts 2020-08-03 12:01:24 -06:00
crobibero
f915c3e5d9 Merge remote-tracking branch 'upstream/master' into api-migration 2020-08-03 11:24:13 -06:00
Patrick Barron
6a42a48c09 Merge pull request #3528 from Ullmie02/api-entrypoint
Make TranscodingJobHelper an IDisposable (api-migration)
2020-08-03 17:11:24 +00:00
Patrick Barron
cd515bdbfd Merge pull request #3783 from Ullmie02/api-universal-audio
Move UniversalAudioService to Jellyfin.Api
2020-08-03 17:09:18 +00:00
Patrick Barron
3a0bccb941 Merge pull request #2957 from crobibero/api-dlna-server
Migrate DlnaServerController to Jellyfin.Api
2020-08-03 17:00:46 +00:00
Patrick Barron
97c95d3a6b Merge pull request #2956 from crobibero/api-dlna
Move Emby.Dlna DlnaService.cs to Jellyfin.Api
2020-08-03 16:59:44 +00:00
dkanada
b4c6ae9aba disable compatibility checks for now 2020-08-04 01:02:02 +09:00
Bond-009
5b4863c65b Merge pull request #3803 from jellyfin/dependabot/nuget/sharpcompress-0.26.0
Bump sharpcompress from 0.25.1 to 0.26.0
2020-08-03 15:36:46 +02:00
dependabot[bot]
d09fb5c535 Bump sharpcompress from 0.25.1 to 0.26.0
Bumps [sharpcompress](https://github.com/adamhathcock/sharpcompress) from 0.25.1 to 0.26.0.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.25.1...0.26)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 13:22:11 +00:00
Bond-009
3b49ed1b37 Merge pull request #3802 from jellyfin/dependabot/nuget/PlaylistsNET-1.1.2
Bump PlaylistsNET from 1.0.6 to 1.1.2
2020-08-03 15:05:00 +02:00
Bond-009
e3f6ef6080 Merge pull request #3804 from jellyfin/dependabot/nuget/Serilog.AspNetCore-3.4.0
Bump Serilog.AspNetCore from 3.2.0 to 3.4.0
2020-08-03 15:04:10 +02:00
Bond-009
4a11a9b879 Merge pull request #3805 from jellyfin/dependabot/nuget/Mono.Nat-2.0.2
Bump Mono.Nat from 2.0.1 to 2.0.2
2020-08-03 15:03:24 +02:00
dependabot[bot]
96817fca07 Bump Mono.Nat from 2.0.1 to 2.0.2
Bumps [Mono.Nat](https://github.com/mono/Mono.Nat) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/mono/Mono.Nat/releases)
- [Commits](https://github.com/mono/Mono.Nat/compare/Mono.Nat-2.0.1...release-v2.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 12:04:27 +00:00
dependabot[bot]
be277e74d7 Bump Serilog.AspNetCore from 3.2.0 to 3.4.0
Bumps [Serilog.AspNetCore](https://github.com/serilog/serilog-aspnetcore) from 3.2.0 to 3.4.0.
- [Release notes](https://github.com/serilog/serilog-aspnetcore/releases)
- [Commits](https://github.com/serilog/serilog-aspnetcore/compare/v3.2.0...v3.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 12:04:18 +00:00
dependabot[bot]
17ba459638 Bump PlaylistsNET from 1.0.6 to 1.1.2
Bumps [PlaylistsNET](https://github.com/tmk907/PlaylistsNET) from 1.0.6 to 1.1.2.
- [Release notes](https://github.com/tmk907/PlaylistsNET/releases)
- [Commits](https://github.com/tmk907/PlaylistsNET/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 12:04:12 +00:00
michael9dk
e7af1185eb Update README.md
Fix broken link to Azure DevOps pipeline.
2020-08-03 13:21:44 +02:00
Nyanmisaka
c23d991c95 Merge branch 'master' into tonemap 2020-08-03 14:58:44 +08:00
Nyanmisaka
7b3f76b81f resolve conflicts 2020-08-03 14:55:28 +08:00
Joshua M. Boniface
47e63def20 Merge pull request #3728 from jellyfin/qsv-cutter
Adjust priority in outputSizeParam cutter
2020-08-02 20:30:33 -04:00
Joshua M. Boniface
612d513d86 Merge pull request #3772 from EraYaN/master
Updated SkiaSharp to 2.80.1 and replace resize code to fix bad quality
2020-08-02 20:28:42 -04:00
dkanada
714a6f04ef Merge pull request #3795 from anthonylavado/master
Update to newer Jellyfin.XMLTV
2020-08-03 09:00:29 +09:00
Anthony Lavado
705c0f93f6 Update to newer Jellyfin.XMLTV 2020-08-02 19:56:54 -04:00
dkanada
254ef6bc0d Merge pull request #3792 from cvium/fix_tmdb_deserialize
TMDb: Change Budget and Revenue to long to avoid overflow
2020-08-03 07:02:17 +09:00
cvium
e7d9d8f7c5 Change Budget and Revenue to long to avoid overflow 2020-08-02 23:54:58 +02:00
Bond-009
43fa983414 Merge pull request #3790 from cvium/fewer_string_allocs
Remove some unnecessary string allocations
2020-08-02 23:39:03 +02:00
Claus Vium
996d0c07d0 Update Emby.Server.Implementations/Data/SqliteItemRepository.cs 2020-08-02 23:34:28 +02:00
Claus Vium
85e43d657f Update Emby.Server.Implementations/Data/SqliteItemRepository.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-08-02 23:33:45 +02:00
cvium
aa32aba0f8 Remove some unnecessary string allocations. 2020-08-02 23:30:34 +02:00
Erwin de Haan
0f43780c8c Apply suggestions from code review
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-08-02 12:43:25 +02:00
Patrick Barron
6f306f0a17 Minor fixes to ActivityManager 2020-08-01 16:20:08 -04:00
Bond-009
b7421db5fe Merge pull request #3578 from barronpm/displaypreferences-efcore
Migrate Display Preferences to EF Core
2020-08-01 21:51:49 +02:00
Patrick Barron
ad32800504 Switch to unstable chromecast version. 2020-08-01 14:56:32 -04:00
Patrick Barron
a6bc4c688d Add using statement to DisplayPreferences migration 2020-08-01 14:52:45 -04:00
David
d2dd847b60 Remove duplicate code 2020-08-01 19:25:53 +02:00
David
a7eee4f4e5 Remove duplicate code 2020-08-01 19:25:20 +02:00
David
8e05b22645 Use correct MediaInfo method 2020-08-01 19:03:11 +02:00
David
24c5016f48 Fix parameters 2020-08-01 18:22:40 +02:00
David
74b3416963 Merge remote-tracking branch 'jellyfin/api-migration' into api-universal-audio 2020-08-01 18:07:03 +02:00
David
91f2a7d9a8 Revert changes 2020-08-01 18:04:46 +02:00
David
d50a022036 Merge pull request #3775 from crobibero/api-dynamic-hls
Move DynamicHlsService to Jellyfin.Api
2020-08-01 17:42:33 +02:00
crobibero
52ba54a71b PERFORMANCE 2020-08-01 08:58:18 -06:00
David
3f0c0e2d0d Implement IDisposable 2020-08-01 16:21:48 +02:00
David
b717ecd5e0 Move methods to the right class 2020-08-01 16:12:22 +02:00
David
9be20cfaa6 Add jellyfin api entry point 2020-08-01 16:05:26 +02:00
Cody Robibero
afe8208746 Update Jellyfin.Api/Controllers/DynamicHlsController.cs
Co-authored-by: David <daullmer@gmail.com>
2020-08-01 07:52:31 -06:00
David
d3dc9da5d6 Prepare DynamicHlsController merge 2020-08-01 15:10:57 +02:00
Bond_009
d191fec3ac Minor fixes for websocket code 2020-08-01 15:03:33 +02:00
David
a3dcca3826 Move UniversalAudioService to Jellyfin.Api 2020-08-01 14:40:02 +02:00
Bond-009
7621c8b806 Merge pull request #3769 from jellyfin/dkanada-patch-1
Remove useless order step for intros
2020-08-01 12:42:15 +02:00
Erwin de Haan
3ee28c016a Switch to sudo -n 2020-08-01 00:32:25 +02:00
Erwin de Haan
7c60510bc9 Experiment for the SSH task. 2020-08-01 00:20:47 +02:00
crobibero
f645e2f884 Move DynamicHlsService to Jellyfin.Api 2020-07-31 15:09:17 -06:00
Erwin de Haan
44aca4dc6f Formatting in SkiaEncoder.cs 2020-07-31 22:12:20 +02:00
Erwin de Haan
526eea41f0 Add a note on the convolutional matrix filter. 2020-07-31 22:02:16 +02:00
Erwin de Haan
a6d80f557d Add a much shorter timeout to the CollectArtifacts job 2020-07-31 21:40:09 +02:00
Erwin de Haan
af38e5469f Update Jellyfin.Drawing.Skia/SkiaEncoder.cs indentation.
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-31 21:33:25 +02:00
Erwin de Haan
7ce99aaf78 Update SkiaSharp to 2.80.1 and replace resize code.
This fixed the blurry resized images in the Web UI.
2020-07-31 21:20:05 +02:00
Patrick Barron
2cb6eb984b Merge pull request #3764 from Ullmie02/api-videohls
Move VideoHlsService to Jellyfin.Api
2020-07-31 18:25:54 +00:00
dkanada
e0d2eb8eec remove useless order step for intros 2020-08-01 02:03:23 +09:00
crobibero
4bb1e1c292 Fix docs, params, return values 2020-07-31 11:01:30 -06:00
crobibero
3d5f89ebf9 Merge remote-tracking branch 'upstream/api-migration' into api-dlna-server 2020-07-31 10:17:51 -06:00
crobibero
32c0ac96a1 fix route params 2020-07-31 10:17:01 -06:00
crobibero
6051df0c47 Fix response codes, documentation, and auth 2020-07-31 10:14:09 -06:00
crobibero
f516cf9c4c Merge remote-tracking branch 'upstream/api-migration' into api-dlna 2020-07-31 10:05:27 -06:00
Cody Robibero
cb31aba5dd Merge pull request #3691 from crobibero/api-video
move VideoService.cs to Jellyfin.Api
2020-07-31 09:27:31 -06:00
Anthony Lavado
9ec787e954 Merge pull request #3759 from AlfHou/readme_flag_fix
Change 'nowebcontent' flag to 'nowebclient' flag in readme
2020-07-31 08:27:23 -07:00
Anthony Lavado
06db5f8bca Merge pull request #3727 from K900/patch-1
Fix #3624
2020-07-31 08:26:59 -07:00
Anthony Lavado
4bad529fcb Merge pull request #3760 from thornbill/true-or-false
Fix inverted logic for LAN IP detection
2020-07-31 08:26:19 -07:00
David
d6c428e998 Update Jellyfin.Api/Controllers/VideoHlsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-31 17:26:14 +02:00
Anthony Lavado
0c0b47029a Merge pull request #3740 from Bond-009/alloc3
Optimize Substring and StringBuilder usage
2020-07-31 08:25:01 -07:00
David
c994060794 Remove response code doc because it got added elsewhere 2020-07-31 17:23:52 +02:00
crobibero
c97372a133 Add missing docs and remove duplicate function 2020-07-31 09:21:33 -06:00
crobibero
9171e904de Merge remote-tracking branch 'upstream/api-migration' into api-video 2020-07-31 09:19:02 -06:00
David
8a016e31f7 Move VideoHlsService to Jellyfin.Api 2020-07-31 17:09:10 +02:00
Joshua M. Boniface
9bf6222597 Merge pull request #3761 from cvium/fix_mem_leak
Fix DI memory leak
2020-07-31 09:23:55 -04:00
cvium
5f03fb0ef7 Use factory pattern to instantiate jellyfindb context to avoid disposed contexts piling up in DI container 2020-07-31 10:13:54 +02:00
Bill Thornton
d886941927 Fix inverted logic for LAN IP detection 2020-07-30 17:18:44 -04:00
Alf Sebastian Houge
2d3da0f1a6 There is no 'nowebcontent' flag, the correct flag is 'nowebclient' 2020-07-30 23:03:31 +02:00
Bond-009
ee3fae497c Merge pull request #3757 from jellyfin/update_blurhashsharp
Update BlurHashSharp and set max size to 128x128
2020-07-30 23:01:30 +02:00
cvium
af274de77e Update BlurHashSharp and set max size to 128x128 2020-07-30 22:50:13 +02:00
crobibero
f543a17d1b Apply review fixes 2020-07-30 06:29:06 -06:00
Nyanmisaka
8165c3bb21 total font size limit 20M 2020-07-30 17:36:38 +08:00
Bond-009
44dbee6ef2 Merge pull request #3747 from barronpm/memorycache
Use Memory Cache
2020-07-30 11:12:12 +02:00
Nyanmisaka
893bc7400b update as per suggestions 2020-07-30 16:30:49 +08:00
Patrick Barron
a97f98fbd5 Use MemoryCache in DeviceManager 2020-07-29 19:25:47 -04:00
crobibero
bb1fec9da1 remove extra using 2020-07-29 16:43:53 -06:00
crobibero
df5d43132c Fix PlaybackInfo endpoint 2020-07-29 16:42:01 -06:00
Patrick Barron
c77abca31a Use MemoryCache in ChannelManager 2020-07-29 17:33:40 -04:00
Patrick Barron
e5c6eec642 Use MemoryCache in LibraryManager 2020-07-29 17:28:15 -04:00
crobibero
5c4b342323 fix boolean 2020-07-29 14:21:32 -06:00
crobibero
d0ce239e3e Use ArrayPool and reduce duplicate code 2020-07-29 12:12:54 -06:00
crobibero
03f15fc0ef use proper os comparison 2020-07-29 09:28:53 -06:00
Bond_009
d4092846e4 Optimize Substring and StringBuilder usage 2020-07-29 13:17:01 +02:00
Joshua M. Boniface
8c1dab146c Merge pull request #3725 from joshuaboniface/fix-ci-docker
Flip quoting in variable set command
2020-07-28 20:01:25 -04:00
Joshua M. Boniface
dc0f1788f4 Merge pull request #3720 from joshuaboniface/fix-bump-version
Fix bump_version so it works properly
2020-07-28 20:00:46 -04:00
Joshua M. Boniface
27289929c0 Merge pull request #3724 from joshuaboniface/bump-master-version
Bump master version to 10.7.0 for next release
2020-07-28 19:59:59 -04:00
Patrick Barron
995c8fadb7 Update MediaBrowser.Api/DisplayPreferencesService.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-28 21:17:11 +00:00
tmechen
164eb3e9a2 Translated using Weblate (German)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2020-07-28 16:57:59 -04:00
nyanmisaka
45a97056ea allows to provide multiple fonts 2020-07-29 02:44:11 +08:00
Patrick Barron
c094916df0 Migrate default library display preferences. 2020-07-28 09:19:25 -04:00
Nyanmisaka
2139e9f8d1 adjust priority in outputSizeParam cutter 2020-07-28 17:07:10 +08:00
K900
3ed9463d25 Fix #3624
It doesn't really make sense to throw an error when creating the default user, because the error is completely non-actionable. Instead, if the autodetected username is not valid, just fall back to a sane default.
2020-07-28 12:03:08 +03:00
Joshua M. Boniface
2d8d3ba826 Flip quoting in variable set command
The quoting as-is was broken and would result in a junk output. This
way, the proper value is obtained.
2020-07-28 00:21:30 -04:00
Patrick Barron
c3a36485b6 Recreate display preferences migration. 2020-07-27 23:41:16 -04:00
Anthony Lavado
b207907e1b Merge pull request #3723 from joshuaboniface/fix-ci-docker
Get and tag with the actual release version in CI
2020-07-27 18:58:28 -07:00
Joshua M. Boniface
0798ab3945 Get and tag with the actual release version in CI 2020-07-27 21:41:51 -04:00
Patrick Barron
4b8ab1a803 Set default value of SortBy during migrations. 2020-07-27 21:01:08 -04:00
Patrick Barron
754837f16f Add tv home. 2020-07-27 20:50:58 -04:00
Patrick Barron
7d6c1befe5 Add Dashboard theme. 2020-07-27 20:44:46 -04:00
Patrick Barron
68a185fd02 Serialize/deserialize new entities properly. 2020-07-27 20:40:21 -04:00
Patrick Barron
592d2480ca Make adjustments to display preference entities. 2020-07-27 19:22:34 -04:00
Joshua M. Boniface
a511e0ac0b Bump master version to 10.7.0 for next release 2020-07-27 19:10:40 -04:00
Joshua M. Boniface
965c447c63 Fix bump_version so it works properly 2020-07-27 19:01:33 -04:00
Matt Montgomery
31d3b1b83a Cleanup interfaces 2020-07-27 15:40:14 -05:00
Anthony Lavado
ff6d102872 Merge pull request #3679 from barronpm/json-1
Use System.Text.Json in DefaultPasswordResetProvider
2020-07-27 13:07:35 -07:00
crobibero
b8d327889b Add missing functions 2020-07-27 13:42:40 -06:00
Patrick Barron
62fa72114c Merge pull request #3718 from Ullmie02/api-hlsegment
Move HlsSegmentService to Jellyfin.Api
2020-07-27 15:51:09 +00:00
David Ullmer
4aa0bd064f Move HlsSegmentService to Jellyfin.Api 2020-07-27 09:47:19 +02:00
Nyanmisaka
17527d68df fix build 2020-07-27 14:11:05 +08:00
Nyanmisaka
df6b303da7 Merge branch 'master' into tonemap 2020-07-27 13:57:40 +08:00
Joshua M. Boniface
d7287a05ad Merge pull request #3684 from Bond-009/warn22
Fix warnings
2020-07-27 00:16:09 -04:00
Matt Montgomery
3c91aa0c3d Code cleanup 2020-07-26 23:13:14 -05:00
gnehs
749c961872 Translated using Weblate (Chinese (Traditional))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hant/
2020-07-26 20:02:17 -04:00
Matt Montgomery
0945659cb5 Apply suggestions from code review 2020-07-26 18:14:35 -05:00
Anthony Lavado
ea0489a98e Merge pull request #3711 from yrjyrj123/fix_hw_decoder_for_macos
Fix the problem that hardware decoding cannot be used on macOS.
2020-07-26 15:37:13 -07:00
Anthony Lavado
bfecfab538 Merge pull request #3699 from oddstr13/pr-embedded-subs-1
Fix embedded subtitles
2020-07-26 15:36:29 -07:00
Anthony Lavado
468a7fea4c Merge pull request #3660 from crobibero/plugin-config-location
Force plugin config location
2020-07-26 15:36:08 -07:00
Anthony Lavado
6eb3e736c6 Merge pull request #3704 from oddstr13/pr-dotdir-sample-1
Don't ignore dot directories or movies/episodes with sample in their name.
2020-07-26 15:34:15 -07:00
Anthony Lavado
2f315bb0dd Merge pull request #3597 from barronpm/jellyfin-drawing-skia-cleanup
Jellyfin.Drawing.Skia Cleanup
2020-07-26 15:32:06 -07:00
Odd Stråbø
9314a4fcc9 . 2020-07-26 23:28:25 +02:00
Matt Montgomery
a40fe86776 Merge remote-tracking branch 'upstream/master' into quickconnect 2020-07-26 16:14:58 -05:00
Odd Stråbø
7fa80ac3e0 Add more tests, update comment 2020-07-26 23:03:16 +02:00
Nyanmisaka
3e55632807 remove spaces 2020-07-27 01:41:27 +08:00
不帅你报警
30bfa5536f Update MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
2020-07-27 01:34:36 +08:00
Patrick Barron
6015ceb731 Merge pull request #3693 from crobibero/api-library
Fix LibraryStructure API parameters
2020-07-26 16:09:31 +00:00
不帅你报警
d5dcb12407 Update EncodingHelper.cs
Fix the problem that hardware decoding cannot be used on macOS.
2020-07-26 23:47:29 +08:00
dkanada
8ab800508b Merge pull request #3703 from oddstr13/pr-username-space-1
Allow space in username
2020-07-27 00:11:56 +09:00
Odd Stråbø
de708d2fca Comment 2020-07-26 17:11:43 +02:00
Odd Stråbø
27e12798bc Update comment to include space 2020-07-26 13:57:22 +02:00
Nyanmisaka
95b961c864 remove unused line 2020-07-26 12:38:57 +08:00
crobibero
7bb34fc9e7 use proper HttpClient DI 2020-07-25 17:21:40 -06:00
Odd Stråbø
800260af43 Yep. I failed at copy-pasting. 2020-07-26 00:19:24 +02:00
Odd Stråbø
11d5410dbb Don't ignore dot directories.
Use `.ignore` file to hide directory from library scan.

Also, please tell me we handle sample matching somewhere else? This is a mess.
2020-07-25 23:50:49 +02:00
Odd Stråbø
2da2f1b20b Allow space in username 2020-07-25 22:19:27 +02:00
Patrick Barron
1aa853067a Use async json serialization. 2020-07-25 13:07:12 -04:00
Odd Stråbø
591fcf7ff2 Fix formating 2020-07-25 13:41:04 +02:00
Odd Stråbø
27709c9bb3 Fix embedded subtitles 2020-07-25 12:44:31 +02:00
crobibero
259b5d7f0a Fix request parameters 2020-07-24 17:46:17 -06:00
crobibero
5924a81eeb Fix request parameters 2020-07-24 17:31:11 -06:00
crobibero
d801621cfc Fix request parameters 2020-07-24 17:22:32 -06:00
crobibero
37496e958f move VideoService.cs to Jellyfin.Api 2020-07-24 16:49:43 -06:00
Patrick Barron
44acb9f7d9 Merge pull request #3592 from Ullmie02/api-audio
Migrate AudioService to Jellyfin.Api
2020-07-24 20:53:06 +00:00
MichaIng
1883ecd817 Fix left /usr/bin/jellyfin symlink on removal and typo
After removal of the symlink target file "/usr/lib/jellyfin/bin/jellyfin", file existence check on the symlink "[[ -f /usr/bin/jellyfin ]]" returns false. As a result the symlink is left in place on package purge. The correct check would be "[[ -L /usr/bin/jellyfin ]]", but since it could be a file in cases, e.g. manual fix on file systems with no symlink support or for any other reason, it is easiest to use "rm -f" to assure that it is removed in both cases and not return false even if it does not exist at all.

Additionally this fixes a typo on upstart script check.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-07-24 22:43:32 +02:00
Patrick Barron
13d919f236 Read EnableNextVideoInfoOverlay from database. 2020-07-24 16:35:20 -04:00
Patrick Barron
9fcf23bd21 Migrate EnableNextVideoInfoOverlay 2020-07-24 16:34:19 -04:00
Patrick Barron
ff7105982a Read skip lengths from server. 2020-07-24 16:32:24 -04:00
Patrick Barron
0d13d830bb Migrate skip lengths. 2020-07-24 16:30:54 -04:00
Nyanmisaka
a78c8e3854 change loglevels 2020-07-25 01:50:18 +08:00
David
ca3dcc3db0 Fix suggestions from review 2020-07-24 19:14:53 +02:00
nyanmisaka
5716453542 minor changes 2020-07-25 01:03:34 +08:00
nyanmisaka
4bdb870d16 Merge remote-tracking branch 'upstream/master' into tonemap 2020-07-25 00:58:14 +08:00
nyanmisaka
7b862bba5a add Tonemapping relaying on nvdec and ocl 2020-07-25 00:57:34 +08:00
Joshua M. Boniface
e3db0ac400 Merge pull request #3657 from Bond-009/readonlyspan
Review usage of string.Substring (part 1)
2020-07-24 12:21:25 -04:00
Bond_009
928bc6c787 Fix build 2020-07-24 16:42:28 +02:00
Bond_009
01e781035f Fix warnings 2020-07-24 16:37:54 +02:00
nyanmisaka
c888b34a62 add a method to use custom fallback fonts for subtitle rendering 2020-07-24 21:19:56 +08:00
Bond-009
3ff110984a Merge branch 'master' into readonlyspan 2020-07-24 09:40:44 +02:00
Bond-009
f5a3cc654f Merge pull request #3678 from barronpm/remove-unused-dependencies
Remove Unused Dependencies.
2020-07-24 09:37:43 +02:00
Bond-009
1cc62d6afa Update MediaBrowser.Controller/Extensions/ConfigurationExtensions.cs
Co-authored-by: David Mouse <dmouse10462@gmail.com>
2020-07-24 09:36:18 +02:00
Patrick Barron
1ee8790189 Use System.Text.Json in DefaultPasswordResetProvider 2020-07-23 21:50:41 -04:00
Patrick Barron
0aa349fe40 Remove unused dependencies. 2020-07-23 21:42:36 -04:00
dkanada
837741d0f7 Merge pull request #3677 from barronpm/fix-master-compilation
Fixed compilation error on master.
2020-07-24 10:36:26 +09:00
Patrick Barron
a59bc5c6a8 Fixed compilation error. 2020-07-23 20:57:59 -04:00
Anthony Lavado
0cb2cd9456 Merge pull request #3576 from HelloWorld017/fix/sami-utf16
Fix SAMI UTF-16 Encoding Bug
2020-07-23 17:48:04 -07:00
Anthony Lavado
83509e99cb Merge pull request #2788 from ThatNerdyPikachu/more-track-titles
Use embedded title for other track types
2020-07-23 17:47:54 -07:00
Patrick Barron
629ffe395f Fixed build errors. 2020-07-23 20:36:36 -04:00
Patrick Barron
583e4ef97f Merge pull request #3385 from crobibero/api-image-service
Move ImageService.cs to Jellyfin.Api
2020-07-24 00:35:34 +00:00
Patrick Barron
3d69cea1c9 Merge branch 'master' into displaypreferences-efcore 2020-07-23 23:50:12 +00:00
Pika
7331c02a21 Update MediaBrowser.Model/Entities/MediaStream.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-23 19:22:56 -04:00
Pika
ea4aa5ed8e Update MediaBrowser.Model/Entities/MediaStream.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-23 19:13:19 -04:00
Pika
262daa6650 Update MediaBrowser.Model/Entities/MediaStream.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-23 19:13:02 -04:00
Pika
f5a3408c89 Update MediaBrowser.Model/Entities/MediaStream.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-23 19:12:52 -04:00
Pika
3b21abd879 Merge branch 'master' into more-track-titles 2020-07-23 18:59:25 -04:00
Joshua M. Boniface
845ee21ddc Merge pull request #3664 from Bond-009/createuserasync
Make CreateUser async
2020-07-23 18:08:29 -04:00
Joshua M. Boniface
8960d6256f Merge pull request #3659 from Bond-009/stringbuilder
Optimize StringBuilder.Append calls
2020-07-23 18:08:09 -04:00
Joshua M. Boniface
6f2b23b3df Merge pull request #3613 from Bond-009/regex
Replace \d with [0-9] in ffmpeg detection and scan code
2020-07-23 18:07:01 -04:00
Joshua M. Boniface
0d446c8755 Merge pull request #3609 from Bond-009/warn21
Fix warnings
2020-07-23 18:06:34 -04:00
Joshua M. Boniface
fd82ecd18e Merge pull request #3595 from Bond-009/xml
Improve DescriptionXmlBuilder
2020-07-23 18:06:15 -04:00
Joshua M. Boniface
22cc602117 Merge pull request #3366 from barronpm/remove-usermanager-addparts
Remove UserManager.AddParts
2020-07-23 18:05:57 -04:00
Joshua M. Boniface
1a9adf283a Merge pull request #3675 from ferferga/fix-typo
Fix typo in debian config file
2020-07-23 18:00:41 -04:00
Fernando Fernández
722f6f5a26 fix typo in debian's config file 2020-07-23 20:53:04 +02:00
Bond-009
323fc576a5 Merge pull request #3521 from sachk/master
Fix support for mixed-protocol subtitles
2020-07-23 14:22:41 +02:00
Bond_009
d006f4301a Disable unix socket by default 2020-07-23 13:20:10 +02:00
Bond_009
cbe47325b3 Make UNIX socket configurable 2020-07-23 13:18:47 +02:00
David
d39f481a5c Apply suggestions from review 2020-07-23 12:46:54 +02:00
Bond-009
9ffe74d979 Merge pull request #3532 from Ullmie02/socket-binding
Add support for binding to Unix socket
2020-07-23 12:30:25 +02:00
David
0e855953a2 Update Jellyfin.Server/Program.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2020-07-23 12:03:46 +02:00
Bond-009
7686f53f52 Merge pull request #3632 from azlm8t/log-path-on-error
tvdb: Log path on lookup errors
2020-07-23 10:44:44 +02:00
Bond-009
ab9c1295ce Merge pull request #3538 from Ullmie02/api-fix
Fix value parsing in Jellyfin.Api
2020-07-23 10:37:30 +02:00
Bond-009
944fdb4c62 Merge pull request #3552 from BaronGreenback/NotificationFix
Fixes #3551 (Notifications Serialization error)
2020-07-23 10:34:32 +02:00
Bond-009
6de6583cbd Merge pull request #3615 from jellyfin/qsv-comet-lake
Fix QSV device creation on Comet Lake
2020-07-23 10:33:08 +02:00
Bond-009
e9758bde2a Merge pull request #3649 from thornbill/fix-epg-update-maybe
Skip image processing for live tv sources
2020-07-23 10:31:31 +02:00
Bond-009
6b11cccb7f Merge pull request #3663 from crobibero/efcore-leak
Add missing usings to UserManager
2020-07-23 10:30:45 +02:00
Bond-009
3a9698de54 Merge pull request #3665 from barronpm/use-interfaces
Use interfaces in app host constructors
2020-07-23 10:29:32 +02:00
Bond-009
b6017d3d4c Merge pull request #3666 from barronpm/livetvmanager-system-text-json
Use System.Text.Json in LiveTvManager
2020-07-23 10:28:37 +02:00
Anthony Lavado
f23e119a68 Merge pull request #3634 from crobibero/plugin-config
fix built in plugin js
2020-07-22 21:47:02 -07:00
Patrick Barron
7adac7561a Use System.Text.Json in LiveTvManager 2020-07-22 19:52:14 -04:00
Patrick Barron
200f369596 Use interfaces in app host constructors 2020-07-22 19:34:14 -04:00
Patrick Barron
5f67ba4d70 Restructure query to avoid extra database access. 2020-07-22 15:21:50 -04:00
Patrick Barron
8a9ec7809f Wrap context creation with using 2020-07-22 15:19:18 -04:00
Bond_009
941f326c0b Don't AddAsync 2020-07-22 21:07:13 +02:00
Bond_009
6cbfae209d Make CreateUser async 2020-07-22 20:57:29 +02:00
Patrick Barron
52ebf6ae8f Move DisplayPreferencesManager.cs to Users namespace 2020-07-22 14:53:32 -04:00
Patrick Barron
9f323e5579 Add missing chromecast version serialization/deserialization. 2020-07-22 14:37:17 -04:00
David
cff9772e14 Fix build part 2 2020-07-22 20:13:51 +02:00
David
1cb20f9181 Fix build 2020-07-22 19:44:17 +02:00
crobibero
b4532ad3a2 add missing using 2020-07-22 11:35:31 -06:00
E.Smith
f50348ca0b Log path on lookup errors
If the lookup fails (due to a bad id in an nfo file for example), then
we had no indication of which directory failed, so the user can not
fix the problem.

Now we include the path in the error message such as:

MediaBrowser.Providers.TV.SeriesMetadataService: Error in
DummySeasonProvider for /media/x/y/z

and

MediaBrowser.Providers.Manager.ProviderManager:
TvdbSeriesImageProvider failed in GetImageInfos for type Series at
/media/x/y/z
2020-07-22 18:22:52 +01:00
Bond-009
89ff865d40 Merge pull request #3508 from BaronGreenback/nullable
Part 1: nullable Emby.DLNA
2020-07-22 18:41:58 +02:00
Patrick Barron
968922e920 Merge pull request #3564 from Ullmie02/api-syncplay
Move SyncPlay api to Jellyfin.Api
2020-07-22 16:18:53 +00:00
Bill Thornton
e973757485 Simplify logic 2020-07-22 11:32:29 -04:00
David
2ce97c022e Move AudioService to Jellyfin.Api 2020-07-22 16:57:06 +02:00
David
69e6dd2747 Update Jellyfin.Api/Controllers/SyncPlayController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-22 16:53:56 +02:00
David
15ac8095b4 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-22 16:49:52 +02:00
crobibero
a1511e430c implement change properly 2020-07-22 08:23:56 -06:00
crobibero
939b95907b Force plugin config location 2020-07-22 08:19:26 -06:00
crobibero
b006fd1b8f apply review suggestions 2020-07-22 08:03:45 -06:00
Bond_009
b9004a0246 Fix build 2020-07-22 14:56:58 +02:00
Bond_009
4d681e3cad Optimize StringBuilder.Append calls 2020-07-22 14:34:51 +02:00
Bond-009
a86d8d1757 Merge pull request #3642 from crobibero/plugin-repo-x2
Try adding plugin repository again
2020-07-22 13:54:27 +02:00
Bond-009
3c1b2f11e5 Merge pull request #3646 from barronpm/incrementcount-async
Make IncrementInvalidLoginAttemptCount async.
2020-07-22 13:53:10 +02:00
Bond_009
a23292f363 Address comments 2020-07-22 13:52:31 +02:00
Bond_009
febb6bced6 Review usage of string.Substring (part 1)
Reduced allocations by replacing string.Substring with ReadOnlySpan<char>.Slice
2020-07-22 13:39:24 +02:00
David
5580df38e6 Cleanup after merge 2020-07-22 11:05:41 +02:00
David
90039e1ad3 Merge remote-tracking branch 'remotes/jellyfin/api-migration' into api-audio
# Conflicts:
#	Emby.Server.Implementations/ApplicationHost.cs
#	Jellyfin.Api/Helpers/TranscodingJobHelper.cs
2020-07-22 11:02:44 +02:00
David
eae665a9c4 Add properties to StreamState to fix some errors 2020-07-22 10:57:27 +02:00
David
07e56850be Remove caching and content length 2020-07-22 10:39:48 +02:00
David
9996afbf25 Add response code documentation 2020-07-22 10:20:51 +02:00
Bill Thornton
2fa2952791 Skip image processing for live tv sources 2020-07-21 16:40:38 -04:00
David
cbf5c682e9 Change enum values 2020-07-21 22:06:07 +02:00
David
be8cf1e9ef Merge branch 'api-migration' into api-syncplay
# Conflicts:
#	MediaBrowser.Api/SyncPlay/SyncPlayService.cs
2020-07-21 21:56:24 +02:00
crobibero
6602b0dfb6 Move ImageService.cs to Jellyfin.Api 2020-07-21 13:17:08 -06:00
Patrick Barron
0c5ac10a68 Make IncrementInvalidLoginAttemptCount async. 2020-07-21 14:27:09 -04:00
crobibero
9787b2fe8a Detach tracked entries on dispose 2020-07-21 10:19:53 -06:00
crobibero
6c076b2162 Try adding plugin repository again 2020-07-21 08:27:12 -06:00
crobibero
230c54721d update post profile image 2020-07-21 08:05:21 -06:00
crobibero
b040d89e5c Merge remote-tracking branch 'upstream/api-migration' into api-image-service 2020-07-21 08:03:09 -06:00
David
5b57c81ee1 Merge pull request #3629 from crobibero/api-migration-merge
Api migration merge
2020-07-21 10:32:05 +02:00
Nyanmisaka
d4c6415f99 minor changes 2020-07-21 11:41:28 +08:00
crobibero
05f743480d fully remove jquery 2020-07-20 17:31:20 -06:00
crobibero
f4cafc2f31 fix built in plugin js 2020-07-20 17:23:36 -06:00
crobibero
5c66f9e471 changes from merge 2020-07-20 14:43:54 -06:00
crobibero
1385064497 Merge remote-tracking branch 'upstream/master' into api-migration-merge 2020-07-20 14:28:33 -06:00
Bond-009
0750357916 Merge pull request #3620 from BaronGreenback/IPFix
Fix for #3607 and #3515
2020-07-20 18:41:01 +02:00
Bond-009
61a602adb6 Merge pull request #3598 from barronpm/providermanager-cleanup
Clean up ProviderManager.cs
2020-07-20 18:19:09 +02:00
BaronGreenback
f983ea95d1 Update Emby.Server.Implementations/Networking/NetworkManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-20 17:18:50 +01:00
BaronGreenback
bde1a38a88 Two fixes 2020-07-20 16:59:04 +01:00
dkanada
107cf21f26 Merge pull request #3616 from crobibero/migration-new-install
Allow migration to optionally run on fresh install
2020-07-20 23:38:28 +09:00
crobibero
9343e73b26 Allow migration to optionally run on fresh install 2020-07-20 07:45:24 -06:00
Nyanmisaka
5f89e81306 fix qsv device creation on Comet Lake
reddit: https://www.reddit.com/r/jellyfin/comments/huct4x/jellyfin_1060_released/fyn30ds
2020-07-20 20:48:20 +08:00
Bond-009
41c4cfe0af Merge pull request #3604 from joshuaboniface/fix-bad-deps
Fix bad Debuntu dependencies
2020-07-20 14:20:57 +02:00
Bond_009
e98351b912 Replace \d with [0-9] in ffmpeg detection and scan code 2020-07-20 14:14:15 +02:00
Bond-009
8f11e057a2 Merge pull request #3602 from crobibero/user-change-case
Fix username case change
2020-07-20 11:47:47 +02:00
Bond_009
7324b44c43 Fix warnings 2020-07-20 11:01:37 +02:00
Joshua M. Boniface
b1fe20aac5 Readd sed'd out dotnet-sdk dependency 2020-07-19 23:36:48 -04:00
Joshua M. Boniface
4966ca3616 Remove the old Emby conflicts
It's been long enough that this is no longer an issue. We still conflict
on the ports 8096 and 8190, but this will simply result in a failure to
start; allow users to get themselves into that situation if they wish.
2020-07-19 23:28:25 -04:00
Joshua M. Boniface
4ecedb2a12 Fix bad dependency handling in 10.6.0-1
Fixes the incorrect dependency handling from 10.6.0, which was missing
the Replaces and Breaks entries on jellyfin-server. Thus apt would
complain about /etc/default/jellyfin being in two packages and fail to
upgrade. With this configuration, I've verified that apt now handles
this situation properly.
2020-07-19 23:26:59 -04:00
Patrick Barron
6e11f77922 Add missing documentation. 2020-07-19 22:30:25 -04:00
crobibero
d1e351a00a Fix username case change 2020-07-19 20:21:30 -06:00
Patrick Barron
3fdbdf4078 Clean up ProviderManager.cs 2020-07-19 20:54:57 -04:00
Patrick Barron
36b05157f0 Rewrite CropWhitespace 2020-07-19 18:06:12 -04:00
Patrick Barron
4a356efa2c Make constructor one line 2020-07-19 17:59:54 -04:00
Patrick Barron
b51a10948a Rewrite OrientImage 2020-07-19 17:59:33 -04:00
BaronGreenback
301ddc1dac Update HttpContextExtensions.cs 2020-07-19 22:19:17 +01:00
Bond_009
65453c0a84 Fix build and more Append calls 2020-07-19 21:32:54 +02:00
Bond_009
39be99504f Improve DescriptionXmlBuilder
* Replace XML escape code with SecurityElement.Escape
* Optimize StringBuilder.Append calls
2020-07-19 21:20:18 +02:00
Patrick Barron
2569793ff0 Reuse paint objects. 2020-07-19 14:39:11 -04:00
Patrick Barron
d983d65d8a Simplify return statements 2020-07-19 14:18:23 -04:00
Patrick Barron
a9806d8f4a Convert to switch expressions 2020-07-19 14:16:33 -04:00
Patrick Barron
1be3e1e037 Remove unnecessary base constructor calls. 2020-07-19 14:14:44 -04:00
Patrick Barron
87b8a8d7c7 Simplify arithmetic 2020-07-19 14:13:56 -04:00
Patrick Barron
bd77f1e84f Remove redundant casts 2020-07-19 14:13:18 -04:00
Patrick Barron
196e8e131a Convert to using declarations 2020-07-19 14:12:53 -04:00
David
3514813eb4 Continute work 2020-07-19 19:03:48 +02:00
BaronGreenback
7becef73df Update MediaBrowser.Common/Extensions/HttpContextExtensions.cs
Co-authored-by: Mark Monteiro <marknr.monteiro@protonmail.com>
2020-07-19 17:54:29 +01:00
BaronGreenback
672a35db94 Update DlnaServerService.cs 2020-07-19 17:54:09 +01:00
David
0e1bf316b5 Merge branch 'master' of github.com:jellyfin/jellyfin into socket-binding 2020-07-18 19:21:43 +02:00
BaronGreenback
69ba385782 Corrected comment 2020-07-18 16:55:46 +01:00
BaronGreenback
f9b0816b80 Changes a suggested. 2020-07-18 16:54:23 +01:00
Khinenw
6e069f925b Fix SAMI UTF-16 Encoding Bug 2020-07-18 04:53:05 +00:00
Patrick Barron
5993a4ac2d Fix ChromecastVersion numbering 2020-07-17 23:36:13 -04:00
Patrick Barron
10f531bbe4 Manually specify enum order. 2020-07-17 20:03:17 -04:00
Patrick Barron
1ac1186312 Add pragmas to DisplayPreferences migration files 2020-07-17 20:01:17 -04:00
Patrick Barron
27eefd49f1 Add missing fields 2020-07-17 19:36:55 -04:00
Patrick Barron
d806084937 Remove superfluous annotations. 2020-07-17 16:27:34 -04:00
Patrick Barron
2831062a3f Add max length for SortBy 2020-07-17 16:11:54 -04:00
Patrick Barron
9e17db59cd Reorder HomeSectionType 2020-07-17 16:11:54 -04:00
Patrick Barron
fcfe227537 Updated documentation to indicate required elements. 2020-07-17 16:11:54 -04:00
Patrick Barron
817e06813e Remove unused using 2020-07-17 16:11:54 -04:00
Patrick Barron
f3263c7d8e Remove limit of 7 home sections 2020-07-17 16:11:54 -04:00
Patrick Barron
3c7eb6b324 Document HomeSection.cs 2020-07-17 16:11:54 -04:00
Patrick Barron
e96a36512a Document DisplayPreferences.cs 2020-07-17 16:11:53 -04:00
Patrick Barron
ab396225ea Migrate Display Preferences to EF Core 2020-07-17 16:11:53 -04:00
BaronGreenback
0f696104ac using missing. 2020-07-17 16:23:47 +01:00
BaronGreenback
6b4cea604c Suggested changes and removed some intellisense messages. 2020-07-17 16:19:06 +01:00
crobibero
2b5d515de7 specify plugin repo on install 2020-07-17 09:08:29 -06:00
BaronGreenback
c7c28db17b Update DlnaServerService.cs 2020-07-17 16:08:26 +01:00
BaronGreenback
24c1776ff6 Add files via upload 2020-07-17 16:06:52 +01:00
BaronGreenback
fd2f18899b Update ServiceHandler.cs 2020-07-17 16:06:32 +01:00
BaronGreenback
62eb1b1a38 Update ServiceController.cs 2020-07-17 12:59:16 +01:00
BaronGreenback
d9f9412955 Update DlnaServerService.cs 2020-07-17 12:58:23 +01:00
BaronGreenback
06beecc4f8 Update ServiceHandler.cs 2020-07-17 12:56:52 +01:00
BaronGreenback
e33c6f6b29 Update IApplicationHost.cs 2020-07-17 12:54:55 +01:00
BaronGreenback
912847ae8c Update ServiceController.cs 2020-07-17 12:54:28 +01:00
BaronGreenback
7cd4ae3b6e Update HttpListenerHost.cs 2020-07-17 12:54:13 +01:00
BaronGreenback
a44309f56f Update HttpListenerHost.cs 2020-07-17 12:53:50 +01:00
BaronGreenback
02d3bb7588 Update ApplicationHost.cs 2020-07-17 12:53:20 +01:00
BaronGreenback
31ffd00dbd Update ApplicationHost.cs 2020-07-17 12:51:55 +01:00
David
fa4e0a73d5 Update Jellyfin.Server/Program.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-16 11:21:46 +02:00
Patrick Barron
352dab7018 Merge pull request #3556 from Ullmie02/api-slow
Add X-Response-Time-ms header and log slow server response time (Jellyfin.Api)
2020-07-15 22:50:05 +00:00
Patrick Barron
9ed9bbb7a0 Merge pull request #3565 from Ullmie02/api-remove
Remove unused MediaBrowser.Api files (api-migration)
2020-07-15 16:05:37 +00:00
David
bb2e90c1e1 Remove unused api files 2020-07-15 16:40:58 +02:00
David
9a2bcd6266 Move SyncPlay api to Jellyfin.Api 2020-07-15 16:15:17 +02:00
David
c6a0306a34 Move field to the controller 2020-07-14 20:20:24 +02:00
David
262e19b691 Add X-Response-Time-ms header and log slow server response time 2020-07-14 13:40:18 +02:00
David
9f567e6471 Don't recreate JsonSerializerOptions every time 2020-07-14 12:39:58 +02:00
Patrick Barron
303c175714 Fix circular dependency 2020-07-13 17:25:50 -04:00
Patrick Barron
3b085f6a03 Remove UserManager.AddParts 2020-07-13 17:25:50 -04:00
BaronGreenback
12478c7196 Update NotificationOption.cs
Fixes serialisation bug
2020-07-13 17:54:06 +01:00
David
ee03b919f9 Fix parsing 2020-07-12 20:11:59 +02:00
Patrick Barron
f7c7b1e7e1 Merge pull request #3524 from crobibero/api-migration-nullable
Make query parameters nullable or set default value
2020-07-11 15:48:52 +00:00
David
7367e667f7 Add socket support 2020-07-11 12:43:30 +02:00
David
2328ec59c9 Migrate AudioService to Jellyfin.Api 2020-07-11 11:15:04 +02:00
crobibero
5d34b07d1f Make query parameters nullable or set default value 2020-07-07 09:10:51 -06:00
Sacha Korban
29c4220227 Fix support for mixed-protocol external subtitles 2020-07-07 19:54:11 +10:00
Patrick Barron
2eef7d4913 Merge pull request #3504 from Ullmie02/api-genres
Move GenresService to Jellyfin.Api
2020-07-06 16:38:13 +00:00
Patrick Barron
48438e828c Merge pull request #3507 from Ullmie02/api-musicgenres
Move MusicGenresService to Jellyfin.Api
2020-07-06 16:36:23 +00:00
Patrick Barron
d80eb91ba1 Merge pull request #2967 from crobibero/api-channel
Move ChannelService to Jellyfin.Api
2020-07-06 16:34:59 +00:00
Patrick Barron
940dee57d7 Merge pull request #3493 from Ullmie02/api-items
Move ItemsService and TrailersService to Jellyfin.Api
2020-07-06 16:31:35 +00:00
crobibero
1bf131c109 remove duplicate functions 2020-07-06 10:02:16 -06:00
crobibero
b2e7a4a1cb Merge remote-tracking branch 'upstream/api-migration' into api-channel 2020-07-06 10:00:23 -06:00
David
c2ae0b492c Add missing using 2020-07-06 17:43:34 +02:00
David
95ea9dad00 Change route parameter name 2020-07-06 17:41:02 +02:00
David
c71234f4d9 Add authorization attribute 2020-07-06 17:39:45 +02:00
David
87f3326ffb Add authorization attribute 2020-07-06 17:36:24 +02:00
crobibero
068725cded Fix documentation and authorize attribute 2020-07-06 08:02:23 -06:00
BaronGreenback
70c638d1d4 Updated code as per jellyfin/master as version i amended didn't execute. 2020-07-05 18:12:56 +01:00
BaronGreenback
ab10f21027 Part 1 of a multi-PR change for Emby.DLNA 2020-07-05 17:47:23 +01:00
David
5a74a7d3c7 Add additional userId query parameter 2020-07-05 11:10:09 +02:00
David
57fab9035f Move MusicGenresService to Jellyfin.Api 2020-07-05 11:04:14 +02:00
David
589add1654 Change nullable behavior to fix web client 2020-07-04 19:05:42 +02:00
David
94ccb3ee98 Move GenresService to Jellyfin.Api 2020-07-04 18:50:16 +02:00
Patrick Barron
613444a152 Merge pull request #2976 from crobibero/api-environment
Transfer EnvironmentService to Jellyfin.Api
2020-07-04 13:13:20 +00:00
David
c675a9bec9 Merge pull request #3405 from crobibero/api-livetv
Move LiveTvService.cs to Jellyfin.Api
2020-07-03 19:12:44 +02:00
David
68cc075dda Update LiveTvController.cs 2020-07-03 19:04:45 +02:00
David
31a492b2b9 Move TrailersService to Jellyfin.Api 2020-07-03 19:02:07 +02:00
David
121de44ad0 Move ItemsService to Jellyfin.Api 2020-07-03 18:39:50 +02:00
Cody Robibero
0830d381c4 Add missing endpoint 2020-07-03 10:25:26 -06:00
Max Git
3588ee5229 Merge branch 'master' into feature/ffmpeg-version-check 2020-07-02 23:50:13 +02:00
Patrick Barron
3306639c9b Merge pull request #3487 from crobibero/api-persons
Move PersonsService.cs to Jellyfin.Api
2020-07-01 15:14:08 +00:00
crobibero
1aaee5cf8f Move PersonsService.cs to Jellyfin.Api 2020-06-30 18:26:53 -06:00
crobibero
13c4cb628f add missing function after merge 2020-06-30 18:03:04 -06:00
crobibero
14faebc7fe Merge remote-tracking branch 'upstream/api-migration' into api-livetv 2020-06-30 17:53:20 -06:00
Patrick Barron
d300d80479 Merge pull request #3484 from Ullmie02/api-artists
Move ArtistsService to Jellyfin.Api
2020-06-30 23:10:17 +00:00
David
5dfe1ed9b3 Fix using ordering 2020-06-30 15:01:08 +02:00
David
6385e1ba46 Fix Build 2020-06-30 14:36:45 +02:00
David
94e792e0d7 Merge branch 'api-migration' of github.com:Ullmie02/jellyfin into api-migration 2020-06-30 14:34:48 +02:00
David
603b1693c0 Update Jellyfin.Api/Controllers/ArtistsController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-30 14:15:17 +02:00
Patrick Barron
a9dad2b04e Merge pull request #3451 from crobibero/api-studios
Move StudiosService.cs to Jellyfin.Api
2020-06-29 18:56:21 +00:00
crobibero
da40572979 Merge remote-tracking branch 'upstream/api-migration' into api-studios 2020-06-29 12:54:47 -06:00
Patrick Barron
1b34919a60 Merge pull request #3381 from crobibero/api-movies
Move MoviesService.cs to Jellyfin.Api
2020-06-29 18:43:12 +00:00
David
45e034e9a1 Move ArtistsService to Jellyfin.Api 2020-06-29 16:34:00 +02:00
Cody Robibero
8459d486de Update Jellyfin.Api/Controllers/MoviesController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-29 07:35:00 -06:00
Patrick Barron
dbf939467f Merge pull request #3466 from crobibero/api-migration-nullable
Make all optional strings nullable
2020-06-28 23:59:21 +00:00
Patrick Barron
9b6daec3ad Merge pull request #3462 from Ullmie02/api-playbackinfo
Move MediaInfoService to Jellyfin.Api
2020-06-28 18:11:58 +00:00
David
68dd31d00e Remove routes in old service 2020-06-28 12:44:17 +02:00
Patrick Barron
37e2405638 Merge pull request #3460 from crobibero/api-playstate
Move PlaystateService.cs to Jellyfin.Api
2020-06-27 18:40:28 +00:00
crobibero
73bcda7eac Make all optional strings nullable 2020-06-27 10:50:44 -06:00
David
bcd3cddad8 Move MediaInfoService to Jellyfin.Api 2020-06-27 12:26:43 +02:00
crobibero
f45d44f321 Move PlaystateService.cs to Jellyfin.Api 2020-06-26 21:04:02 -06:00
Patrick Barron
90c01327aa Merge pull request #3433 from crobibero/api-years
Move YearsService to Jellyfin.Api
2020-06-26 20:09:54 +00:00
Patrick Barron
ac646494e5 Merge pull request #3447 from crobibero/api-user-views
move UserViewsService.cs to Jellyfin.Api
2020-06-26 20:08:30 +00:00
Patrick Barron
b9b73178f5 Merge pull request #3449 from crobibero/api-user-library
Move UserLibraryService.cs to Jellyfin.Api
2020-06-26 20:06:53 +00:00
Patrick Barron
67a0f7180c Merge pull request #3453 from Ullmie02/api-instantmix
Move InstantMixService to Jellyfin.Api
2020-06-26 20:01:38 +00:00
David
1e80be30a9 Add response code documentation 2020-06-26 17:45:07 +02:00
David
ea855c3a75 Merge branch 'api-migration' of github.com:jellyfin/jellyfin into api-instantmix 2020-06-26 13:48:56 +02:00
David
fb9654e783 Correct Library routing 2020-06-26 13:43:31 +02:00
David
778634b41b Move InstantMixService to Jellyfin.Api 2020-06-26 13:42:21 +02:00
dkanada
3b99e691a6 Merge pull request #3450 from crobibero/api-fix-swagger-order
Fix docs endpoint order
2020-06-26 19:21:48 +09:00
crobibero
325808d271 Move StudiosService.cs to Jellyfin.Api 2020-06-25 18:22:55 -06:00
Patrick Barron
fe02c6e863 Merge pull request #2929 from crobibero/api-scheduled-tasks
Scheduled Tasks to Jellyfin.Api
2020-06-25 23:46:03 +00:00
crobibero
8d7b39a36e fix endpoint order 2020-06-25 17:44:11 -06:00
crobibero
8074c47d29 Move UserLibraryService.cs to Jellyfin.Api 2020-06-25 17:28:12 -06:00
crobibero
54d666d7c9 move UserViewsService.cs to Jellyfin.Api 2020-06-25 16:46:09 -06:00
crobibero
0179293c24 fix build 2020-06-25 16:23:31 -06:00
crobibero
18f7f5aec7 Merge remote-tracking branch 'upstream/api-migration' into api-environment 2020-06-25 16:22:04 -06:00
crobibero
0740ec6112 Merge remote-tracking branch 'upstream/api-migration' into api-image-service 2020-06-25 16:05:15 -06:00
Patrick Barron
7bd9172779 Merge pull request #3434 from crobibero/api-unused
remove unused query parameters
2020-06-25 21:45:44 +00:00
dkanada
f11ca0ba94 Merge pull request #3446 from crobibero/api-missing-route
Add missing route
2020-06-26 06:12:26 +09:00
crobibero
835bda7be3 Add missing route 2020-06-25 13:01:41 -06:00
Patrick Barron
45f195aca9 Merge pull request #3440 from Ullmie02/api-collection
Move CollectionService to Jellyfin.Api
2020-06-25 17:33:40 +00:00
Patrick Barron
7c96018410 Merge pull request #3441 from Ullmie02/api-albums
Move AlbumsService to Jellyfin.Api
2020-06-25 17:30:34 +00:00
David
53f4a8ce58 Add missing response code documentation 2020-06-25 17:15:08 +02:00
David
2cc5b1ab94 Add response code docs 2020-06-25 17:07:12 +02:00
David
fa98013621 Move AlbumsService to Jellyfin.Api 2020-06-25 13:23:54 +02:00
David
dad6f12b10 Move CollectionService to Jellyfin.Api 2020-06-25 12:51:18 +02:00
crobibero
7a32d03101 remove unused parameters 2020-06-24 14:43:28 -06:00
crobibero
1228d6711e remove unused parameters 2020-06-24 14:35:57 -06:00
crobibero
e72a22c564 Move YearsService.cs to Jellyfin.Api 2020-06-24 13:48:22 -06:00
Cody Robibero
7c1020cfc1 Merge pull request #2984 from crobibero/api-library
Move Library Service to Jellyfin.API
2020-06-24 12:57:39 -06:00
crobibero
fb81f95ae8 fix duplicate function 2020-06-24 12:49:09 -06:00
crobibero
289605c07f Merge remote-tracking branch 'upstream/api-migration' into api-library 2020-06-24 12:36:13 -06:00
crobibero
60ab4cd7b1 move YearsService.cs to Jellyfin.Api 2020-06-24 12:23:46 -06:00
crobibero
fee07219d0 fix merge 2020-06-24 10:54:25 -06:00
crobibero
cbcf3bfaff Merge remote-tracking branch 'upstream/api-migration' into api-channel 2020-06-24 10:52:39 -06:00
Patrick Barron
6ad50f2e02 Merge pull request #3421 from Ullmie02/api-tvshows
Move TvShowsService to Jellyfin.Api
2020-06-24 14:27:47 +00:00
crobibero
32881c6b22 add missing docs and attributes 2020-06-24 08:01:12 -06:00
David
d64770bcdb Finish TvShowsController 2020-06-24 14:40:37 +02:00
crobibero
7e94bb7864 fix controller attribute 2020-06-23 11:53:08 -06:00
crobibero
b4a773fde8 Merge remote-tracking branch 'upstream/api-migration' into api-livetv 2020-06-23 11:50:42 -06:00
crobibero
c4f9112b0d Move LiveTvService.cs to Jellyfin.Api 2020-06-23 11:48:37 -06:00
Patrick Barron
cdba45fc3c Merge pull request #3285 from Ullmie02/api-system
Move SystemService to Jellyfin.Api
2020-06-23 14:02:21 +00:00
Max Git
1c84a31b22 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-23 10:24:34 +02:00
Max Git
c35c401d65 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-23 09:20:50 +02:00
Patrick Barron
57bf8c17d6 Merge pull request #3420 from Ullmie02/api-missing-policy
Add missing authorization policies (new Web Api)
2020-06-23 01:33:13 +00:00
Patrick Barron
68e89be349 Merge pull request #3419 from crobibero/api-branding
move BrandingService.cs to Jellyfin.Api
2020-06-22 21:50:12 +00:00
David
293d96f27c Move TvShowsService to Jellyfin.Api started 2020-06-22 18:02:57 +02:00
crobibero
1d7d480efe fix tests 2020-06-22 08:14:07 -06:00
David
6b72fb8631 Add missing default authorization policy 2020-06-22 15:49:15 +02:00
crobibero
d2f7cb0442 Merge branch 'api-branding' of github.com:crobibero/jellyfin into api-branding 2020-06-22 07:47:48 -06:00
crobibero
0fa316c9e4 move BrandingService.cs to Jellyfin.Api 2020-06-22 07:47:22 -06:00
Cody Robibero
263d925e4f Update launchSettings.json 2020-06-22 07:46:47 -06:00
David
5c6e9f4db5 Add missing authorization policies 2020-06-22 15:44:11 +02:00
crobibero
a50738e88d move BrandingService.cs to Jellyfin.Api 2020-06-22 07:37:29 -06:00
BaronGreenback
ba3a9f7d46 removing stray < character from description. 2020-06-22 12:14:31 +01:00
BaronGreenback
a25a233b75 Using Version class. 2020-06-22 11:57:46 +01:00
crobibero
f35774170f Move LiveTvService.cs to Jellyfin.Api 2020-06-21 16:12:21 -06:00
Patrick Barron
743032f1e1 Merge pull request #3393 from Ullmie02/api-dashboard
Move DashboardController to Jellyfin.Api
2020-06-21 19:41:11 +00:00
Patrick Barron
a6664b8335 Merge pull request #3275 from crobibero/api-playlist
Move PlaylistService to Jellyfin.Api
2020-06-21 18:54:38 +00:00
Patrick Barron
87734b8647 Merge pull request #3399 from Ullmie02/api-videos
Move VideosService to Jellyfin.Api
2020-06-21 18:51:30 +00:00
BaronGreenback
bf1bbbdd3e Changed sorting to case insensitive 2020-06-21 18:46:48 +01:00
BaronGreenback
2255bc9872 Changed padding in version numbers based up how they are stored in the repository. 2020-06-21 18:42:50 +01:00
crobibero
38788a1f1d Merge remote-tracking branch 'upstream/api-migration' into api-library 2020-06-21 11:34:05 -06:00
crobibero
ccd7b3f524 WIP GetImage endpoints 2020-06-21 11:31:44 -06:00
Patrick Barron
3bf19d1e93 Merge pull request #3395 from crobibero/api-routes-fix
Add missing attributes, fix response codes, fix route parameter casing
2020-06-21 17:21:02 +00:00
David
4eb94b8fb1 Update Jellyfin.Api/Controllers/DashboardController.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-21 18:22:17 +02:00
BaronGreenback
d89c46f1a9 fixes 2020-06-21 17:11:21 +01:00
David
fae510308e Add try catch block 2020-06-21 18:00:04 +02:00
David
f736b43f97 Merge pull request #3271 from crobibero/api-item-lookup
Move ItemLookupService to Jellyfin.Api
2020-06-21 17:47:16 +02:00
crobibero
cffba00f51 Fix response code 2020-06-21 09:35:38 -06:00
Cody Robibero
f211a6c17b Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-21 09:33:52 -06:00
Cody Robibero
f6972cdab8 Update Jellyfin.Api/Controllers/ItemRefreshController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-21 09:33:46 -06:00
Cody Robibero
857eb0c397 Update Jellyfin.Api/Controllers/PluginsController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-21 09:33:40 -06:00
Cody Robibero
c492c09b25 Update Jellyfin.Api/Controllers/DisplayPreferencesController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-21 09:33:34 -06:00
BaronGreenback
99410f3c97 fixes 2020-06-21 16:15:55 +01:00
David
8f9c985988 Move VideosService to Jellyfin.Api 2020-06-21 16:00:16 +02:00
BaronGreenback
a041fe8a2d Add versioning to plugin folders 2020-06-21 13:29:35 +01:00
David
9a223b7359 Fix suggestions 2020-06-21 12:35:06 +02:00
David
d7ae666ef0 Merge pull request #3273 from crobibero/api-item-update
Move ItemUpdateService to Jellyfin.Api
2020-06-21 12:10:55 +02:00
crobibero
10ddbc34ec Add missing attributes, fix response codes, fix route parameter casing 2020-06-20 18:02:07 -06:00
crobibero
9a8deadc21 implement all non image get endpoints 2020-06-20 17:06:33 -06:00
crobibero
b603742a77 Merge remote-tracking branch 'upstream/api-migration' into api-image-service 2020-06-20 16:26:42 -06:00
crobibero
f017f5c97f clean up 2020-06-20 16:07:53 -06:00
crobibero
472fd5217f clean up 2020-06-20 16:07:09 -06:00
crobibero
d1ca0cb4c7 Use proper DtoOptions extensions 2020-06-20 16:03:19 -06:00
crobibero
3329b08b40 Merge remote-tracking branch 'upstream/api-migration' into api-playlist 2020-06-20 15:56:42 -06:00
Patrick Barron
deac459b62 Merge pull request #3382 from Ullmie02/api-suggestions
Move SuggestionsService to Jellyfin.Api
2020-06-20 21:42:27 +00:00
crobibero
81c0451b5e Fix response code & docs 2020-06-20 15:16:30 -06:00
crobibero
8c38644fca Fix response code & docs 2020-06-20 15:15:59 -06:00
crobibero
95bae56640 Fix response code & docs 2020-06-20 15:14:43 -06:00
crobibero
0c98bc42a8 Fix response code & docs 2020-06-20 15:11:10 -06:00
David
576ffeb2a9 Merge pull request #3324 from Ullmie02/api-sessionservice
Move SessionService to Jellyfin.Api
2020-06-20 20:55:09 +02:00
David Ullmer
d4c86b82e0 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-sessionservice
# Conflicts:
#	Jellyfin.Api/Helpers/RequestHelpers.cs
2020-06-20 20:45:16 +02:00
Patrick Barron
804764e1fb Merge pull request #3363 from Ullmie02/api-user
Move UserService to Jellyfin.Api
2020-06-20 16:52:58 +00:00
David
64fb173dad Move DashboardController to Jellyfin.Api 2020-06-20 15:59:41 +02:00
David
33de0ac108 Use RequestHelpers.Split 2020-06-20 12:10:45 +02:00
ConfusedPolarBear
e2f16fc255 Merge remote-tracking branch 'upstream/master' into quickconnect 2020-06-19 23:33:43 -05:00
ConfusedPolarBear
329980c727 API cleanup 2020-06-19 23:33:07 -05:00
ConfusedPolarBear
4be476ec53 Move all settings into the main server configuration
Decreased the timeout from 30 minutes to 5.
Public lookup values have been replaced with the short code.
2020-06-19 23:32:24 -05:00
Patrick Barron
e26f487fc8 Merge pull request #3377 from crobibero/api-pragma
Convert pragma to SuppressMessage
2020-06-20 00:49:35 +00:00
Patrick Barron
c3915cdb78 Merge pull request #2926 from crobibero/api-display-preferences
DisplayPreferences to Jellyfin.Api
2020-06-20 00:47:55 +00:00
crobibero
cd273c4e98 Start move ImageService.cs to Jellyfin.Api 2020-06-19 15:08:35 -06:00
David
f17d198eb5 Move SuggestionsService to Jellyfin.Api 2020-06-19 22:18:46 +02:00
crobibero
7c79ee0cd5 Move MoviesService.cs to Jellyfin.Api 2020-06-19 13:51:01 -06:00
crobibero
45234e5ecd Add movie support to existing GetSimilarItemsResult 2020-06-19 13:29:14 -06:00
crobibero
e2a7e8d97e Move LibraryService.cs to Jellyfin.Api 2020-06-19 13:10:10 -06:00
Bond-009
f8459502d8 Merge pull request #3379 from Ullmie02/api-nullable
Remove #nullable enable in Jellyfin.Api
2020-06-19 19:09:32 +02:00
crobibero
494f697072 Merge remote-tracking branch 'upstream/api-migration' into api-library 2020-06-19 10:49:49 -06:00
David Ullmer
7e91ded587 Remove #nullable enable 2020-06-19 18:20:49 +02:00
David Ullmer
68ea589f1a Use direct return instead of Ok() 2020-06-19 18:11:46 +02:00
crobibero
d53a2899b1 remove #nullable 2020-06-19 09:03:04 -06:00
crobibero
e4a13f0e1e remove #nullable 2020-06-19 09:02:41 -06:00
crobibero
8f1505cdf5 remove #nullable 2020-06-19 09:02:10 -06:00
crobibero
6767c47ccd remove #nullable 2020-06-19 09:01:37 -06:00
crobibero
97ce641242 remove #nullable 2020-06-19 09:00:50 -06:00
crobibero
d820c0fff5 Convert pragma to supresswarning 2020-06-19 08:49:42 -06:00
David
08401f923d Change swagger dictionary type mapping 2020-06-19 15:49:44 +02:00
Patrick Barron
305808dd0a Merge pull request #3373 from crobibero/api-dto
Add DtoExtensions
2020-06-19 13:38:14 +00:00
David
b51b9653ac Add missing authorization policies 2020-06-19 14:29:32 +02:00
David
d63c0e4228 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-system 2020-06-19 14:13:40 +02:00
David
a5bd7f2d6e Use new authorization and session functions 2020-06-19 13:03:53 +02:00
David
42385a14f0 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-sessionservice
# Conflicts:
#	MediaBrowser.Api/Sessions/SessionService.cs
2020-06-19 12:32:38 +02:00
David
6651cb8d24 Add JsonInto32Converter
Add additional swagger type mapping
2020-06-19 12:24:39 +02:00
David
77bea56708 Add request body models 2020-06-18 19:35:29 +02:00
David
762eeb51e6 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-user 2020-06-18 18:52:01 +02:00
crobibero
69e1047bf3 Add DtoExtensions.cs 2020-06-18 10:42:48 -06:00
David
522e44de59 Merge pull request #3357 from crobibero/api-authorization
Add Authorization handlers
2020-06-18 18:37:08 +02:00
David
713ae7ae36 Add xml comments; Add status codes; Use return instead of exception 2020-06-18 18:09:58 +02:00
Patrick Barron
1da044e0eb Merge pull request #3369 from crobibero/api-cleanup
Remove #nullable, make Task.Run async
2020-06-18 13:22:52 +00:00
crobibero
9a51f484af Remove nullable, add async task 2020-06-18 07:11:46 -06:00
Patrick Barron
116284fe99 Merge pull request #3321 from Ullmie02/api-librarystructure
Move LibraryStructureService to Jellyfin.Api
2020-06-17 23:27:47 +00:00
Max Git
cd8d04f055 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-17 22:31:10 +02:00
David
f2d7eac418 [WIP] Move UserService to Jellyfin.Api 2020-06-17 21:08:58 +02:00
Patrick Barron
b4da357db2 Merge pull request #2944 from crobibero/api-image
ImageNameService to Jellyfin.Api
2020-06-17 17:15:32 +00:00
David
226a9d5d2e Merge pull request #2946 from crobibero/api-image2
Move RemoteImageService to Jellyfin.API
2020-06-17 19:07:20 +02:00
David
bf133d044a Merge pull request #3269 from crobibero/api-filter
Move FilterService to Jellyfin.Api
2020-06-17 18:53:03 +02:00
crobibero
9b45ee440c User proper File constructor 2020-06-17 10:51:50 -06:00
crobibero
0d1298e851 User proper File constructor 2020-06-17 10:49:34 -06:00
crobibero
90fe8f0cbc Merge branch 'api-filter' of github.com:crobibero/jellyfin into api-filter 2020-06-17 10:43:26 -06:00
crobibero
444605703c Merge remote-tracking branch 'upstream/api-migration' into api-filter 2020-06-17 10:43:04 -06:00
Cody Robibero
f181cb3746 Update Jellyfin.Api/Controllers/FilterController.cs
Co-authored-by: David <davidullmer@outlook.de>
2020-06-17 10:41:40 -06:00
Cody Robibero
f27f977f01 Merge pull request #3333 from crobibero/api-item-refresh
Move ItemRefreshService.cs to Jellyfin.Api
2020-06-17 09:12:41 -06:00
Cody Robibero
5a7ad6b2dc Merge pull request #3274 from crobibero/api-localization
Move LocalizationService to Jellyfin.Api
2020-06-17 09:12:33 -06:00
David
efe998ecf4 Merge pull request #3280 from crobibero/api-plugin
Move PluginService to Jellyfin.Api
2020-06-17 17:07:37 +02:00
crobibero
0c01b6817b Add X-Forward-(For/Proto) support 2020-06-17 08:05:30 -06:00
crobibero
4962e230af revert adding Jellyfin to auth header 2020-06-17 06:52:15 -06:00
Max Git
000768f56c Merge branch 'master' into feature/ffmpeg-version-check 2020-06-17 10:17:50 +02:00
Max Git
33f78df051 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-17 02:52:38 +02:00
crobibero
29917699f0 Further cleanup and add final tests 2020-06-16 16:55:02 -06:00
Cody Robibero
b451eb0bdc Update Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-06-16 16:45:17 -06:00
crobibero
b22fdbf59e Add tests and cleanup 2020-06-16 16:42:10 -06:00
crobibero
c24666253c Add Default authorization policy 2020-06-16 14:15:58 -06:00
crobibero
774fdbd031 Fix tests. 2020-06-16 14:12:40 -06:00
David
a952d15670 Await Task from _libraryManager 2020-06-16 16:08:31 +02:00
Max Git
e6c197b969 Cleanup 2020-06-16 01:09:41 +02:00
Max Git
a57d664c7d Merge branch 'master' into feature/ffmpeg-version-check 2020-06-16 00:53:10 +02:00
crobibero
a8adbef74f Add GetAuthorizationInfo for netcore HttpRequest 2020-06-15 13:21:18 -06:00
crobibero
4aac936721 Add more authorization handlers, actually authorize requests 2020-06-15 12:49:54 -06:00
Max Git
ef3200e178 Remove redundant cast 2020-06-15 19:50:09 +02:00
Max Git
11f3a0dc58 Use Version instead of double. Use correct version number for libavdevice. 2020-06-15 15:10:59 +02:00
Max Git
3fbc387257 Fix stylecop error like on master. 2020-06-15 12:15:05 +02:00
Max Git
37e737e012 Merge from master & fix conflict 2020-06-15 12:12:03 +02:00
Anthony Lavado
cf9223b8cb Merge pull request #3340 from crobibero/api-migration-merge
Merge master into api-migration
2020-06-14 22:50:49 -04:00
crobibero
524243a934 fix merge conflict 2020-06-14 20:18:06 -06:00
crobibero
589735f60c Merge remote-tracking branch 'upstream/master' into HEAD 2020-06-14 20:15:26 -06:00
dkanada
e2b2f74b47 Merge pull request #3319 from Ullmie02/api-204
Use Http status code 204 instead of 200
2020-06-15 10:51:28 +09:00
Patrick Barron
293187480f Merge pull request #3288 from Ullmie02/api-subtitles
Move SubtitleService to Jellyfin.Api
2020-06-14 19:06:01 -04:00
David
edc5611ec7 Fix null reference to fix CI 2020-06-14 13:50:51 +02:00
David
8a8bf4b686 Merge remote-tracking branch 'upstream/api-migration' into api-sessionservice 2020-06-14 12:49:43 +02:00
David
ac0a3180d7 Merge remote-tracking branch 'upstream/api-migration' into api-librarystructure 2020-06-14 12:49:19 +02:00
David
9bedd9ac3c Merge remote-tracking branch 'upstream/api-migration' into api-204 2020-06-14 12:48:17 +02:00
David
d01f56bc42 Merge remote-tracking branch 'upstream/api-migration' into api-subtitles 2020-06-14 12:45:49 +02:00
David
cf3d0f8d51 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-system 2020-06-14 12:43:10 +02:00
crobibero
276750f310 Move ItemRefreshService.cs to Jellyfin.Api 2020-06-13 15:33:42 -06:00
crobibero
13b53db4ef fix build 2020-06-13 15:31:22 -06:00
crobibero
2d4998c578 fix build 2020-06-13 15:28:04 -06:00
crobibero
ae514da840 Merge remote-tracking branch 'upstream/api-migration' into api-environment 2020-06-13 15:27:03 -06:00
crobibero
8a834fb728 Merge remote-tracking branch 'upstream/api-migration' into api-filter 2020-06-13 15:25:02 -06:00
crobibero
81030a0a5a Merge remote-tracking branch 'upstream/api-migration' into api-plugin 2020-06-13 15:24:34 -06:00
crobibero
ce37c40749 Merge remote-tracking branch 'upstream/api-migration' into api-item-lookup 2020-06-13 15:23:42 -06:00
crobibero
50f6d8029d Merge remote-tracking branch 'upstream/api-migration' into api-item-update 2020-06-13 15:21:50 -06:00
crobibero
9ee6ea86ea Merge remote-tracking branch 'upstream/api-migration' into api-localization 2020-06-13 15:21:13 -06:00
crobibero
bcce8190ff Merge remote-tracking branch 'upstream/api-migration' into api-channel 2020-06-13 15:20:13 -06:00
crobibero
3c18745f53 Remove RemoteImageService.cs 2020-06-13 15:15:27 -06:00
crobibero
552a74eb6e Fix build 2020-06-13 15:13:57 -06:00
crobibero
6c7cc92a09 Merge remote-tracking branch 'upstream/api-migration' into api-image2 2020-06-13 15:09:02 -06:00
crobibero
bd09753976 Merge remote-tracking branch 'upstream/api-migration' into api-image 2020-06-13 15:07:04 -06:00
crobibero
39376bace3 Merge remote-tracking branch 'upstream/api-migration' into api-scheduled-tasks 2020-06-13 15:06:07 -06:00
crobibero
7666a1201f Merge remote-tracking branch 'upstream/api-migration' into api-display-preferences 2020-06-13 15:03:43 -06:00
Joshua M. Boniface
0011e8df47 Merge pull request #3332 from crobibero/api-migration
Merge master into api-migration
2020-06-13 16:28:37 -04:00
crobibero
ec3e15db57 Fix merge and build 2020-06-13 13:11:41 -06:00
crobibero
829eb1a849 merge master into api-migration 2020-06-13 13:03:09 -06:00
dkanada
d975ad155e Merge pull request #3220 from crobibero/api-swagger-auth
Add Authentication to openapi generation.
2020-06-13 13:48:33 +09:00
crobibero
6d5c09c499 Remove duplicate swaggerdoc 2020-06-12 14:40:06 -06:00
crobibero
720fff30a4 readd swagger version 2020-06-12 14:37:55 -06:00
crobibero
2fe65d99f6 Merge remote-tracking branch 'upstream/api-migration' into api-swagger-auth 2020-06-12 14:35:51 -06:00
David
fff3c789b9 Move SessionService to Jellyfin.Api 2020-06-12 18:54:25 +02:00
David
618b893c48 Move LibraryStructureService to Jellyfin.Api 2020-06-12 15:39:06 +02:00
David
043d76bd6e Use Http status code 204 instead of 200 2020-06-12 12:38:13 +02:00
Patrick Barron
6429e60c40 Merge pull request #2931 from crobibero/api-attachment
AttachmentsService to Jellyfin.Api
2020-06-11 23:56:16 -04:00
Patrick Barron
6a62c3c628 Merge pull request #3281 from Ullmie02/api-activitylog
Move ActivityLogService to Jellyfin.Api
2020-06-11 23:00:41 -04:00
Patrick Barron
a6573e015f Merge pull request #2983 from bruceCoelho/api-migration
PackageService to Jellyfin.API
2020-06-11 22:52:35 -04:00
Max Git
0f69ca8fa9 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-11 20:47:12 +02:00
David
a47ff4043f Disable CA1801 2020-06-11 16:01:41 +02:00
David
fcbae95d19 Use 'await using Stream' instead of 'using Stream' 2020-06-11 15:57:31 +02:00
Max Git
620a1a106d Merge branch 'master' into feature/ffmpeg-version-check 2020-06-11 14:50:29 +02:00
David
8178b19470 Fix suggestions 2020-06-11 12:29:56 +02:00
David
f64e8e8757 Move SubtitleService to Jellyfin.Api 2020-06-10 18:20:54 +02:00
Cody Robibero
355682620d Update Jellyfin.Api/Controllers/FilterController.cs
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-06-10 09:23:27 -06:00
Cody Robibero
393f5f0c25 Update Jellyfin.Api/Controllers/FilterController.cs
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-06-10 09:23:20 -06:00
Cody Robibero
c61efba0c6 Merge pull request #3286 from Ullmie02/api-apikey
Move ApiKeyService to Jellyfin.Api
2020-06-10 09:22:59 -06:00
David
6a70081643 Move ApiKeyService to Jellyfin.Api 2020-06-10 15:57:31 +02:00
David
b16da09549 Move /System Endpoint to Jellyfin.Api 2020-06-10 15:18:13 +02:00
David
1bf6c085ed Move File; Move Route; use DateTime? in Query 2020-06-10 13:09:23 +02:00
Cody Robibero
647b78a3c0 Merge pull request #3226 from Ullmie02/api-searchservice
Move SearchService to new API endpoint
2020-06-09 20:43:03 -06:00
dkanada
ac9bef9465 Merge pull request #3227 from crobibero/api-first-user
Add second endpoint for Startup/User
2020-06-10 11:03:35 +09:00
ConfusedPolarBear
82887ec710 Add IDisposable 2020-06-09 18:40:35 -05:00
ConfusedPolarBear
86624e92d3 Finish addressing review comments 2020-06-09 15:18:26 -05:00
ConfusedPolarBear
7d9b552403 Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-09 13:28:40 -05:00
David
dc190e5683 Move ActivityLogService to Jellyfin.Api 2020-06-09 18:56:17 +02:00
crobibero
0b778b8851 Move PluginService to Jellyfin.Api 2020-06-09 09:57:01 -06:00
David Ullmer
1491e93d84 Add response code documentation 2020-06-09 11:00:37 +02:00
dkanada
b3f8928fbb Merge pull request #3218 from crobibero/api-cors
Enable CORS and Authentation
2020-06-09 14:29:52 +09:00
dkanada
26f937c369 Merge pull request #3260 from crobibero/api-css-formatter
Api css formatter
2020-06-09 14:23:11 +09:00
Erik Rigtorp
75efb8f52d Use additional unicode chars for year extraction 2020-06-08 16:35:20 -07:00
Erik Rigtorp
82ff3fa75d Add additional resolver tests 2020-06-08 16:35:20 -07:00
ConfusedPolarBear
001c78573e Add XML documentation 2020-06-08 17:14:20 -05:00
ConfusedPolarBear
0d6a63bf84 Make all properties nullable 2020-06-08 15:48:18 -05:00
ConfusedPolarBear
35ff2be9d7 Merge remote-tracking branch 'upstream/master' into quickconnect 2020-06-08 14:43:58 -05:00
crobibero
7a77b9928f Move PlaylistService to Jellyfin.Api 2020-06-08 13:14:55 -06:00
crobibero
d97e306cda Move PlaylistService to Jellyfin.Api 2020-06-08 13:14:41 -06:00
crobibero
a4455af3e9 Move LocalizationService to Jellyfin.Api 2020-06-08 12:34:17 -06:00
crobibero
81d3ec7205 Move ItemUpdateService to Jellyfin.Api 2020-06-08 12:20:33 -06:00
crobibero
6f64e48c54 Add response codes 2020-06-08 07:37:16 -06:00
crobibero
16e26be87f Move ItemLookupService to Jellyfin.Api 2020-06-08 07:22:40 -06:00
dkanada
e153214e76 Merge pull request #3219 from crobibero/api-config-json
Switch Config controller to System.Text.Json
2020-06-08 15:24:15 +09:00
crobibero
dd5579e0eb Move FilterService to Jellyfin.Api 2020-06-07 22:04:59 -06:00
David
cefa9d3c08 Add default values for parameters and fix spelling 2020-06-07 18:10:08 +02:00
David
7fa374f8a2 Move Split method from BaseJellyfinApiController.cs to RequestHelpers.cs 2020-06-07 15:41:49 +02:00
David
f3029428cd Fix suggestions 2020-06-07 15:33:54 +02:00
dkanada
f7f59fe9a3 Merge branch 'api-migration' into api-config-json 2020-06-07 15:34:31 +09:00
crobibero
6be862545a Merge remote-tracking branch 'upstream/api-migration' into api-cors 2020-06-06 17:07:29 -06:00
crobibero
48cbac934b Don't clear media types 2020-06-06 16:53:49 -06:00
crobibero
04abb281c0 Add CSS output formatter. 2020-06-06 16:52:23 -06:00
crobibero
598cd94c4d Add CSS output formatter. 2020-06-06 16:51:21 -06:00
Max Git
268e87bbf2 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-05 00:57:35 +02:00
crobibero
6c53e36ccf Fix Api Routing 2020-06-04 15:17:05 -06:00
crobibero
a787efc660 Merge remote-tracking branch 'upstream/api-migration' into api-scheduled-tasks 2020-06-04 15:16:04 -06:00
crobibero
fd913d73e3 Revert authorized endpoints to legacy api 2020-06-04 10:10:36 -06:00
crobibero
22f56842bd Apply review suggestions 2020-06-04 07:59:11 -06:00
Cody Robibero
601e4a88c9 Merge pull request #2933 from crobibero/api-device
DeviceService to Jellyfin.Api
2020-06-04 07:29:23 -06:00
crobibero
3e749eabdf Fix doc errors 2020-06-04 07:29:00 -06:00
dkanada
35366772b2 Merge pull request #3186 from Ullmie02/asp-api-exception
Don't send Exception message in Production Environment
2020-06-04 14:49:36 +09:00
Max Git
beb8a58643 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-03 23:21:12 +02:00
crobibero
88b6c26472 Merge remote-tracking branch 'remotes/upstream/api-migration' into api-channel
# Conflicts:
#	Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs
2020-06-03 09:38:49 -06:00
Cody Robibero
ab4597958a Merge pull request #3232 from crobibero/api-json-dictionary
Add Dictionary with non-string keys to System.Text.Json
2020-06-03 09:13:37 -06:00
crobibero
8b59934ccb remove extra Clear call 2020-06-03 09:12:12 -06:00
Max Git
5df00cb2b8 Merge branch 'master' into feature/ffmpeg-version-check 2020-06-03 12:26:50 +02:00
Max Git
e81140be20 Merge branch 'feature/ffmpeg-version-check' of https://github.com/rotvel/jellyfin into feature/ffmpeg-version-check 2020-06-02 20:18:02 +02:00
Max Git
5577cc375e Merge branch 'master' into feature/ffmpeg-version-check 2020-06-02 20:17:13 +02:00
crobibero
01a5103fef Add Dictionary with non-string keys to System.Text.Json 2020-06-02 11:47:33 -06:00
Cody Robibero
93bca7ab50 Merge pull request #3153 from crobibero/api-json-enum
Fix Json Enum conversion, map all JsonDefaults properties to API
2020-06-02 11:15:08 -06:00
crobibero
2476848dd3 Fix tests 2020-06-02 10:12:55 -06:00
crobibero
cf9cbfff56 Add second endpoint for Startup/User 2020-06-02 08:28:37 -06:00
crobibero
0e41c4727d revert to System.Text.JsonSerializer 2020-06-02 08:23:12 -06:00
crobibero
4fe0beec16 Fix Json Enum conversion, map all JsonDefaults properties to API 2020-06-02 08:23:12 -06:00
David
638cfa32ab Move SearchService to new API endpoint 2020-06-02 15:07:07 +02:00
David
6d9f564a94 Remove duplicate code
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
2020-06-02 15:04:55 +02:00
crobibero
aed6f57f11 Remove invalid docs and null check 2020-06-01 20:54:02 -06:00
crobibero
e30a85025f Remove log spam when using legacy api 2020-06-01 12:42:59 -06:00
crobibero
dfe873fc29 Add Authentication to openapi generation. 2020-06-01 11:12:33 -06:00
crobibero
9f0b5f347a Switch Config controller to System.Text.Json 2020-06-01 11:06:15 -06:00
crobibero
b944b8f8c5 Enable CORS and Authentication. 2020-06-01 11:03:08 -06:00
Cody Robibero
297ab2e423 Merge pull request #2962 from crobibero/api-config
Move ConfigurationService to Jellyfin.Api
2020-06-01 09:29:34 -06:00
rotvel
480fd0a66a Update MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-01 16:00:58 +02:00
Max Git
e103d087d3 Try harder at detecting FFmpeg version and enable the validation 2020-06-01 07:10:15 +02:00
ConfusedPolarBear
5d281adedd Merge remote-tracking branch 'upstream/master' into quickconnect 2020-05-29 17:42:42 -05:00
ferferga
ba03ed65fe Remove "download images in advance" option 2020-05-27 19:13:41 +02:00
David
a5a39300bc Don't send Exception message in Production Environment 2020-05-26 16:55:27 +02:00
Bond-009
5c95037234 Merge pull request #2953 from crobibero/api-startup
Convert StartupController to ActionResult
2020-05-25 15:17:42 +02:00
crobibero
e02cc8da53 Add Swashbuckle TODO note 2020-05-24 16:04:47 -06:00
crobibero
483e24607b Fix optional parameter binding 2020-05-24 16:01:53 -06:00
crobibero
40762f13c6 Fix route parameter casing 2020-05-24 15:54:34 -06:00
crobibero
62ea9b2821 Merge upstream/api-migration 2020-05-24 12:33:16 -06:00
crobibero
1f9cda6a66 Add ImageTags to SwaggerGenTypes 2020-05-24 12:19:37 -06:00
crobibero
70c42eb0ac Apply review suggestions 2020-05-24 12:19:26 -06:00
crobibero
a4b3f2e32b Add missing route attribute 2020-05-23 18:19:49 -06:00
crobibero
341b947cde Move int64 converter to JsonDefaults location 2020-05-22 10:48:01 -06:00
crobibero
fb068b76a1 Use correct MediaTypeName 2020-05-20 07:18:51 -06:00
crobibero
5f0c37d574 Fix DefaultDirectoryBrowserInfo naming 2020-05-19 13:22:09 -06:00
crobibero
070edd9e5b Fix MediaType usage 2020-05-19 13:13:07 -06:00
crobibero
2689865858 Remove unused using 2020-05-19 13:02:35 -06:00
crobibero
51d54a8ca4 Fix return content type 2020-05-19 13:02:02 -06:00
crobibero
b28dd47a0f implement review suggestions 2020-05-19 12:58:09 -06:00
crobibero
2f2bceb110 Remove default parameter values 2020-05-19 12:56:57 -06:00
Bruce
24543b04c1 Applying review suggestion to documentation 2020-05-19 18:13:42 +01:00
crobibero
cdb25e355c Fix return value 2020-05-19 10:06:25 -06:00
crobibero
cf78edc979 Fix Authorize attributes 2020-05-19 10:05:23 -06:00
crobibero
a11a193439 Remove CameraUpload endpoints 2020-05-19 10:04:09 -06:00
crobibero
e03c97d7cd update xml docs 2020-05-19 10:02:52 -06:00
crobibero
6c376f18f7 update xml docs 2020-05-19 09:47:02 -06:00
crobibero
6dbbfcbfbe update xml docs 2020-05-19 09:29:59 -06:00
crobibero
839de72f9a Fix authentication attribute 2020-05-19 09:24:04 -06:00
crobibero
2923013c6e Clean Remote Image Controller. 2020-05-19 09:23:28 -06:00
crobibero
98bd61e364 Clean up routes 2020-05-19 09:14:37 -06:00
crobibero
c998935d29 Apply review suggestions 2020-05-19 09:06:37 -06:00
crobibero
1c471d5855 Clean UpdateDisplayPreferences endpoint 2020-05-19 09:01:00 -06:00
crobibero
a7a725173d Rename to AttachmentsController -> VideoAttachmentsController 2020-05-19 08:55:15 -06:00
crobibero
26a2bea179 Update endpoint docs 2020-05-19 08:55:15 -06:00
crobibero
177339e8d5 Fix Authorize attributes 2020-05-19 08:55:15 -06:00
crobibero
15e9fbb923 move to ActionResult<T> 2020-05-19 08:55:15 -06:00
crobibero
84fcb4926c Remove exception handler 2020-05-19 08:55:15 -06:00
crobibero
8eac528815 nullable 2020-05-19 08:55:15 -06:00
crobibero
45d750f106 Move AttachmentsService to AttachmentsController 2020-05-19 08:55:15 -06:00
crobibero
c4f8ba55f2 Rename to AttachmentsController -> VideoAttachmentsController 2020-05-19 08:28:02 -06:00
crobibero
37f55b5c21 apply doc suggestions 2020-05-17 19:56:02 -06:00
dkanada
ebc24470e3 Merge pull request #3075 from crobibero/api-operationid
Add OperationId to SwaggerGen
2020-05-17 00:08:54 +09:00
redSpoutnik
2363ad5449 Add Post subtitle in API 2020-05-08 21:56:29 +02:00
crobibero
2b1b9a64b6 Add OperationId to SwaggerGen 2020-05-08 08:40:37 -06:00
Mark Monteiro
6e1120c623 Merge pull request #3048 from jellyfin/api-notification-docs
Fix XML doc generation
2020-05-03 16:45:57 -04:00
crobibero
d7d8118b42 Fix xml docs 2020-05-03 14:02:15 -06:00
Bond-009
f2bace2a07 Merge pull request #2925 from crobibero/redoc
Enhance Swagger Generation
2020-05-03 19:36:42 +02:00
Bond-009
b1a2fb60f2 Merge pull request #2876 from ZadenRB/asp-net-notifications-service
Migrates the notifications service to use ASP.NET API framework
2020-05-03 17:33:01 +02:00
crobibero
35dbcea931 Return array -> ienumerable 2020-05-02 18:47:05 -06:00
crobibero
cbd4a64e67 Update endpoint docs 2020-05-02 18:46:27 -06:00
crobibero
25002483a3 Update endpoint docs 2020-05-02 17:23:02 -06:00
crobibero
7516e3ebbe Update endpoint docs 2020-05-02 17:12:56 -06:00
crobibero
f67daa84b0 Update endpoint docs 2020-05-02 17:10:59 -06:00
crobibero
0017163f39 Update endpoint docs 2020-05-02 17:06:29 -06:00
Bruce
0d8253d8e2 Updated documentation according to discussion in jellyfin#2872 2020-05-01 15:17:40 +01:00
ZadenRB
82231b4393 Update to return IEnumerable directly where possible 2020-04-29 15:53:29 -06:00
crobibero
7a3925b863 Fix docs 2020-04-29 09:41:12 -06:00
crobibero
97ecffceb7 Add response code descriptions 2020-04-29 08:59:34 -06:00
crobibero
806ae1bc07 Remove versioned API 2020-04-29 08:04:05 -06:00
Cody Robibero
d491b1b45f Merge branch 'api-migration' into redoc 2020-04-29 07:38:18 -06:00
dkanada
2cb0f6f126 Merge pull request #2952 from crobibero/api-exception-middleware
Add Exception Middleware
2020-04-29 22:36:41 +09:00
ZadenRB
c61a200c9d Revise documentation based on discussion in #2872 2020-04-28 09:30:59 -06:00
crobibero
068368df63 Order actions by route, then http method 2020-04-26 23:28:32 -06:00
crobibero
000088f8f9 init 2020-04-25 18:18:33 -06:00
crobibero
890e659cd3 Fix autolaunch & redirect of swagger. 2020-04-25 15:12:18 -06:00
Bruce Coelho
5aced0ea0f Apply suggestions from code review
Co-Authored-By: Cody Robibero <cody@robibe.ro>
2020-04-25 21:41:56 +01:00
Bruce Coelho
f66714561e Update Jellyfin.Api/Controllers/PackageController.cs
Applying requested changes to PackageController

Co-Authored-By: Cody Robibero <cody@robibe.ro>
2020-04-25 21:32:49 +01:00
Bruce
c7fe8b04cc PackageService to Jellyfin.API 2020-04-25 19:59:31 +01:00
Bond-009
383bc45372 Merge pull request #2932 from crobibero/api-casing
Add optional camelCase formatter
2020-04-25 11:09:38 +02:00
crobibero
714aaefbcc Transfer EnvironmentService to Jellyfin.Api 2020-04-24 18:20:36 -06:00
ConfusedPolarBear
70e50dfa90 Apply suggestions from code review 2020-04-24 18:51:19 -05:00
ZadenRB
85853f9ce3 Add back in return type documentation 2020-04-24 17:11:11 -06:00
ConfusedPolarBear
33390153fd Minor fix 2020-04-23 23:44:15 -05:00
crobibero
0765ef8bda Apply suggestions, fix warning 2020-04-23 21:41:10 -06:00
crobibero
b8508a57d8 oop 2020-04-23 21:38:40 -06:00
crobibero
be50fae38a Address comments 2020-04-23 21:24:40 -06:00
crobibero
3c34d95608 Address comments 2020-04-23 21:23:29 -06:00
crobibero
311f2e2bc3 Fix Authorize attributes 2020-04-23 10:07:21 -06:00
crobibero
f3da5dc8b7 Fix Authorize attributes 2020-04-23 10:04:37 -06:00
crobibero
bb8e738a08 Fix Authorize attributes 2020-04-23 10:03:54 -06:00
crobibero
5ca7e1fd79 Move ChannelService to Jellyfin.Api 2020-04-23 08:54:28 -06:00
crobibero
1223eb5a22 Remove unneeded Ok calls. 2020-04-23 08:03:41 -06:00
crobibero
4d894c4344 Remove unneeded Ok calls. 2020-04-23 07:55:47 -06:00
crobibero
c7c2f9da90 Apply suggestions 2020-04-23 07:51:04 -06:00
crobibero
c6eebca335 Apply suggestions and add URL to log message 2020-04-23 07:29:28 -06:00
crobibero
a06d271725 Move ConfigurationService to Jellyfin.Api 2020-04-22 13:07:21 -06:00
ZadenRB
7693cc0db0 Use ActionResult return type for all endpoints 2020-04-22 10:00:10 -06:00
ZadenRB
2a49b19a7c Update documentation of startIndex
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-22 00:21:37 -06:00
crobibero
461b298be7 Migrate DlnaServerController to Jellyfin.Api 2020-04-21 19:15:27 -06:00
crobibero
f5385e4735 Move Emby.Dlna DlnaService.cs to Jellyfin.Api 2020-04-21 18:12:46 -06:00
crobibero
041d674eb6 Fix swagger ui Document Title 2020-04-21 16:19:26 -06:00
crobibero
2542a27bd5 Fix documentation endpoint for use with baseUrl 2020-04-21 16:15:31 -06:00
crobibero
3ab61dbdc2 bump swashbuckle 2020-04-21 15:49:04 -06:00
crobibero
14c94b4e5f Merge branch 'api-migration' of https://github.com/jellyfin/jellyfin into redoc 2020-04-21 15:12:04 -06:00
crobibero
7db3b035a6 move to ActionResult<T> 2020-04-21 14:25:03 -06:00
crobibero
88b856796a move to ActionResult<T> 2020-04-21 14:23:08 -06:00
crobibero
9ae895ba21 move to ActionResult<T> 2020-04-21 14:09:06 -06:00
crobibero
02a78aaae9 move to ActionResult<T> 2020-04-21 14:07:11 -06:00
crobibero
98224dee9e move to ActionResult<T> 2020-04-21 14:01:47 -06:00
crobibero
927696c403 move to ActionResult<T> 2020-04-21 13:59:43 -06:00
crobibero
466e20ea8c move to ActionResult<T> 2020-04-21 13:57:11 -06:00
ZadenRB
69d9bfb233 Make documentation of parameters clearer
Co-Authored-By: Vasily <JustAMan@users.noreply.github.com>
2020-04-21 12:10:34 -06:00
crobibero
3ef8448a51 Return to previous exception handle implementation 2020-04-21 09:09:05 -06:00
crobibero
b8fd9c785e Convert StartupController to IActionResult 2020-04-21 08:42:48 -06:00
crobibero
14361c68cf Add ProducesResponseType to base controller 2020-04-21 08:38:31 -06:00
crobibero
fe632146dc Move Json Options to static class for easier access. 2020-04-21 08:17:13 -06:00
crobibero
8ab9949db5 Remove exception handler 2020-04-21 08:02:07 -06:00
crobibero
a6cd852675 Remove exception handler 2020-04-21 07:58:54 -06:00
crobibero
30609236ab Remove exception handler 2020-04-21 07:57:45 -06:00
crobibero
04119c0d40 Remove exception handler 2020-04-21 07:55:57 -06:00
crobibero
5ef71d592b Remove exception handler 2020-04-21 07:55:01 -06:00
crobibero
08eba82bb7 Remove exception handler 2020-04-21 07:52:33 -06:00
crobibero
1175ce3f97 Add Exception Middleware 2020-04-21 07:36:22 -06:00
ZadenRB
dae6965710 Remove documentation of void return type 2020-04-21 00:24:35 -06:00
ZadenRB
6c8e1d37bd Remove more unnecessary IActionResult 2020-04-20 23:53:09 -06:00
ZadenRB
67efcbee05 Remove error handlers, to be implemented at a global level in a separate PR 2020-04-20 20:16:58 -06:00
crobibero
766d2ee413 Move RemoteImageService to Jellyfin.API 2020-04-20 14:21:06 -06:00
crobibero
376619369d fix build 2020-04-20 13:12:54 -06:00
crobibero
e151d539f2 Move ImageByNameService to Jellyfin.Api 2020-04-20 13:06:29 -06:00
crobibero
fff2a40ffc Remove StringEnumConverter 2020-04-20 07:24:13 -06:00
ZadenRB
688240151b Enable nullable reference types on new class, remove unnecessary documenation and return types 2020-04-20 00:00:00 -06:00
ZadenRB
16cae23bbe Add response type annotations, return IActionResult to handle errors 2020-04-19 21:06:28 -06:00
crobibero
440f060da6 Fix Authenticated Roles 2020-04-19 19:36:18 -06:00
crobibero
21b54b4ad8 Move DeviceService to DevicesController 2020-04-19 19:33:55 -06:00
crobibero
c89dc8921f Fix PascalCase 2020-04-19 18:10:59 -06:00
crobibero
ad67081840 add camelCase formatter 2020-04-19 18:04:36 -06:00
crobibero
1fc6825410 nullable 2020-04-19 17:37:15 -06:00
crobibero
a41d5fcea4 Move AttachmentsService to AttachmentsController 2020-04-19 17:36:05 -06:00
crobibero
c5d709f77e remove todo 2020-04-19 16:35:31 -06:00
crobibero
a96db5f48e Remove old scheduled tasks service 2020-04-19 16:32:03 -06:00
crobibero
4a960892c2 Add Authorize and BindRequired 2020-04-19 16:31:09 -06:00
crobibero
d8fc4f91db burn ToOptimizedResult 2020-04-19 16:29:29 -06:00
crobibero
5d9c40ec72 move scheduled tasks to Jellyfin.Api 2020-04-19 16:26:20 -06:00
ZadenRB
7c8188194b Address PR comments, and revert changes that changed the API schema 2020-04-19 13:19:15 -06:00
crobibero
e6b873f2ae Fix missing attributes 2020-04-19 12:56:16 -06:00
crobibero
60607ab60c Fix saving DisplayPreferences 2020-04-19 12:34:34 -06:00
crobibero
c31b9f5169 Fix build & runtime errors 2020-04-19 12:30:10 -06:00
crobibero
a282fbe966 Move DisplayPreferences to Jellyfin.Api 2020-04-19 12:26:38 -06:00
crobibero
86d68e23e7 Add DisplayPreferencesController 2020-04-19 12:06:18 -06:00
crobibero
72745f4722 fix formatting 2020-04-19 11:28:56 -06:00
crobibero
5da88fac4d Enable string enum converter 2020-04-19 11:24:32 -06:00
crobibero
e72a543570 Add Redoc, move docs to api-docs/ 2020-04-19 11:24:03 -06:00
crobibero
8a7e4cd639 add redoc 2020-04-19 10:51:51 -06:00
ConfusedPolarBear
387a07c6dd Add persistent setting configuration and temporary activation 2020-04-19 01:33:09 -05:00
ConfusedPolarBear
36f3e933a2 Add quick connect 2020-04-15 14:49:20 -05:00
ZadenRB
558b50a094 Remove unnecessary assembly, update casing, enable nullable reference types on notification DTOs. 2020-04-15 09:29:29 -06:00
ZadenRB
ad1c880751 Lowercase parameters 2020-04-15 00:34:50 -06:00
ZadenRB
1180b9746f Migrates the notifications service to use ASP.NET MVC framework 2020-04-15 00:01:31 -06:00
Pika
7aba10eff6 Forgot one 2020-04-08 18:50:25 -04:00
Pika
d85ca5276b Port changes from #2773 2020-04-08 18:40:38 -04:00
Pika
1cf31229d8 Use embedded title for other track types 2020-04-06 13:49:35 -04:00
WWWesten
f2817fef74 Merge pull request #1 from jellyfin/master
Merge from upstream
2019-02-23 18:58:38 +05:00
2080 changed files with 103257 additions and 76796 deletions

View File

@@ -7,15 +7,17 @@ parameters:
default: "ubuntu-latest"
- name: DotNetSdkVersion
type: string
default: 3.1.100
default: 6.0.x
jobs:
- job: CompatibilityCheck
displayName: Compatibility Check
dependsOn: Build
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber'])
pool:
vmImage: "${{ parameters.LinuxImage }}"
# only execute for pull requests
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber'])
strategy:
matrix:
${{ each Package in parameters.Packages }}:
@@ -23,7 +25,7 @@ jobs:
NugetPackageName: ${{ Package.value.NugetPackageName }}
AssemblyFileName: ${{ Package.value.AssemblyFileName }}
maxParallel: 2
dependsOn: Build
steps:
- checkout: none
@@ -34,32 +36,33 @@ jobs:
version: ${{ parameters.DotNetSdkVersion }}
- task: DotNetCoreCLI@2
displayName: 'Install ABI CompatibilityChecker tool'
displayName: 'Install ABI CompatibilityChecker Tool'
inputs:
command: custom
custom: tool
arguments: 'update compatibilitychecker -g'
- task: DownloadPipelineArtifact@2
displayName: "Download New Assembly Build Artifact"
displayName: 'Download New Assembly Build Artifact'
inputs:
source: "current"
source: 'current'
artifact: "$(NugetPackageName)"
path: "$(System.ArtifactsDirectory)/new-artifacts"
runVersion: "latest"
- task: CopyFiles@2
displayName: "Copy New Assembly Build Artifact"
displayName: 'Copy New Assembly Build Artifact'
inputs:
sourceFolder: $(System.ArtifactsDirectory)/new-artifacts
contents: "**/*.dll"
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/new-release
cleanTargetFolder: true
overWrite: true
flattenFolders: true
- task: DownloadPipelineArtifact@2
displayName: "Download Reference Assembly Build Artifact"
displayName: 'Download Reference Assembly Build Artifact'
enabled: false
inputs:
source: "specific"
artifact: "$(NugetPackageName)"
@@ -70,18 +73,19 @@ jobs:
runBranch: "refs/heads/$(System.PullRequest.TargetBranch)"
- task: CopyFiles@2
displayName: "Copy Reference Assembly Build Artifact"
displayName: 'Copy Reference Assembly Build Artifact'
enabled: false
inputs:
sourceFolder: $(System.ArtifactsDirectory)/current-artifacts
contents: "**/*.dll"
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/current-release
cleanTargetFolder: true
overWrite: true
flattenFolders: true
# The `--warnings-only` switch will swallow the return code and not emit any errors.
- task: DotNetCoreCLI@2
displayName: 'Execute ABI Compatibility Check Tool'
enabled: false
inputs:
command: custom
custom: compat

View File

@@ -1,7 +1,7 @@
parameters:
LinuxImage: 'ubuntu-latest'
RestoreBuildProjects: 'Jellyfin.Server/Jellyfin.Server.csproj'
DotNetSdkVersion: 3.1.100
DotNetSdkVersion: 6.0.x
jobs:
- job: Build
@@ -64,30 +64,37 @@ jobs:
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false
- task: PublishPipelineArtifact@0
- 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@0
- 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@0
- 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@0
- 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

@@ -22,6 +22,12 @@ jobs:
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:
@@ -42,7 +48,7 @@ jobs:
- 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')
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
- task: PublishPipelineArtifact@1
displayName: 'Publish Release'
@@ -65,6 +71,38 @@ jobs:
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:
- 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'
@@ -80,7 +118,15 @@ jobs:
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')
@@ -96,7 +142,7 @@ jobs:
- task: Docker@2
displayName: 'Push Stable Image'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
repository: 'jellyfin/jellyfin-server'
command: buildAndPush
@@ -105,14 +151,15 @@ jobs:
containerRegistry: Docker Hub
tags: |
stable-$(Build.BuildNumber)-$(BuildConfiguration)
stable-$(BuildConfiguration)
$(JellyfinVersion)-$(BuildConfiguration)
- job: CollectArtifacts
timeoutInMinutes: 20
displayName: 'Collect Artifacts'
continueOnError: true
dependsOn:
- BuildPackage
- BuildDocker
condition: and(succeeded('BuildPackage'), succeeded('BuildDocker'))
pool:
vmImage: 'ubuntu-latest'
@@ -120,44 +167,95 @@ jobs:
steps:
- task: SSH@0
displayName: 'Update Unstable Repository'
continueOnError: true
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: |
sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber) unstable
rm $0
exit
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'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
continueOnError: true
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
inputs:
sshEndpoint: repository
runOptions: 'inline'
inline: |
sudo /srv/repository/collect-server.azure.sh /srv/repository/incoming/azure $(Build.BuildNumber)
rm $0
exit
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'
dependsOn:
- BuildPackage
condition: and(succeeded('BuildPackage'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
pool:
vmImage: 'ubuntu-latest'
variables:
- name: JellyfinVersion
value: $[replace(variables['Build.SourceBranch'],'refs/tags/v','')]
steps:
- task: NuGetCommand@2
- task: UseDotNet@2
displayName: 'Use .NET 6.0 sdk'
inputs:
command: 'pack'
packagesToPack: 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
packDestination: '$(Build.ArtifactStagingDirectory)'
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'
includeNugetOrg: 'true'
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

@@ -10,7 +10,7 @@ parameters:
default: "tests/**/*Tests.csproj"
- name: DotNetSdkVersion
type: string
default: 3.1.100
default: 6.0.x
jobs:
- job: Test
@@ -30,11 +30,11 @@ jobs:
# This is required for the SonarCloud analyzer
- task: UseDotNet@2
displayName: "Install .NET Core SDK 2.1"
displayName: "Install .NET SDK 5.x"
condition: eq(variables['ImageName'], 'ubuntu-latest')
inputs:
packageType: sdk
version: '2.1.805'
version: '5.x'
- task: UseDotNet@2
displayName: "Update DotNet"
@@ -56,7 +56,7 @@ jobs:
inputs:
command: "test"
projects: ${{ parameters.TestProjects }}
arguments: '--configuration Release --collect:"XPlat Code Coverage" --settings tests/coverletArgs.runsettings --verbosity minimal "-p:GenerateDocumentationFile=False"'
arguments: '--configuration Release --collect:"XPlat Code Coverage" --settings tests/coverletArgs.runsettings --verbosity minimal'
publishTestResults: true
testRunTitle: $(Agent.JobName)
workingDirectory: "$(Build.SourcesDirectory)"
@@ -74,7 +74,6 @@ jobs:
- 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'
enabled: false
inputs:
reports: "$(Agent.TempDirectory)/**/coverage.cobertura.xml"
targetdir: "$(Agent.TempDirectory)/merged/"
@@ -84,10 +83,16 @@ jobs:
- 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'
enabled: false
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

@@ -5,31 +5,41 @@ variables:
value: 'tests/**/*Tests.csproj'
- name: RestoreBuildProjects
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
- name: DotNetSdkVersion
value: 3.1.100
pr:
autoCancel: true
trigger:
batch: true
branches:
include:
- '*'
tags:
include:
- 'v*'
jobs:
- ${{ if not(or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- ${{ 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'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- ${{ 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'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- ${{ if not(or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master'))) }}:
- template: azure-pipelines-abi.yml
parameters:
Packages:
@@ -45,7 +55,10 @@ jobs:
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'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master')) }}:
- ${{ if or(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), startsWith(variables['Build.SourceBranch'], 'refs/heads/master')) }}:
- template: azure-pipelines-package.yml

View File

@@ -1,30 +0,0 @@
---
kind: pipeline
name: build-debug
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init --recursive
- name: build
image: microsoft/dotnet:2-sdk
commands:
- dotnet publish "Jellyfin.Server" --configuration Debug --output "../ci/ci-debug"
---
kind: pipeline
name: build-release
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init --recursive
- name: build
image: microsoft/dotnet:2-sdk
commands:
- dotnet publish "Jellyfin.Server" --configuration Release --output "../ci/ci-release"

1
.github/CODEOWNERS vendored
View File

@@ -1,3 +1,4 @@
# Joshua must review all changes to deployment and build.sh
.ci/* @joshuaboniface
deployment/* @joshuaboniface
build.sh @joshuaboniface

View File

@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a bug report
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**System (please complete the following information):**
- OS: [e.g. Debian, Windows]
- Virtualization: [e.g. Docker, KVM, LXC]
- Clients: [Browser, Android, Fire Stick, etc.]
- Browser: [e.g. Firefox 72, Chrome 80, Safari 13]
- Jellyfin Version: [e.g. 10.4.3, nightly 20191231]
- Playback: [Direct Play, Remux, Direct Stream, Transcode]
- Installed Plugins: [e.g. none, Fanart, Anime, etc.]
- Reverse Proxy: [e.g. none, nginx, apache, etc.]
- Base URL: [e.g. none, yes: /example]
- Networking: [e.g. Host, Bridge/NAT]
- Storage: [e.g. local, NFS, cloud]
**To Reproduce**
<!-- Steps to reproduce the behavior: -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Logs**
<!-- Please paste any log errors. -->
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!-- Add any other context about the problem here. -->

106
.github/ISSUE_TEMPLATE/issue report.yml vendored Normal file
View File

@@ -0,0 +1,106 @@
name: Issue Report
description: File an issue report
title: "[Issue]: "
labels: [bug, triage]
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).
- type: textarea
id: what-happened
attributes:
label: Please describe your bug
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...
validations:
required: true
- type: dropdown
id: version
attributes:
label: Jellyfin Version
description: What version of Jellyfin are you running?
options:
- 10.7.7
- 10.7.z
- 10.6.4
- Other
validations:
required: true
- type: input
id: version-other
attributes:
label: "if other:"
placeholder: Other
- type: textarea
attributes:
label: Environment
description: |
Examples:
- **OS**: [e.g. Debian, Windows]
- **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]
- **Playback**: [Direct Play, Remux, Direct Stream, Transcode]
- **Hardware Acceleration**: [e.g. none, VAAPI, NVENC, etc.]
- **Installed Plugins**: [e.g. none, Fanart, Anime, etc.]
- **Reverse Proxy**: [e.g. none, nginx, apache, etc.]
- **Base URL**: [e.g. none, yes: /example]
- **Networking**: [e.g. Host, Bridge/NAT]
- **Storage**: [e.g. local, NFS, cloud]
value: |
- OS:
- Virtualization:
- Clients:
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:
render: markdown
- type: textarea
id: logs
attributes:
label: Jellyfin logs
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
- 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.
render: shell
- type: textarea
id: browserlogs
attributes:
label: Please attach any browser or client logs here
placeholder: Access browser logs by using the F12 to bring up the console. Screenshots are typically easier to read than raw logs. For clients such as Android or iOS, please see our documentation.
- type: textarea
id: screenshots
attributes:
label: Please attach any screenshots here
placeholder: Images can be pasted directly into the textbox and will be hosted by github.
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -6,4 +6,10 @@ updates:
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/stale.yml vendored
View File

@@ -17,9 +17,13 @@ staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
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 nightlies, 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).
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
# Disable automatic closing of pull requests
pulls:
daysUntilClose: false

76
.github/workflows/automation.yml vendored Normal file
View File

@@ -0,0 +1,76 @@
name: Automation
on:
push:
branches:
- master
pull_request_target:
issue_comment:
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
if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
continue-on-error: true
with:
project: Current Release
action: delete
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add to 'Release Next' project
uses: alex-page/github-project-automation-plus@v0.8.1
if: (github.event.pull_request || github.event.issue.pull_request) && github.event.action == 'opened'
continue-on-error: true
with:
project: Release Next
column: In progress
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add to 'Current Release' project
uses: alex-page/github-project-automation-plus@v0.8.1
if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
continue-on-error: true
with:
project: Current Release
column: In progress
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Check number of comments from the team member
if: github.event.issue.pull_request == '' && github.event.comment.author_association == 'MEMBER'
id: member_comments
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
if: github.event.issue.pull_request == '' && github.event.comment.author_association == 'MEMBER' && steps.member_comments.outputs.number <= 1
continue-on-error: true
with:
project: Issue Triage for Main Repo
column: Needs triage
repo-token: ${{ secrets.JF_BOT_TOKEN }}
- name: Add issue to triage project
uses: alex-page/github-project-automation-plus@v0.8.1
if: github.event.issue.pull_request == '' && github.event.action == 'opened'
continue-on-error: true
with:
project: Issue Triage for Main Repo
column: Pending response
repo-token: ${{ secrets.JF_BOT_TOKEN }}

37
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '24 2 * * 4'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: [ 'csharp' ]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
queries: +security-extended
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

119
.github/workflows/commands.yml vendored Normal file
View File

@@ -0,0 +1,119 @@
name: Commands
on:
issue_comment:
types:
- created
- edited
pull_request_target:
types:
- labeled
- synchronize
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '@jellyfin-bot rebase') && github.event.comment.author_association == 'MEMBER'
runs-on: ubuntu-latest
steps:
- name: Notify as seen
uses: peter-evans/create-or-update-comment@v1.4.5
with:
token: ${{ secrets.JF_BOT_TOKEN }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Checkout the latest code
uses: actions/checkout@v2
with:
token: ${{ secrets.JF_BOT_TOKEN }}
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.5
env:
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
check-backport:
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
if: ${{ github.event.comment != null }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
comment-id: ${{ github.event.comment.id }}
reactions: eyes
- name: Checkout the latest code
uses: actions/checkout@v2
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
if: ${{ github.event.comment != null }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: |
Running backport tests...
- name: Perform test backport
id: run_tests
run: |
set +o errexit
git config --global user.name "Jellyfin Bot"
git config --global user.email "team@jellyfin.org"
CURRENT_BRANCH="origin/${GITHUB_HEAD_REF}"
git checkout master
git merge --no-ff ${CURRENT_BRANCH}
MERGE_COMMIT_HASH=$( git log -q -1 | head -1 | awk '{ print $2 }' )
git fetch --all
CURRENT_STABLE=$( git branch -r | grep 'origin/release' | sort -rV | head -1 | awk -F '/' '{ print $NF }' )
stable_branch="Current stable release branch: ${CURRENT_STABLE}"
echo ${stable_branch}
echo ::set-output name=branch::${stable_branch}
git checkout -t origin/${CURRENT_STABLE} -b ${CURRENT_STABLE}
git cherry-pick -sx -m1 ${MERGE_COMMIT_HASH} &>output.txt
retcode=$?
cat output.txt | grep -v 'hint:'
output="$( grep -v 'hint:' output.txt )"
output="${output//'%'/'%25'}"
output="${output//$'\n'/'%0A'}"
output="${output//$'\r'/'%0D'}"
echo ::set-output name=output::$output
exit ${retcode}
- name: Notify with result success
uses: peter-evans/create-or-update-comment@v1.4.5
if: ${{ github.event.comment != null && success() }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
comment-id: ${{ steps.comment_running.outputs.comment-id }}
body: |
${{ steps.run_tests.outputs.branch }}
Output from `git cherry-pick`:
---
${{ steps.run_tests.outputs.output }}
reactions: hooray
- name: Notify with result failure
uses: peter-evans/create-or-update-comment@v1.4.5
if: ${{ github.event.comment != null && failure() }}
with:
token: ${{ secrets.JF_BOT_TOKEN }}
comment-id: ${{ steps.comment_running.outputs.comment-id }}
body: |
${{ steps.run_tests.outputs.branch }}
Output from `git cherry-pick`:
---
${{ steps.run_tests.outputs.output }}
reactions: confused

124
.github/workflows/openapi.yml vendored Normal file
View File

@@ -0,0 +1,124 @@
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@v2
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
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@v2
with:
ref: ${{ github.base_ref }}
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
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.

5
.gitignore vendored
View File

@@ -268,6 +268,7 @@ doc/
# Deployment artifacts
dist
*.exe
*.dll
# BenchmarkDotNet artifacts
BenchmarkDotNet.Artifacts
@@ -276,3 +277,7 @@ BenchmarkDotNet.Artifacts
web/
web-src.*
MediaBrowser.WebDashboard/jellyfin-web
apiclient/generated
# Omnisharp crash logs
mono_crash.*.json

3
.npmrc Normal file
View File

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

20
.vscode/launch.json vendored
View File

@@ -6,11 +6,25 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/netcoreapp3.1/jellyfin.dll",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net6.0/jellyfin.dll",
"args": [],
"cwd": "${workspaceFolder}/Jellyfin.Server",
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart",
"serverReadyAction": {
"action": "openExternally",
"pattern": "Overriding address\\(es\\) \\'(https?:\\S+)\\'",
}
},
{
"name": ".NET Core Launch (nowebclient)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net6.0/jellyfin.dll",
"args": ["--nowebclient"],
"cwd": "${workspaceFolder}/Jellyfin.Server",
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"

2
.vscode/tasks.json vendored
View File

@@ -17,7 +17,7 @@
"type": "process",
"args": [
"test",
"${workspaceFolder}/tests/MediaBrowser.Api.Tests/MediaBrowser.Api.Tests.csproj"
"${workspaceFolder}/tests/Jellyfin.Api.Tests/Jellyfin.Api.Tests.csproj"
],
"problemMatcher": "$msCompile"
}

View File

@@ -7,6 +7,7 @@
- [anthonylavado](https://github.com/anthonylavado)
- [Artiume](https://github.com/Artiume)
- [AThomsen](https://github.com/AThomsen)
- [barongreenback](https://github.com/BaronGreenback)
- [barronpm](https://github.com/barronpm)
- [bilde2910](https://github.com/bilde2910)
- [bfayers](https://github.com/bfayers)
@@ -16,6 +17,8 @@
- [bugfixin](https://github.com/bugfixin)
- [chaosinnovator](https://github.com/chaosinnovator)
- [ckcr4lyf](https://github.com/ckcr4lyf)
- [cocool97](https://github.com/cocool97)
- [ConfusedPolarBear](https://github.com/ConfusedPolarBear)
- [crankdoofus](https://github.com/crankdoofus)
- [crobibero](https://github.com/crobibero)
- [cromefire](https://github.com/cromefire)
@@ -43,10 +46,12 @@
- [fruhnow](https://github.com/fruhnow)
- [geilername](https://github.com/geilername)
- [gnattu](https://github.com/gnattu)
- [GodTamIt](https://github.com/GodTamIt)
- [grafixeyehero](https://github.com/grafixeyehero)
- [h1nk](https://github.com/h1nk)
- [hawken93](https://github.com/hawken93)
- [HelloWorld017](https://github.com/HelloWorld017)
- [ikomhoog](https://github.com/ikomhoog)
- [jftuga](https://github.com/jftuga)
- [joern-h](https://github.com/joern-h)
- [joshuaboniface](https://github.com/joshuaboniface)
@@ -56,6 +61,7 @@
- [Larvitar](https://github.com/Larvitar)
- [LeoVerto](https://github.com/LeoVerto)
- [Liggy](https://github.com/Liggy)
- [lmaonator](https://github.com/lmaonator)
- [LogicalPhallacy](https://github.com/LogicalPhallacy)
- [loli10K](https://github.com/loli10K)
- [lostmypillow](https://github.com/lostmypillow)
@@ -65,6 +71,7 @@
- [marius-luca-87](https://github.com/marius-luca-87)
- [mark-monteiro](https://github.com/mark-monteiro)
- [Matt07211](https://github.com/Matt07211)
- [Maxr1998](https://github.com/Maxr1998)
- [mcarlton00](https://github.com/mcarlton00)
- [mitchfizz05](https://github.com/mitchfizz05)
- [MrTimscampi](https://github.com/MrTimscampi)
@@ -76,7 +83,10 @@
- [Nickbert7](https://github.com/Nickbert7)
- [nvllsvm](https://github.com/nvllsvm)
- [nyanmisaka](https://github.com/nyanmisaka)
- [OancaAndrei](https://github.com/OancaAndrei)
- [obradovichv](https://github.com/obradovichv)
- [oddstr13](https://github.com/oddstr13)
- [orryverducci](https://github.com/orryverducci)
- [petermcneil](https://github.com/petermcneil)
- [Phlogi](https://github.com/Phlogi)
- [pjeanjean](https://github.com/pjeanjean)
@@ -98,8 +108,11 @@
- [shemanaev](https://github.com/shemanaev)
- [skaro13](https://github.com/skaro13)
- [sl1288](https://github.com/sl1288)
- [Smith00101010](https://github.com/Smith00101010)
- [sorinyo2004](https://github.com/sorinyo2004)
- [sparky8251](https://github.com/sparky8251)
- [spookbits](https://github.com/spookbits)
- [ssenart](https://github.com/ssenart)
- [stanionascu](https://github.com/stanionascu)
- [stevehayles](https://github.com/stevehayles)
- [SuperSandro2000](https://github.com/SuperSandro2000)
@@ -132,6 +145,11 @@
- [YouKnowBlom](https://github.com/YouKnowBlom)
- [KristupasSavickas](https://github.com/KristupasSavickas)
- [Pusta](https://github.com/pusta)
- [nielsvanvelzen](https://github.com/nielsvanvelzen)
- [skyfrk](https://github.com/skyfrk)
- [ianjazz246](https://github.com/ianjazz246)
- [peterspenler](https://github.com/peterspenler)
- [MBR-0001](https://github.com/MBR-0001)
# Emby Contributors
@@ -195,3 +213,6 @@
- [tikuf](https://github.com/tikuf/)
- [Tim Hobbs](https://github.com/timhobbs)
- [SvenVandenbrande](https://github.com/SvenVandenbrande)
- [olsh](https://github.com/olsh)
- [lbenini](https://github.com/lbenini)
- [gnuyent](https://github.com/gnuyent)

17
Directory.Build.props Normal file
View File

@@ -0,0 +1,17 @@
<Project>
<!-- Sets defaults for all projects in the repo -->
<PropertyGroup>
<Nullable>enable</Nullable>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)/jellyfin.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
</PropertyGroup>
</Project>

View File

@@ -1,22 +1,18 @@
ARG DOTNET_VERSION=3.1
# 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:alpine as web-builder
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 python \
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-* \
&& yarn install \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM mcr.microsoft.com/dotnet/core/sdk:${DOTNET_VERSION}-buster 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:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
FROM debian:buster-slim
FROM debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
@@ -25,12 +21,17 @@ 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=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
# https://github.com/intel/compute-runtime/releases
ARG GMMLIB_VERSION=21.2.1
ARG IGC_VERSION=1.0.8517
ARG NEO_VERSION=21.35.20826
ARG LEVEL_ZERO_VERSION=1.2.20826
# Install dependencies:
# mesa-va-drivers: needed for AMD VAAPI
# 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 \
&& 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 \
@@ -39,6 +40,20 @@ RUN apt-get update \
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_${NEO_VERSION}_amd64.deb \
&& wget https://github.com/intel/compute-runtime/releases/download/${NEO_VERSION}/intel-ocloc_${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 \
@@ -47,14 +62,32 @@ RUN apt-get update \
&& 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 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 /media
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,31 +1,20 @@
# DESIGNED FOR BUILDING ON AMD64 ONLY
# DESIGNED FOR BUILDING ON ARM ONLY
#####################################
# Requires binfm_misc registration
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
ARG DOTNET_VERSION=3.1
ARG DOTNET_VERSION=6.0
FROM node:alpine as web-builder
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 python \
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-* \
&& yarn install \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM mcr.microsoft.com/dotnet/core/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:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
FROM multiarch/qemu-user-static:x86_64-arm as qemu
FROM arm32v7/debian:buster-slim
FROM arm32v7/debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
@@ -35,6 +24,8 @@ ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
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 - && \
@@ -53,7 +44,7 @@ RUN apt-get update \
vainfo \
libva2 \
locales \
&& apt-get remove curl gnupg -y \
&& apt-get remove gnupg -y \
&& apt-get clean autoclean -y \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
@@ -61,17 +52,33 @@ RUN apt-get update \
&& 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
COPY --from=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
# 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 /media
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,30 +1,20 @@
# DESIGNED FOR BUILDING ON AMD64 ONLY
# DESIGNED FOR BUILDING ON ARM64 ONLY
#####################################
# Requires binfm_misc registration
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
ARG DOTNET_VERSION=3.1
ARG DOTNET_VERSION=6.0
FROM node:alpine as web-builder
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 python \
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-* \
&& yarn install \
&& npm ci --no-audit --unsafe-perm \
&& mv dist /dist
FROM mcr.microsoft.com/dotnet/core/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:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
FROM arm64v8/debian:buster-slim
FROM arm64v8/debian:stable-slim as app
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND="noninteractive"
@@ -34,6 +24,8 @@ ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
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 \
@@ -43,6 +35,7 @@ RUN apt-get update && apt-get install --no-install-recommends --no-install-sugge
libomxil-bellagio0 \
libomxil-bellagio-bin \
locales \
curl \
&& apt-get clean autoclean -y \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
@@ -50,17 +43,33 @@ RUN apt-get update && apt-get install --no-install-recommends --no-install-sugge
&& 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
COPY --from=builder /jellyfin /jellyfin
COPY --from=web-builder /dist /jellyfin/jellyfin-web
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
# 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 /media
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

@@ -10,10 +10,11 @@
</ItemGroup>
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AnalysisMode>AllDisabledByDefault</AnalysisMode>
<Nullable>disable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
@@ -31,7 +32,7 @@ namespace DvdLib.Ifo
continue;
}
var nums = ifo.Name.Split(new[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
var nums = ifo.Name.Split('_', StringSplitOptions.RemoveEmptyEntries);
if (nums.Length >= 2 && ushort.TryParse(nums[1], out var ifoNumber))
{
ReadVTS(ifoNumber, ifo.FullName);
@@ -76,7 +77,7 @@ namespace DvdLib.Ifo
private void ReadVTS(ushort vtsNum, IReadOnlyList<FileInfo> allFiles)
{
var filename = string.Format("VTS_{0:00}_0.IFO", vtsNum);
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));

View File

@@ -1,383 +0,0 @@
#pragma warning disable CS1591
using System;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Emby.Dlna.Main;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Services;
namespace Emby.Dlna.Api
{
[Route("/Dlna/{UuId}/description.xml", "GET", Summary = "Gets dlna server info")]
[Route("/Dlna/{UuId}/description", "GET", Summary = "Gets dlna server info")]
public class GetDescriptionXml
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/contentdirectory/contentdirectory.xml", "GET", Summary = "Gets dlna content directory xml")]
[Route("/Dlna/{UuId}/contentdirectory/contentdirectory", "GET", Summary = "Gets dlna content directory xml")]
public class GetContentDirectory
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/connectionmanager/connectionmanager.xml", "GET", Summary = "Gets dlna connection manager xml")]
[Route("/Dlna/{UuId}/connectionmanager/connectionmanager", "GET", Summary = "Gets dlna connection manager xml")]
public class GetConnnectionManager
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/mediareceiverregistrar/mediareceiverregistrar.xml", "GET", Summary = "Gets dlna mediareceiverregistrar xml")]
[Route("/Dlna/{UuId}/mediareceiverregistrar/mediareceiverregistrar", "GET", Summary = "Gets dlna mediareceiverregistrar xml")]
public class GetMediaReceiverRegistrar
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/contentdirectory/control", "POST", Summary = "Processes a control request")]
public class ProcessContentDirectoryControlRequest : IRequiresRequestStream
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
public Stream RequestStream { get; set; }
}
[Route("/Dlna/{UuId}/connectionmanager/control", "POST", Summary = "Processes a control request")]
public class ProcessConnectionManagerControlRequest : IRequiresRequestStream
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
public Stream RequestStream { get; set; }
}
[Route("/Dlna/{UuId}/mediareceiverregistrar/control", "POST", Summary = "Processes a control request")]
public class ProcessMediaReceiverRegistrarControlRequest : IRequiresRequestStream
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
public Stream RequestStream { get; set; }
}
[Route("/Dlna/{UuId}/mediareceiverregistrar/events", "SUBSCRIBE", Summary = "Processes an event subscription request")]
[Route("/Dlna/{UuId}/mediareceiverregistrar/events", "UNSUBSCRIBE", Summary = "Processes an event subscription request")]
public class ProcessMediaReceiverRegistrarEventRequest
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,UNSUBSCRIBE")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/contentdirectory/events", "SUBSCRIBE", Summary = "Processes an event subscription request")]
[Route("/Dlna/{UuId}/contentdirectory/events", "UNSUBSCRIBE", Summary = "Processes an event subscription request")]
public class ProcessContentDirectoryEventRequest
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,UNSUBSCRIBE")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/connectionmanager/events", "SUBSCRIBE", Summary = "Processes an event subscription request")]
[Route("/Dlna/{UuId}/connectionmanager/events", "UNSUBSCRIBE", Summary = "Processes an event subscription request")]
public class ProcessConnectionManagerEventRequest
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "SUBSCRIBE,UNSUBSCRIBE")]
public string UuId { get; set; }
}
[Route("/Dlna/{UuId}/icons/{Filename}", "GET", Summary = "Gets a server icon")]
[Route("/Dlna/icons/{Filename}", "GET", Summary = "Gets a server icon")]
public class GetIcon
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string UuId { get; set; }
[ApiMember(Name = "Filename", Description = "The icon filename", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string Filename { get; set; }
}
public class DlnaServerService : IService, IRequiresRequest
{
private const string XMLContentType = "text/xml; charset=UTF-8";
private readonly IDlnaManager _dlnaManager;
private readonly IHttpResultFactory _resultFactory;
private readonly IServerConfigurationManager _configurationManager;
public IRequest Request { get; set; }
private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory;
private IConnectionManager ConnectionManager => DlnaEntryPoint.Current.ConnectionManager;
private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar;
public DlnaServerService(
IDlnaManager dlnaManager,
IHttpResultFactory httpResultFactory,
IServerConfigurationManager configurationManager)
{
_dlnaManager = dlnaManager;
_resultFactory = httpResultFactory;
_configurationManager = configurationManager;
}
private string GetHeader(string name)
{
return Request.Headers[name];
}
public object Get(GetDescriptionXml request)
{
var url = Request.AbsoluteUri;
var serverAddress = url.Substring(0, url.IndexOf("/dlna/", StringComparison.OrdinalIgnoreCase));
var xml = _dlnaManager.GetServerDescriptionXml(Request.Headers, request.UuId, serverAddress);
var cacheLength = TimeSpan.FromDays(1);
var cacheKey = Request.RawUrl.GetMD5();
var bytes = Encoding.UTF8.GetBytes(xml);
return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, XMLContentType, () => Task.FromResult<Stream>(new MemoryStream(bytes)));
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetContentDirectory request)
{
var xml = ContentDirectory.GetServiceXml();
return _resultFactory.GetResult(Request, xml, XMLContentType);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetMediaReceiverRegistrar request)
{
var xml = MediaReceiverRegistrar.GetServiceXml();
return _resultFactory.GetResult(Request, xml, XMLContentType);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetConnnectionManager request)
{
var xml = ConnectionManager.GetServiceXml();
return _resultFactory.GetResult(Request, xml, XMLContentType);
}
public async Task<object> Post(ProcessMediaReceiverRegistrarControlRequest request)
{
var response = await PostAsync(request.RequestStream, MediaReceiverRegistrar).ConfigureAwait(false);
return _resultFactory.GetResult(Request, response.Xml, XMLContentType);
}
public async Task<object> Post(ProcessContentDirectoryControlRequest request)
{
var response = await PostAsync(request.RequestStream, ContentDirectory).ConfigureAwait(false);
return _resultFactory.GetResult(Request, response.Xml, XMLContentType);
}
public async Task<object> Post(ProcessConnectionManagerControlRequest request)
{
var response = await PostAsync(request.RequestStream, ConnectionManager).ConfigureAwait(false);
return _resultFactory.GetResult(Request, response.Xml, XMLContentType);
}
private Task<ControlResponse> PostAsync(Stream requestStream, IUpnpService service)
{
var id = GetPathValue(2).ToString();
return service.ProcessControlRequestAsync(new ControlRequest
{
Headers = Request.Headers,
InputXml = requestStream,
TargetServerUuId = id,
RequestedUrl = Request.AbsoluteUri
});
}
// Copied from MediaBrowser.Api/BaseApiService.cs
// TODO: Remove code duplication
/// <summary>
/// Gets the path segment at the specified index.
/// </summary>
/// <param name="index">The index of the path segment.</param>
/// <returns>The path segment at the specified index.</returns>
/// <exception cref="IndexOutOfRangeException" >Path doesn't contain enough segments.</exception>
/// <exception cref="InvalidDataException" >Path doesn't start with the base url.</exception>
protected internal ReadOnlySpan<char> GetPathValue(int index)
{
static void ThrowIndexOutOfRangeException()
=> throw new IndexOutOfRangeException("Path doesn't contain enough segments.");
static void ThrowInvalidDataException()
=> throw new InvalidDataException("Path doesn't start with the base url.");
ReadOnlySpan<char> path = Request.PathInfo;
// Remove the protocol part from the url
int pos = path.LastIndexOf("://");
if (pos != -1)
{
path = path.Slice(pos + 3);
}
// Remove the query string
pos = path.LastIndexOf('?');
if (pos != -1)
{
path = path.Slice(0, pos);
}
// Remove the domain
pos = path.IndexOf('/');
if (pos != -1)
{
path = path.Slice(pos);
}
// Remove base url
string baseUrl = _configurationManager.Configuration.BaseUrl;
int baseUrlLen = baseUrl.Length;
if (baseUrlLen != 0)
{
if (path.StartsWith(baseUrl, StringComparison.OrdinalIgnoreCase))
{
path = path.Slice(baseUrlLen);
}
else
{
// The path doesn't start with the base url,
// how did we get here?
ThrowInvalidDataException();
}
}
// Remove leading /
path = path.Slice(1);
// Backwards compatibility
const string Emby = "emby/";
if (path.StartsWith(Emby, StringComparison.OrdinalIgnoreCase))
{
path = path.Slice(Emby.Length);
}
const string MediaBrowser = "mediabrowser/";
if (path.StartsWith(MediaBrowser, StringComparison.OrdinalIgnoreCase))
{
path = path.Slice(MediaBrowser.Length);
}
// Skip segments until we are at the right index
for (int i = 0; i < index; i++)
{
pos = path.IndexOf('/');
if (pos == -1)
{
ThrowIndexOutOfRangeException();
}
path = path.Slice(pos + 1);
}
// Remove the rest
pos = path.IndexOf('/');
if (pos != -1)
{
path = path.Slice(0, pos);
}
return path;
}
public object Get(GetIcon request)
{
var contentType = "image/" + Path.GetExtension(request.Filename)
.TrimStart('.')
.ToLowerInvariant();
var cacheLength = TimeSpan.FromDays(365);
var cacheKey = Request.RawUrl.GetMD5();
return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult(_dlnaManager.GetIcon(request.Filename).Stream));
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Subscribe(ProcessContentDirectoryEventRequest request)
{
return ProcessEventRequest(ContentDirectory);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Subscribe(ProcessConnectionManagerEventRequest request)
{
return ProcessEventRequest(ConnectionManager);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Subscribe(ProcessMediaReceiverRegistrarEventRequest request)
{
return ProcessEventRequest(MediaReceiverRegistrar);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Unsubscribe(ProcessContentDirectoryEventRequest request)
{
return ProcessEventRequest(ContentDirectory);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Unsubscribe(ProcessConnectionManagerEventRequest request)
{
return ProcessEventRequest(ConnectionManager);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Unsubscribe(ProcessMediaReceiverRegistrarEventRequest request)
{
return ProcessEventRequest(MediaReceiverRegistrar);
}
private object ProcessEventRequest(IEventManager eventManager)
{
var subscriptionId = GetHeader("SID");
if (string.Equals(Request.Verb, "SUBSCRIBE", StringComparison.OrdinalIgnoreCase))
{
var notificationType = GetHeader("NT");
var callback = GetHeader("CALLBACK");
var timeoutString = GetHeader("TIMEOUT");
if (string.IsNullOrEmpty(notificationType))
{
return GetSubscriptionResponse(eventManager.RenewEventSubscription(subscriptionId, notificationType, timeoutString, callback));
}
return GetSubscriptionResponse(eventManager.CreateEventSubscription(notificationType, timeoutString, callback));
}
return GetSubscriptionResponse(eventManager.CancelEventSubscription(subscriptionId));
}
private object GetSubscriptionResponse(EventSubscriptionResponse response)
{
return _resultFactory.GetResult(Request, response.Content, response.ContentType, response.Headers);
}
}
}

View File

@@ -1,88 +0,0 @@
#pragma warning disable CS1591
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Services;
namespace Emby.Dlna.Api
{
[Route("/Dlna/ProfileInfos", "GET", Summary = "Gets a list of profiles")]
public class GetProfileInfos : IReturn<DeviceProfileInfo[]>
{
}
[Route("/Dlna/Profiles/{Id}", "DELETE", Summary = "Deletes a profile")]
public class DeleteProfile : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Profile Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")]
public string Id { get; set; }
}
[Route("/Dlna/Profiles/Default", "GET", Summary = "Gets the default profile")]
public class GetDefaultProfile : IReturn<DeviceProfile>
{
}
[Route("/Dlna/Profiles/{Id}", "GET", Summary = "Gets a single profile")]
public class GetProfile : IReturn<DeviceProfile>
{
[ApiMember(Name = "Id", Description = "Profile Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string Id { get; set; }
}
[Route("/Dlna/Profiles/{Id}", "POST", Summary = "Updates a profile")]
public class UpdateProfile : DeviceProfile, IReturnVoid
{
}
[Route("/Dlna/Profiles", "POST", Summary = "Creates a profile")]
public class CreateProfile : DeviceProfile, IReturnVoid
{
}
[Authenticated(Roles = "Admin")]
public class DlnaService : IService
{
private readonly IDlnaManager _dlnaManager;
public DlnaService(IDlnaManager dlnaManager)
{
_dlnaManager = dlnaManager;
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetProfileInfos request)
{
return _dlnaManager.GetProfileInfos().ToArray();
}
public object Get(GetProfile request)
{
return _dlnaManager.GetProfile(request.Id);
}
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetDefaultProfile request)
{
return _dlnaManager.GetDefaultProfile();
}
public void Delete(DeleteProfile request)
{
_dlnaManager.DeleteProfile(request.Id);
}
public void Post(UpdateProfile request)
{
_dlnaManager.UpdateProfile(request);
}
public void Post(CreateProfile request)
{
_dlnaManager.CreateProfile(request);
}
}
}

View File

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

View File

@@ -1,29 +1,41 @@
#pragma warning disable CS1591
using System.Globalization;
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="DeviceIcon" />.
/// </summary>
public class DeviceIcon
{
public string Url { get; set; }
/// <summary>
/// Gets or sets the Url.
/// </summary>
public string Url { get; set; } = string.Empty;
public string MimeType { get; set; }
/// <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; }
public string Depth { 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);
return string.Format(CultureInfo.InvariantCulture, "{0}x{1}", Height, Width);
}
}
}

View File

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

View File

@@ -1,24 +1,31 @@
#pragma warning disable CS1591
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>();
}
public string Name { get; set; }
/// <summary>
/// Gets or sets the name of the action.
/// </summary>
public string Name { get; set; } = string.Empty;
public List<Argument> ArgumentList { get; set; }
/// <summary>
/// Gets the ArgumentList.
/// </summary>
public List<Argument> ArgumentList { get; }
/// <inheritdoc />
public override string ToString()
{
return Name;
}
public override string ToString() => Name;
}
}

View File

@@ -1,26 +1,34 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
namespace Emby.Dlna.Common
{
/// <summary>
/// Defines the <see cref="StateVariable" />.
/// </summary>
public class StateVariable
{
public StateVariable()
{
AllowedValues = Array.Empty<string>();
}
/// <summary>
/// Gets or sets the name of the state variable.
/// </summary>
public string Name { get; set; } = string.Empty;
public string Name { get; set; }
public string DataType { get; set; }
/// <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; }
public string[] AllowedValues { 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;
public override string ToString() => Name;
}
}

View File

@@ -2,8 +2,14 @@
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;
@@ -11,23 +17,76 @@ namespace Emby.Dlna.Configuration
BlastAliveMessages = true;
SendOnlyMatchedHost = true;
ClientDiscoveryIntervalSeconds = 60;
BlastAliveMessageIntervalSeconds = 1800;
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; }
public bool BlastAliveMessages { get; set; }
public bool SendOnlyMatchedHost { 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; }
public int BlastAliveMessageIntervalSeconds { get; set; }
/// <summary>
/// Gets or sets the frequency at which ssdp alive notifications are transmitted.
/// </summary>
public int AliveMessageIntervalSeconds { get; set; }
public string DefaultUserId { 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,7 +1,5 @@
#nullable enable
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Configuration;
using MediaBrowser.Common.Configuration;
@@ -14,19 +12,4 @@ namespace Emby.Dlna
return manager.GetConfiguration<DlnaOptions>("dlna");
}
}
public class DlnaConfigurationFactory : IConfigurationFactory
{
public IEnumerable<ConfigurationStore> GetConfigurations()
{
return new ConfigurationStore[]
{
new ConfigurationStore
{
Key = "dlna",
ConfigurationType = typeof (DlnaOptions)
}
};
}
}
}

View File

@@ -1,45 +0,0 @@
#pragma warning disable CS1591
using System.Threading.Tasks;
using Emby.Dlna.Service;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ConnectionManager
{
public class ConnectionManager : BaseService, IConnectionManager
{
private readonly IDlnaManager _dlna;
private readonly ILogger _logger;
private readonly IServerConfigurationManager _config;
public ConnectionManager(
IDlnaManager dlna,
IServerConfigurationManager config,
ILogger<ConnectionManager> logger,
IHttpClient httpClient)
: base(logger, httpClient)
{
_dlna = dlna;
_config = config;
_logger = logger;
}
/// <inheritdoc />
public string GetServiceXml()
{
return new 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

@@ -0,0 +1,53 @@
#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

@@ -6,45 +6,57 @@ using Emby.Dlna.Service;
namespace Emby.Dlna.ConnectionManager
{
public class ConnectionManagerXmlBuilder
/// <summary>
/// Defines the <see cref="ConnectionManagerXmlBuilder" />.
/// </summary>
public static class ConnectionManagerXmlBuilder
{
public string GetXml()
/// <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(new ServiceActionListBuilder().GetActions(), GetStateVariables());
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>();
list.Add(new StateVariable
var list = new List<StateVariable>
{
Name = "SourceProtocolInfo",
DataType = "string",
SendsEvents = true
});
new StateVariable
{
Name = "SourceProtocolInfo",
DataType = "string",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "SinkProtocolInfo",
DataType = "string",
SendsEvents = true
});
new StateVariable
{
Name = "SinkProtocolInfo",
DataType = "string",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "CurrentConnectionIDs",
DataType = "string",
SendsEvents = true
});
new StateVariable
{
Name = "CurrentConnectionIDs",
DataType = "string",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_ConnectionStatus",
DataType = "string",
SendsEvents = false,
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionStatus",
DataType = "string",
SendsEvents = false,
AllowedValues = new string[]
AllowedValues = new[]
{
"OK",
"ContentFormatMismatch",
@@ -52,55 +64,56 @@ namespace Emby.Dlna.ConnectionManager
"UnreliableChannel",
"Unknown"
}
});
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_ConnectionManager",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionManager",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Direction",
DataType = "string",
SendsEvents = false,
new StateVariable
{
Name = "A_ARG_TYPE_Direction",
DataType = "string",
SendsEvents = false,
AllowedValues = new string[]
AllowedValues = new[]
{
"Output",
"Input"
}
});
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_ProtocolInfo",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_ProtocolInfo",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_ConnectionID",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_ConnectionID",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_AVTransportID",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_AVTransportID",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_RcsID",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_RcsID",
DataType = "ui4",
SendsEvents = false
}
};
return list;
}

View File

@@ -11,10 +11,19 @@ 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)
{
@@ -22,7 +31,7 @@ namespace Emby.Dlna.ConnectionManager
}
/// <inheritdoc />
protected override void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter)
protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
{
if (string.Equals(methodName, "GetProtocolInfo", StringComparison.OrdinalIgnoreCase))
{
@@ -33,6 +42,10 @@ namespace Emby.Dlna.ConnectionManager
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);

View File

@@ -5,9 +5,16 @@ using Emby.Dlna.Common;
namespace Emby.Dlna.ConnectionManager
{
public class ServiceActionListBuilder
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
public IEnumerable<ServiceAction> GetActions()
/// <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>
{
@@ -21,6 +28,10 @@ namespace Emby.Dlna.ConnectionManager
return list;
}
/// <summary>
/// Returns the action details for "PrepareForConnection".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction PrepareForConnection()
{
var action = new ServiceAction
@@ -80,6 +91,10 @@ namespace Emby.Dlna.ConnectionManager
return action;
}
/// <summary>
/// Returns the action details for "GetCurrentConnectionInfo".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetCurrentConnectionInfo()
{
var action = new ServiceAction
@@ -146,7 +161,11 @@ namespace Emby.Dlna.ConnectionManager
return action;
}
private ServiceAction GetProtocolInfo()
/// <summary>
/// Returns the action details for "GetProtocolInfo".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetProtocolInfo()
{
var action = new ServiceAction
{
@@ -170,7 +189,11 @@ namespace Emby.Dlna.ConnectionManager
return action;
}
private ServiceAction GetCurrentConnectionIDs()
/// <summary>
/// Returns the action details for "GetCurrentConnectionIDs".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetCurrentConnectionIDs()
{
var action = new ServiceAction
{
@@ -187,7 +210,11 @@ namespace Emby.Dlna.ConnectionManager
return action;
}
private ServiceAction ConnectionComplete()
/// <summary>
/// Returns the action details for "ConnectionComplete".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction ConnectionComplete()
{
var action = new ServiceAction
{

View File

@@ -2,11 +2,11 @@
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.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
@@ -19,7 +19,10 @@ using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ContentDirectory
{
public class ContentDirectory : BaseService, IContentDirectory
/// <summary>
/// Defines the <see cref="ContentDirectoryService" />.
/// </summary>
public class ContentDirectoryService : BaseService, IContentDirectory
{
private readonly ILibraryManager _libraryManager;
private readonly IImageProcessor _imageProcessor;
@@ -33,15 +36,31 @@ namespace Emby.Dlna.ContentDirectory
private readonly IMediaEncoder _mediaEncoder;
private readonly ITVSeriesManager _tvSeriesManager;
public ContentDirectory(
/// <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<ContentDirectory> logger,
IHttpClient httpClient,
ILogger<ContentDirectoryService> logger,
IHttpClientFactory httpClient,
ILocalizationManager localization,
IMediaSourceManager mediaSourceManager,
IUserViewManager userViewManager,
@@ -62,7 +81,10 @@ namespace Emby.Dlna.ContentDirectory
_tvSeriesManager = tvSeriesManager;
}
private int SystemUpdateId
/// <summary>
/// Gets the system id. (A unique id which changes on when our definition changes.)
/// </summary>
private static int SystemUpdateId
{
get
{
@@ -75,14 +97,18 @@ namespace Emby.Dlna.ContentDirectory
/// <inheritdoc />
public string GetServiceXml()
{
return new ContentDirectoryXmlBuilder().GetXml();
return ContentDirectoryXmlBuilder.GetXml();
}
/// <inheritdoc />
public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
{
var profile = _dlna.GetProfile(request.Headers) ??
_dlna.GetDefaultProfile();
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));
@@ -107,7 +133,12 @@ namespace Emby.Dlna.ContentDirectory
.ProcessControlRequestAsync(request);
}
private User GetUser(DeviceProfile profile)
/// <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))
{

View File

@@ -6,142 +6,154 @@ using Emby.Dlna.Service;
namespace Emby.Dlna.ContentDirectory
{
public class ContentDirectoryXmlBuilder
/// <summary>
/// Defines the <see cref="ContentDirectoryXmlBuilder" />.
/// </summary>
public static class ContentDirectoryXmlBuilder
{
public string GetXml()
/// <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(new ServiceActionListBuilder().GetActions(),
GetStateVariables());
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>();
list.Add(new StateVariable
var list = new List<StateVariable>
{
Name = "A_ARG_TYPE_Filter",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_Filter",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_SortCriteria",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_SortCriteria",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Index",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_Index",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Count",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_Count",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_UpdateID",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_UpdateID",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "SearchCapabilities",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "SearchCapabilities",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "SortCapabilities",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "SortCapabilities",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "SystemUpdateID",
DataType = "ui4",
SendsEvents = true
});
new StateVariable
{
Name = "SystemUpdateID",
DataType = "ui4",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_SearchCriteria",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_SearchCriteria",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_ObjectID",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_ObjectID",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_BrowseFlag",
DataType = "string",
SendsEvents = false,
new StateVariable
{
Name = "A_ARG_TYPE_BrowseFlag",
DataType = "string",
SendsEvents = false,
AllowedValues = new string[]
AllowedValues = new[]
{
"BrowseMetadata",
"BrowseDirectChildren"
}
});
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_BrowseLetter",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_BrowseLetter",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_CategoryType",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_CategoryType",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_RID",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_RID",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_PosSec",
DataType = "ui4",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_PosSec",
DataType = "ui4",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Featurelist",
DataType = "string",
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

@@ -0,0 +1,39 @@
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,13 +1,18 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
namespace Emby.Dlna.ContentDirectory
{
public class ServiceActionListBuilder
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
public IEnumerable<ServiceAction> GetActions()
/// <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[]
{
@@ -22,6 +27,10 @@ namespace Emby.Dlna.ContentDirectory
};
}
/// <summary>
/// Returns the action details for "GetSystemUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetSystemUpdateIDAction()
{
var action = new ServiceAction
@@ -39,6 +48,10 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
/// <summary>
/// Returns the action details for "GetSearchCapabilities".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSearchCapabilitiesAction()
{
var action = new ServiceAction
@@ -56,6 +69,10 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
/// <summary>
/// Returns the action details for "GetSortCapabilities".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSortCapabilitiesAction()
{
var action = new ServiceAction
@@ -73,6 +90,10 @@ namespace Emby.Dlna.ContentDirectory
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
@@ -90,6 +111,10 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
/// <summary>
/// Returns the action details for "Search".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetSearchAction()
{
var action = new ServiceAction
@@ -170,7 +195,11 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
private ServiceAction GetBrowseAction()
/// <summary>
/// Returns the action details for "Browse".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetBrowseAction()
{
var action = new ServiceAction
{
@@ -250,7 +279,11 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
private ServiceAction GetBrowseByLetterAction()
/// <summary>
/// Returns the action details for "X_BrowseByLetter".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetBrowseByLetterAction()
{
var action = new ServiceAction
{
@@ -337,7 +370,11 @@ namespace Emby.Dlna.ContentDirectory
return action;
}
private ServiceAction GetXSetBookmarkAction()
/// <summary>
/// Returns the action details for "X_SetBookmark".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetXSetBookmarkAction()
{
var action = new ServiceAction
{

View File

@@ -0,0 +1,30 @@
#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,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System.IO;
@@ -7,17 +9,17 @@ namespace Emby.Dlna
{
public class ControlRequest
{
public IHeaderDictionary Headers { get; set; }
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; }
public ControlRequest()
{
Headers = new HeaderDictionary();
}
}
}

View File

@@ -6,15 +6,23 @@ namespace Emby.Dlna
{
public class ControlResponse
{
public ControlResponse()
public ControlResponse(string xml, bool isSuccessful)
{
Headers = new Dictionary<string, string>();
Xml = xml;
IsSuccessful = isSuccessful;
}
public IDictionary<string, string> Headers { get; set; }
public IDictionary<string, string> Headers { get; }
public string Xml { get; set; }
public bool IsSuccessful { get; set; }
/// <inheritdoc />
public override string ToString()
{
return Xml;
}
}
}

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System;
@@ -34,12 +36,10 @@ namespace Emby.Dlna.Didl
{
public class DidlBuilder
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
private const string NS_DIDL = "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/";
private const string NS_DC = "http://purl.org/dc/elements/1.1/";
private const string NS_UPNP = "urn:schemas-upnp-org:metadata-1-0/upnp/";
private const string NS_DLNA = "urn:schemas-dlna-org:metadata-1-0/";
private const string NsDidl = "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/";
private const string NsDc = "http://purl.org/dc/elements/1.1/";
private const string NsUpnp = "urn:schemas-upnp-org:metadata-1-0/upnp/";
private const string NsDlna = "urn:schemas-dlna-org:metadata-1-0/";
private readonly DeviceProfile _profile;
private readonly IImageProcessor _imageProcessor;
@@ -96,15 +96,16 @@ namespace Emby.Dlna.Didl
using (StringWriter builder = new StringWriterWithEncoding(Encoding.UTF8))
{
// If this using are changed to single lines, then write.Flush needs to be appended before the return.
using (var writer = XmlWriter.Create(builder, settings))
{
// writer.WriteStartDocument();
writer.WriteStartElement(string.Empty, "DIDL-Lite", NS_DIDL);
writer.WriteStartElement(string.Empty, "DIDL-Lite", NsDidl);
writer.WriteAttributeString("xmlns", "dc", null, NS_DC);
writer.WriteAttributeString("xmlns", "dlna", null, NS_DLNA);
writer.WriteAttributeString("xmlns", "upnp", null, NS_UPNP);
writer.WriteAttributeString("xmlns", "dc", null, NsDc);
writer.WriteAttributeString("xmlns", "dlna", null, NsDlna);
writer.WriteAttributeString("xmlns", "upnp", null, NsUpnp);
// didl.SetAttribute("xmlns:sec", NS_SEC);
WriteXmlRootAttributes(_profile, writer);
@@ -123,7 +124,7 @@ namespace Emby.Dlna.Didl
{
foreach (var att in profile.XmlRootAttributes)
{
var parts = att.Name.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
var parts = att.Name.Split(':', StringSplitOptions.RemoveEmptyEntries);
if (parts.Length == 2)
{
writer.WriteAttributeString(parts[0], parts[1], null, att.Value);
@@ -147,7 +148,7 @@ namespace Emby.Dlna.Didl
{
var clientId = GetClientId(item, null);
writer.WriteStartElement(string.Empty, "item", NS_DIDL);
writer.WriteStartElement(string.Empty, "item", NsDidl);
writer.WriteAttributeString("restricted", "1");
writer.WriteAttributeString("id", clientId);
@@ -207,7 +208,9 @@ namespace Emby.Dlna.Didl
var targetWidth = streamInfo.TargetWidth;
var targetHeight = streamInfo.TargetHeight;
var contentFeatureList = new ContentFeatureBuilder(_profile).BuildVideoHeader(streamInfo.Container,
var contentFeatureList = ContentFeatureBuilder.BuildVideoHeader(
_profile,
streamInfo.Container,
streamInfo.TargetVideoCodec.FirstOrDefault(),
streamInfo.TargetAudioCodec.FirstOrDefault(),
targetWidth,
@@ -279,7 +282,7 @@ namespace Emby.Dlna.Didl
}
else if (string.Equals(subtitleMode, "smi", StringComparison.OrdinalIgnoreCase))
{
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
writer.WriteStartElement(string.Empty, "res", NsDidl);
writer.WriteAttributeString("protocolInfo", "http-get:*:smi/caption:*");
@@ -288,7 +291,7 @@ namespace Emby.Dlna.Didl
}
else
{
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
writer.WriteStartElement(string.Empty, "res", NsDidl);
var protocolInfo = string.Format(
CultureInfo.InvariantCulture,
"http-get:*:text/{0}:*",
@@ -304,7 +307,7 @@ namespace Emby.Dlna.Didl
private void AddVideoResource(XmlWriter writer, Filter filter, string contentFeatures, StreamInfo streamInfo)
{
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
writer.WriteStartElement(string.Empty, "res", NsDidl);
var url = NormalizeDlnaMediaUrl(streamInfo.ToUrl(_serverAddress, _accessToken));
@@ -312,7 +315,7 @@ namespace Emby.Dlna.Didl
if (mediaSource.RunTimeTicks.HasValue)
{
writer.WriteAttributeString("duration", TimeSpan.FromTicks(mediaSource.RunTimeTicks.Value).ToString("c", _usCulture));
writer.WriteAttributeString("duration", TimeSpan.FromTicks(mediaSource.RunTimeTicks.Value).ToString("c", CultureInfo.InvariantCulture));
}
if (filter.Contains("res@size"))
@@ -323,7 +326,7 @@ namespace Emby.Dlna.Didl
if (size.HasValue)
{
writer.WriteAttributeString("size", size.Value.ToString(_usCulture));
writer.WriteAttributeString("size", size.Value.ToString(CultureInfo.InvariantCulture));
}
}
}
@@ -337,7 +340,7 @@ namespace Emby.Dlna.Didl
if (targetChannels.HasValue)
{
writer.WriteAttributeString("nrAudioChannels", targetChannels.Value.ToString(_usCulture));
writer.WriteAttributeString("nrAudioChannels", targetChannels.Value.ToString(CultureInfo.InvariantCulture));
}
if (filter.Contains("res@resolution"))
@@ -356,15 +359,16 @@ namespace Emby.Dlna.Didl
if (targetSampleRate.HasValue)
{
writer.WriteAttributeString("sampleFrequency", targetSampleRate.Value.ToString(_usCulture));
writer.WriteAttributeString("sampleFrequency", targetSampleRate.Value.ToString(CultureInfo.InvariantCulture));
}
if (totalBitrate.HasValue)
{
writer.WriteAttributeString("bitrate", totalBitrate.Value.ToString(_usCulture));
writer.WriteAttributeString("bitrate", totalBitrate.Value.ToString(CultureInfo.InvariantCulture));
}
var mediaProfile = _profile.GetVideoMediaProfile(streamInfo.Container,
var mediaProfile = _profile.GetVideoMediaProfile(
streamInfo.Container,
streamInfo.TargetAudioCodec.FirstOrDefault(),
streamInfo.TargetVideoCodec.FirstOrDefault(),
streamInfo.TargetAudioBitrate,
@@ -525,7 +529,7 @@ namespace Emby.Dlna.Didl
private void AddAudioResource(XmlWriter writer, BaseItem audio, string deviceId, Filter filter, StreamInfo streamInfo = null)
{
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
writer.WriteStartElement(string.Empty, "res", NsDidl);
if (streamInfo == null)
{
@@ -546,7 +550,7 @@ namespace Emby.Dlna.Didl
if (mediaSource.RunTimeTicks.HasValue)
{
writer.WriteAttributeString("duration", TimeSpan.FromTicks(mediaSource.RunTimeTicks.Value).ToString("c", _usCulture));
writer.WriteAttributeString("duration", TimeSpan.FromTicks(mediaSource.RunTimeTicks.Value).ToString("c", CultureInfo.InvariantCulture));
}
if (filter.Contains("res@size"))
@@ -557,7 +561,7 @@ namespace Emby.Dlna.Didl
if (size.HasValue)
{
writer.WriteAttributeString("size", size.Value.ToString(_usCulture));
writer.WriteAttributeString("size", size.Value.ToString(CultureInfo.InvariantCulture));
}
}
}
@@ -569,20 +573,21 @@ namespace Emby.Dlna.Didl
if (targetChannels.HasValue)
{
writer.WriteAttributeString("nrAudioChannels", targetChannels.Value.ToString(_usCulture));
writer.WriteAttributeString("nrAudioChannels", targetChannels.Value.ToString(CultureInfo.InvariantCulture));
}
if (targetSampleRate.HasValue)
{
writer.WriteAttributeString("sampleFrequency", targetSampleRate.Value.ToString(_usCulture));
writer.WriteAttributeString("sampleFrequency", targetSampleRate.Value.ToString(CultureInfo.InvariantCulture));
}
if (targetAudioBitrate.HasValue)
{
writer.WriteAttributeString("bitrate", targetAudioBitrate.Value.ToString(_usCulture));
writer.WriteAttributeString("bitrate", targetAudioBitrate.Value.ToString(CultureInfo.InvariantCulture));
}
var mediaProfile = _profile.GetAudioMediaProfile(streamInfo.Container,
var mediaProfile = _profile.GetAudioMediaProfile(
streamInfo.Container,
streamInfo.TargetAudioCodec.FirstOrDefault(),
targetChannels,
targetAudioBitrate,
@@ -595,7 +600,9 @@ namespace Emby.Dlna.Didl
? MimeTypes.GetMimeType(filename)
: mediaProfile.MimeType;
var contentFeatures = new ContentFeatureBuilder(_profile).BuildAudioHeader(streamInfo.Container,
var contentFeatures = ContentFeatureBuilder.BuildAudioHeader(
_profile,
streamInfo.Container,
streamInfo.TargetAudioCodec.FirstOrDefault(),
targetAudioBitrate,
targetSampleRate,
@@ -626,11 +633,11 @@ namespace Emby.Dlna.Didl
public void WriteFolderElement(XmlWriter writer, BaseItem folder, StubType? stubType, BaseItem context, int childCount, Filter filter, string requestedId = null)
{
writer.WriteStartElement(string.Empty, "container", NS_DIDL);
writer.WriteStartElement(string.Empty, "container", NsDidl);
writer.WriteAttributeString("restricted", "1");
writer.WriteAttributeString("searchable", "1");
writer.WriteAttributeString("childCount", childCount.ToString(_usCulture));
writer.WriteAttributeString("childCount", childCount.ToString(CultureInfo.InvariantCulture));
var clientId = GetClientId(folder, stubType);
@@ -713,7 +720,7 @@ namespace Emby.Dlna.Didl
// MediaMonkey for example won't display content without a title
// if (filter.Contains("dc:title"))
{
AddValue(writer, "dc", "title", GetDisplayName(item, itemStubType, context), NS_DC);
AddValue(writer, "dc", "title", GetDisplayName(item, itemStubType, context), NsDc);
}
WriteObjectClass(writer, item, itemStubType);
@@ -722,7 +729,7 @@ namespace Emby.Dlna.Didl
{
if (item.PremiereDate.HasValue)
{
AddValue(writer, "dc", "date", item.PremiereDate.Value.ToString("o", CultureInfo.InvariantCulture), NS_DC);
AddValue(writer, "dc", "date", item.PremiereDate.Value.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture), NsDc);
}
}
@@ -730,16 +737,16 @@ namespace Emby.Dlna.Didl
{
foreach (var genre in item.Genres)
{
AddValue(writer, "upnp", "genre", genre, NS_UPNP);
AddValue(writer, "upnp", "genre", genre, NsUpnp);
}
}
foreach (var studio in item.Studios)
{
AddValue(writer, "upnp", "publisher", studio, NS_UPNP);
AddValue(writer, "upnp", "publisher", studio, NsUpnp);
}
if (!(item is Folder))
if (item is not Folder)
{
if (filter.Contains("dc:description"))
{
@@ -747,28 +754,29 @@ namespace Emby.Dlna.Didl
if (!string.IsNullOrWhiteSpace(desc))
{
AddValue(writer, "dc", "description", desc, NS_DC);
AddValue(writer, "dc", "description", desc, NsDc);
}
}
// if (filter.Contains("upnp:longDescription"))
//{
// {
// if (!string.IsNullOrWhiteSpace(item.Overview))
// {
// AddValue(writer, "upnp", "longDescription", item.Overview, NS_UPNP);
// AddValue(writer, "upnp", "longDescription", item.Overview, NsUpnp);
// }
//}
// }
}
if (!string.IsNullOrEmpty(item.OfficialRating))
{
if (filter.Contains("dc:rating"))
{
AddValue(writer, "dc", "rating", item.OfficialRating, NS_DC);
AddValue(writer, "dc", "rating", item.OfficialRating, NsDc);
}
if (filter.Contains("upnp:rating"))
{
AddValue(writer, "upnp", "rating", item.OfficialRating, NS_UPNP);
AddValue(writer, "upnp", "rating", item.OfficialRating, NsUpnp);
}
}
@@ -780,7 +788,7 @@ namespace Emby.Dlna.Didl
// More types here
// http://oss.linn.co.uk/repos/Public/LibUpnpCil/DidlLite/UpnpAv/Test/TestDidlLite.cs
writer.WriteStartElement("upnp", "class", NS_UPNP);
writer.WriteStartElement("upnp", "class", NsUpnp);
if (item.IsDisplayedAsFolder || stubType.HasValue)
{
@@ -881,7 +889,7 @@ namespace Emby.Dlna.Didl
var type = types.FirstOrDefault(i => string.Equals(i, actor.Type, StringComparison.OrdinalIgnoreCase) || string.Equals(i, actor.Role, StringComparison.OrdinalIgnoreCase))
?? PersonType.Actor;
AddValue(writer, "upnp", type.ToLowerInvariant(), actor.Name, NS_UPNP);
AddValue(writer, "upnp", type.ToLowerInvariant(), actor.Name, NsUpnp);
}
}
@@ -895,8 +903,8 @@ namespace Emby.Dlna.Didl
{
foreach (var artist in hasArtists.Artists)
{
AddValue(writer, "upnp", "artist", artist, NS_UPNP);
AddValue(writer, "dc", "creator", artist, NS_DC);
AddValue(writer, "upnp", "artist", artist, NsUpnp);
AddValue(writer, "dc", "creator", artist, NsDc);
// If it doesn't support album artists (musicvideo), then tag as both
if (hasAlbumArtists == null)
@@ -916,16 +924,16 @@ namespace Emby.Dlna.Didl
if (!string.IsNullOrWhiteSpace(item.Album))
{
AddValue(writer, "upnp", "album", item.Album, NS_UPNP);
AddValue(writer, "upnp", "album", item.Album, NsUpnp);
}
if (item.IndexNumber.HasValue)
{
AddValue(writer, "upnp", "originalTrackNumber", item.IndexNumber.Value.ToString(_usCulture), NS_UPNP);
AddValue(writer, "upnp", "originalTrackNumber", item.IndexNumber.Value.ToString(CultureInfo.InvariantCulture), NsUpnp);
if (item is Episode)
{
AddValue(writer, "upnp", "episodeNumber", item.IndexNumber.Value.ToString(_usCulture), NS_UPNP);
AddValue(writer, "upnp", "episodeNumber", item.IndexNumber.Value.ToString(CultureInfo.InvariantCulture), NsUpnp);
}
}
}
@@ -934,7 +942,7 @@ namespace Emby.Dlna.Didl
{
try
{
writer.WriteStartElement("upnp", "artist", NS_UPNP);
writer.WriteStartElement("upnp", "artist", NsUpnp);
writer.WriteAttributeString("role", "AlbumArtist");
writer.WriteString(name);
@@ -943,7 +951,7 @@ namespace Emby.Dlna.Didl
}
catch (XmlException ex)
{
_logger.LogError(ex, "Error adding xml value: {value}", name);
_logger.LogError(ex, "Error adding xml value: {Value}", name);
}
}
@@ -955,7 +963,7 @@ namespace Emby.Dlna.Didl
}
catch (XmlException ex)
{
_logger.LogError(ex, "Error adding xml value: {value}", value);
_logger.LogError(ex, "Error adding xml value: {Value}", value);
}
}
@@ -968,16 +976,29 @@ namespace Emby.Dlna.Didl
return;
}
var albumartUrlInfo = GetImageUrl(imageInfo, _profile.MaxAlbumArtWidth, _profile.MaxAlbumArtHeight, "jpg");
// TODO: Remove these default values
var albumArtUrlInfo = GetImageUrl(
imageInfo,
_profile.MaxAlbumArtWidth ?? 10000,
_profile.MaxAlbumArtHeight ?? 10000,
"jpg");
writer.WriteStartElement("upnp", "albumArtURI", NS_UPNP);
writer.WriteAttributeString("dlna", "profileID", NS_DLNA, _profile.AlbumArtPn);
writer.WriteString(albumartUrlInfo.Url);
writer.WriteStartElement("upnp", "albumArtURI", NsUpnp);
if (!string.IsNullOrEmpty(_profile.AlbumArtPn))
{
writer.WriteAttributeString("dlna", "profileID", NsDlna, _profile.AlbumArtPn);
}
writer.WriteString(albumArtUrlInfo.url);
writer.WriteFullEndElement();
// TOOD: Remove these default values
var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth ?? 48, _profile.MaxIconHeight ?? 48, "jpg");
writer.WriteElementString("upnp", "icon", NS_UPNP, iconUrlInfo.Url);
// TODO: Remove these default values
var iconUrlInfo = GetImageUrl(
imageInfo,
_profile.MaxIconWidth ?? 48,
_profile.MaxIconHeight ?? 48,
"jpg");
writer.WriteElementString("upnp", "icon", NsUpnp, iconUrlInfo.url);
if (!_profile.EnableAlbumArtInDidl)
{
@@ -1020,15 +1041,14 @@ namespace Emby.Dlna.Didl
var albumartUrlInfo = GetImageUrl(imageInfo, maxWidth, maxHeight, format);
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
writer.WriteStartElement(string.Empty, "res", NsDidl);
// Images must have a reported size or many clients (Bubble upnp), will only use the first thumbnail
// rather than using a larger one when available
var width = albumartUrlInfo.Width ?? maxWidth;
var height = albumartUrlInfo.Height ?? maxHeight;
var width = albumartUrlInfo.width ?? maxWidth;
var height = albumartUrlInfo.height ?? maxHeight;
var contentFeatures = new ContentFeatureBuilder(_profile)
.BuildImageHeader(format, width, height, imageInfo.IsDirectStream, org_Pn);
var contentFeatures = ContentFeatureBuilder.BuildImageHeader(_profile, format, width, height, imageInfo.IsDirectStream, org_Pn);
writer.WriteAttributeString(
"protocolInfo",
@@ -1042,7 +1062,7 @@ namespace Emby.Dlna.Didl
"resolution",
string.Format(CultureInfo.InvariantCulture, "{0}x{1}", width, height));
writer.WriteString(albumartUrlInfo.Url);
writer.WriteString(albumartUrlInfo.url);
writer.WriteFullEndElement();
}
@@ -1138,7 +1158,6 @@ namespace Emby.Dlna.Didl
if (width == 0 || height == 0)
{
// _imageProcessor.GetImageSize(item, imageInfo);
width = null;
height = null;
}
@@ -1148,18 +1167,6 @@ namespace Emby.Dlna.Didl
height = null;
}
// try
//{
// var size = _imageProcessor.GetImageSize(imageInfo);
// width = size.Width;
// height = size.Height;
//}
// catch
//{
//}
var inputFormat = (Path.GetExtension(imageInfo.Path) ?? string.Empty)
.TrimStart('.')
.Replace("jpeg", "jpg", StringComparison.OrdinalIgnoreCase);
@@ -1176,30 +1183,6 @@ namespace Emby.Dlna.Didl
};
}
private class ImageDownloadInfo
{
internal Guid ItemId;
internal string ImageTag;
internal ImageType Type;
internal int? Width;
internal int? Height;
internal bool IsDirectStream;
internal string Format;
internal ItemImageInfo ItemImageInfo;
}
private class ImageUrlInfo
{
internal string Url;
internal int? Width;
internal int? Height;
}
public static string GetClientId(BaseItem item, StubType? stubType)
{
return GetClientId(item.Id, stubType);
@@ -1217,7 +1200,7 @@ namespace Emby.Dlna.Didl
return id;
}
private ImageUrlInfo GetImageUrl(ImageDownloadInfo info, int maxWidth, int maxHeight, string format)
private (string url, int? width, int? height) GetImageUrl(ImageDownloadInfo info, int maxWidth, int maxHeight, string format)
{
var url = string.Format(
CultureInfo.InvariantCulture,
@@ -1237,8 +1220,7 @@ namespace Emby.Dlna.Didl
if (width.HasValue && height.HasValue)
{
var newSize = DrawingUtils.Resize(
new ImageDimensions(width.Value, height.Value), 0, 0, maxWidth, maxHeight);
var newSize = DrawingUtils.Resize(new ImageDimensions(width.Value, height.Value), 0, 0, maxWidth, maxHeight);
width = newSize.Width;
height = newSize.Height;
@@ -1255,12 +1237,26 @@ namespace Emby.Dlna.Didl
// just lie
info.IsDirectStream = true;
return new ImageUrlInfo
{
Url = url,
Width = width,
Height = height
};
return (url, width, height);
}
private class ImageDownloadInfo
{
internal Guid ItemId { get; set; }
internal string ImageTag { get; set; }
internal ImageType Type { get; set; }
internal int? Width { get; set; }
internal int? Height { get; set; }
internal bool IsDirectStream { get; set; }
internal string Format { get; set; }
internal ItemImageInfo ItemImageInfo { get; set; }
}
}
}

View File

@@ -18,14 +18,12 @@ namespace Emby.Dlna.Didl
{
_all = string.Equals(filter, "*", StringComparison.OrdinalIgnoreCase);
_fields = (filter ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
_fields = (filter ?? string.Empty).Split(',', StringSplitOptions.RemoveEmptyEntries);
}
public bool Contains(string field)
{
// Don't bother with this. Some clients (media monkey) use the filter and then don't display very well when very little data comes back.
return true;
// return _all || ListHelper.ContainsIgnoreCase(_fields, field);
return _all || Array.Exists(_fields, x => x.Equals(field, StringComparison.OrdinalIgnoreCase));
}
}
}

View File

@@ -1,4 +1,5 @@
#pragma warning disable CS1591
#pragma warning disable CA1305
using System;
using System.IO;
@@ -8,7 +9,7 @@ namespace Emby.Dlna.Didl
{
public class StringWriterWithEncoding : StringWriter
{
private readonly Encoding _encoding;
private readonly Encoding? _encoding;
public StringWriterWithEncoding()
{
@@ -29,7 +30,6 @@ namespace Emby.Dlna.Didl
{
}
public StringWriterWithEncoding(Encoding encoding)
{
_encoding = encoding;

View File

@@ -0,0 +1,23 @@
#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,5 +1,4 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -7,10 +6,12 @@ using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
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;
@@ -32,9 +33,9 @@ namespace Emby.Dlna
private readonly IXmlSerializer _xmlSerializer;
private readonly IFileSystem _fileSystem;
private readonly ILogger<DlnaManager> _logger;
private readonly IJsonSerializer _jsonSerializer;
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);
@@ -43,22 +44,24 @@ namespace Emby.Dlna
IFileSystem fileSystem,
IApplicationPaths appPaths,
ILoggerFactory loggerFactory,
IJsonSerializer jsonSerializer,
IServerApplicationHost appHost)
{
_xmlSerializer = xmlSerializer;
_fileSystem = fileSystem;
_appPaths = appPaths;
_logger = loggerFactory.CreateLogger<DlnaManager>();
_jsonSerializer = jsonSerializer;
_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();
await ExtractSystemProfilesAsync().ConfigureAwait(false);
LoadProfiles();
}
catch (Exception ex)
@@ -90,12 +93,14 @@ namespace Emby.Dlna
}
}
/// <inheritdoc />
public DeviceProfile GetDefaultProfile()
{
return new DefaultProfile();
}
public DeviceProfile GetProfile(DeviceIdentification deviceInfo)
/// <inheritdoc />
public DeviceProfile? GetProfile(DeviceIdentification deviceInfo)
{
if (deviceInfo == null)
{
@@ -105,118 +110,57 @@ namespace Emby.Dlna
var profile = GetProfiles()
.FirstOrDefault(i => i.Identification != null && IsMatch(deviceInfo, i.Identification));
if (profile != null)
if (profile == null)
{
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
_logger.LogInformation("No matching device profile found. The default will need to be used. \n{@Profile}", deviceInfo);
}
else
{
LogUnmatchedProfile(deviceInfo);
_logger.LogDebug("Found matching device profile: {ProfileName}", profile.Name);
}
return profile;
}
private void LogUnmatchedProfile(DeviceIdentification 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)
{
var builder = new StringBuilder();
builder.AppendLine("No matching device profile found. The default will need to be used.");
builder.AppendLine(string.Format("DeviceDescription:{0}", profile.DeviceDescription ?? string.Empty));
builder.AppendLine(string.Format("FriendlyName:{0}", profile.FriendlyName ?? string.Empty));
builder.AppendLine(string.Format("Manufacturer:{0}", profile.Manufacturer ?? string.Empty));
builder.AppendLine(string.Format("ManufacturerUrl:{0}", profile.ManufacturerUrl ?? string.Empty));
builder.AppendLine(string.Format("ModelDescription:{0}", profile.ModelDescription ?? string.Empty));
builder.AppendLine(string.Format("ModelName:{0}", profile.ModelName ?? string.Empty));
builder.AppendLine(string.Format("ModelNumber:{0}", profile.ModelNumber ?? string.Empty));
builder.AppendLine(string.Format("ModelUrl:{0}", profile.ModelUrl ?? string.Empty));
builder.AppendLine(string.Format("SerialNumber:{0}", profile.SerialNumber ?? string.Empty));
_logger.LogInformation(builder.ToString());
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 IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
private bool IsRegexOrSubstringMatch(string input, string pattern)
{
if (!string.IsNullOrEmpty(profileInfo.DeviceDescription))
if (string.IsNullOrEmpty(pattern))
{
if (deviceInfo.DeviceDescription == null || !IsRegexMatch(deviceInfo.DeviceDescription, profileInfo.DeviceDescription))
{
return false;
}
// In profile identification: An empty pattern matches anything.
return true;
}
if (!string.IsNullOrEmpty(profileInfo.FriendlyName))
if (string.IsNullOrEmpty(input))
{
if (deviceInfo.FriendlyName == null || !IsRegexMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName))
{
return false;
}
// The profile contains a value, and the device doesn't.
return false;
}
if (!string.IsNullOrEmpty(profileInfo.Manufacturer))
{
if (deviceInfo.Manufacturer == null || !IsRegexMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.ManufacturerUrl))
{
if (deviceInfo.ManufacturerUrl == null || !IsRegexMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.ModelDescription))
{
if (deviceInfo.ModelDescription == null || !IsRegexMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.ModelName))
{
if (deviceInfo.ModelName == null || !IsRegexMatch(deviceInfo.ModelName, profileInfo.ModelName))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.ModelNumber))
{
if (deviceInfo.ModelNumber == null || !IsRegexMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.ModelUrl))
{
if (deviceInfo.ModelUrl == null || !IsRegexMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl))
{
return false;
}
}
if (!string.IsNullOrEmpty(profileInfo.SerialNumber))
{
if (deviceInfo.SerialNumber == null || !IsRegexMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber))
{
return false;
}
}
return true;
}
private bool IsRegexMatch(string input, string pattern)
{
try
{
return Regex.IsMatch(input, pattern);
return input.Equals(pattern, StringComparison.OrdinalIgnoreCase)
|| Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
}
catch (ArgumentException ex)
{
@@ -225,7 +169,8 @@ namespace Emby.Dlna
}
}
public DeviceProfile GetProfile(IHeaderDictionary headers)
/// <inheritdoc />
public DeviceProfile? GetProfile(IHeaderDictionary headers)
{
if (headers == null)
{
@@ -233,15 +178,13 @@ namespace Emby.Dlna
}
var profile = GetProfiles().FirstOrDefault(i => i.Identification != null && IsMatch(headers, i.Identification));
if (profile != null)
if (profile == null)
{
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
_logger.LogDebug("No matching device profile found. {@Headers}", headers);
}
else
{
var headerString = string.Join(", ", headers.Select(i => string.Format("{0}={1}", i.Key, i.Value)).ToArray());
_logger.LogDebug("No matching device profile found. {0}", headerString);
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
}
return profile;
@@ -280,10 +223,6 @@ namespace Emby.Dlna
return false;
}
private string UserProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user");
private string SystemProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system");
private IEnumerable<DeviceProfile> GetProfiles(string path, DeviceProfileType type)
{
try
@@ -295,19 +234,19 @@ namespace Emby.Dlna
return xmlFies
.Select(i => ParseProfileFile(i, type))
.Where(i => i != null)
.ToList();
.ToList()!; // We just filtered out all the nulls
}
catch (IOException)
{
return new List<DeviceProfile>();
return Array.Empty<DeviceProfile>();
}
}
private DeviceProfile ParseProfileFile(string path, DeviceProfileType type)
private DeviceProfile? ParseProfileFile(string path, DeviceProfileType type)
{
lock (_profiles)
{
if (_profiles.TryGetValue(path, out Tuple<InternalProfileInfo, DeviceProfile> profileTuple))
if (_profiles.TryGetValue(path, out Tuple<InternalProfileInfo, DeviceProfile>? profileTuple))
{
return profileTuple.Item2;
}
@@ -335,14 +274,20 @@ namespace Emby.Dlna
}
}
public DeviceProfile GetProfile(string id)
/// <inheritdoc />
public DeviceProfile? GetProfile(string id)
{
if (string.IsNullOrEmpty(id))
{
throw new ArgumentNullException(nameof(id));
}
var info = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, id, StringComparison.OrdinalIgnoreCase));
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);
}
@@ -359,6 +304,7 @@ namespace Emby.Dlna
}
}
/// <inheritdoc />
public IEnumerable<DeviceProfileInfo> GetProfileInfos()
{
return GetProfileInfosInternal().Select(i => i.Info);
@@ -366,17 +312,14 @@ namespace Emby.Dlna
private InternalProfileInfo GetInternalProfileInfo(FileSystemMetadata file, DeviceProfileType type)
{
return new InternalProfileInfo
{
Path = file.FullName,
Info = new DeviceProfileInfo
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()
@@ -387,26 +330,31 @@ namespace Emby.Dlna
foreach (var name in _assembly.GetManifestResourceNames())
{
if (!name.StartsWith(namespaceName))
if (!name.StartsWith(namespaceName, StringComparison.Ordinal))
{
continue;
}
var filename = Path.GetFileName(name).Substring(namespaceName.Length);
var path = Path.Join(
systemProfilesPath,
Path.GetFileName(name.AsSpan()).Slice(namespaceName.Length));
var path = Path.Combine(systemProfilesPath, filename);
using (var stream = _assembly.GetManifestResourceStream(name))
// 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 != stream.Length)
if (!fileInfo.Exists || fileInfo.Length != length)
{
Directory.CreateDirectory(systemProfilesPath);
using (var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read))
var fileOptions = AsyncFile.WriteOptions;
fileOptions.Mode = FileMode.CreateNew;
fileOptions.PreallocationSize = length;
using (var fileStream = new FileStream(path, fileOptions))
{
await stream.CopyToAsync(fileStream);
await stream.CopyToAsync(fileStream).ConfigureAwait(false);
}
}
}
@@ -416,6 +364,7 @@ namespace Emby.Dlna
Directory.CreateDirectory(UserProfilesPath);
}
/// <inheritdoc />
public void DeleteProfile(string id)
{
var info = GetProfileInfosInternal().First(i => string.Equals(id, i.Info.Id, StringComparison.OrdinalIgnoreCase));
@@ -433,6 +382,7 @@ namespace Emby.Dlna
}
}
/// <inheritdoc />
public void CreateProfile(DeviceProfile profile)
{
profile = ReserializeProfile(profile);
@@ -448,7 +398,8 @@ namespace Emby.Dlna
SaveProfile(profile, path, DeviceProfileType.User);
}
public void UpdateProfile(DeviceProfile profile)
/// <inheritdoc />
public void UpdateProfile(string profileId, DeviceProfile profile)
{
profile = ReserializeProfile(profile);
@@ -462,7 +413,7 @@ namespace Emby.Dlna
throw new ArgumentException("Profile is missing Name");
}
var current = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, profile.Id, StringComparison.OrdinalIgnoreCase));
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);
@@ -493,10 +444,10 @@ namespace Emby.Dlna
/// <summary>
/// Recreates the object using serialization, to ensure it's not a subclass.
/// If it's a subclass it may not serlialize properly to xml (different root element tag name).
/// If it's a subclass it may not serialize properly to xml (different root element tag name).
/// </summary>
/// <param name="profile"></param>
/// <returns></returns>
/// <param name="profile">The device profile.</param>
/// <returns>The re-serialized device profile.</returns>
private DeviceProfile ReserializeProfile(DeviceProfile profile)
{
if (profile.GetType() == typeof(DeviceProfile))
@@ -504,43 +455,56 @@ namespace Emby.Dlna
return profile;
}
var json = _jsonSerializer.SerializeToString(profile);
var json = JsonSerializer.Serialize(profile, _jsonOptions);
return _jsonSerializer.DeserializeFromString<DeviceProfile>(json);
}
class InternalProfileInfo
{
internal DeviceProfileInfo Info { get; set; }
internal string Path { get; set; }
// 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 profile = GetDefaultProfile();
var serverId = _appHost.SystemId;
return new DescriptionXmlBuilder(profile, serverUuId, serverAddress, _appHost.FriendlyName, serverId).GetXml();
}
public ImageStream GetIcon(string filename)
/// <inheritdoc />
public ImageStream? GetIcon(string filename)
{
var format = filename.EndsWith(".png", StringComparison.OrdinalIgnoreCase)
? ImageFormat.Png
: ImageFormat.Jpg;
var resource = GetType().Namespace + ".Images." + filename.ToLowerInvariant();
return new ImageStream
var stream = _assembly.GetManifestResourceStream(resource);
if (stream == null)
{
Format = format,
Stream = _assembly.GetManifestResourceStream(resource)
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
{
@@ -562,7 +526,7 @@ namespace Emby.Dlna
private void DumpProfiles()
{
DeviceProfile[] list = new []
DeviceProfile[] list = new[]
{
new SamsungSmartTvProfile(),
new XboxOneProfile(),

View File

@@ -17,24 +17,18 @@
</ItemGroup>
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors Condition=" '$(Configuration)' == 'Release'" >true</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Code Analyzers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8" PrivateAssets="All" />
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" PrivateAssets="All" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<CodeAnalysisRuleSet>../jellyfin.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Images\logo120.jpg" />
<EmbeddedResource Include="Images\logo120.png" />
@@ -78,8 +72,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
</ItemGroup>
</Project>

View File

@@ -6,8 +6,10 @@ namespace Emby.Dlna
{
public class EventSubscriptionResponse
{
public EventSubscriptionResponse()
public EventSubscriptionResponse(string content, string contentType)
{
Content = content;
ContentType = contentType;
Headers = new Dictionary<string, string>();
}
@@ -15,6 +17,6 @@ namespace Emby.Dlna
public string ContentType { get; set; }
public Dictionary<string, string> Headers { get; set; }
public Dictionary<string, string> Headers { get; }
}
}

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System;
@@ -6,25 +8,27 @@ 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 EventManager : IEventManager
public class DlnaEventManager : IDlnaEventManager
{
private readonly ConcurrentDictionary<string, EventSubscription> _subscriptions =
new ConcurrentDictionary<string, EventSubscription>(StringComparer.OrdinalIgnoreCase);
private readonly ILogger _logger;
private readonly IHttpClient _httpClient;
private readonly IHttpClientFactory _httpClientFactory;
public EventManager(ILogger logger, IHttpClient httpClient)
public DlnaEventManager(ILogger logger, IHttpClientFactory httpClientFactory)
{
_httpClient = httpClient;
_httpClientFactory = httpClientFactory;
_logger = logger;
}
@@ -46,11 +50,7 @@ namespace Emby.Dlna.Eventing
return GetEventSubscriptionResponse(subscriptionId, requestedTimeoutString, timeoutSeconds);
}
return new EventSubscriptionResponse
{
Content = string.Empty,
ContentType = "text/plain"
};
return new EventSubscriptionResponse(string.Empty, "text/plain");
}
public EventSubscriptionResponse CreateEventSubscription(string notificationType, string requestedTimeoutString, string callbackUrl)
@@ -58,7 +58,8 @@ namespace Emby.Dlna.Eventing
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}",
_logger.LogDebug(
"Creating event subscription for {0} with timeout of {1} to {2}",
notificationType,
timeout,
callbackUrl);
@@ -68,7 +69,8 @@ namespace Emby.Dlna.Eventing
Id = id,
CallbackUrl = callbackUrl,
SubscriptionTime = DateTime.UtcNow,
TimeoutSeconds = timeout
TimeoutSeconds = timeout,
NotificationType = notificationType
});
return GetEventSubscriptionResponse(id, requestedTimeoutString, timeout);
@@ -79,9 +81,7 @@ namespace Emby.Dlna.Eventing
if (!string.IsNullOrEmpty(header))
{
// Starts with SECOND-
header = header.Split('-').Last();
if (int.TryParse(header, NumberStyles.Integer, _usCulture, out var val))
if (int.TryParse(header.AsSpan().RightPart('-'), NumberStyles.Integer, CultureInfo.InvariantCulture, out var val))
{
return val;
}
@@ -94,26 +94,17 @@ namespace Emby.Dlna.Eventing
{
_logger.LogDebug("Cancelling event subscription {0}", subscriptionId);
_subscriptions.TryRemove(subscriptionId, out EventSubscription sub);
_subscriptions.TryRemove(subscriptionId, out _);
return new EventSubscriptionResponse
{
Content = string.Empty,
ContentType = "text/plain"
};
return new EventSubscriptionResponse(string.Empty, "text/plain");
}
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
private EventSubscriptionResponse GetEventSubscriptionResponse(string subscriptionId, string requestedTimeoutString, int timeoutSeconds)
{
var response = new EventSubscriptionResponse
{
Content = string.Empty,
ContentType = "text/plain"
};
var response = new EventSubscriptionResponse(string.Empty, "text/plain");
response.Headers["SID"] = subscriptionId;
response.Headers["TIMEOUT"] = string.IsNullOrEmpty(requestedTimeoutString) ? ("SECOND-" + timeoutSeconds.ToString(_usCulture)) : requestedTimeoutString;
response.Headers["TIMEOUT"] = string.IsNullOrEmpty(requestedTimeoutString) ? ("SECOND-" + timeoutSeconds.ToString(CultureInfo.InvariantCulture)) : requestedTimeoutString;
return response;
}
@@ -152,33 +143,30 @@ namespace Emby.Dlna.Eventing
builder.Append("<e:propertyset xmlns:e=\"urn:schemas-upnp-org:event-1-0\">");
foreach (var key in stateVariables.Keys)
{
builder.Append("<e:property>");
builder.Append("<" + key + ">");
builder.Append(stateVariables[key]);
builder.Append("</" + key + ">");
builder.Append("</e:property>");
builder.Append("<e:property>")
.Append('<')
.Append(key)
.Append('>')
.Append(stateVariables[key])
.Append("</")
.Append(key)
.Append('>')
.Append("</e:property>");
}
builder.Append("</e:propertyset>");
var options = new HttpRequestOptions
{
RequestContent = builder.ToString(),
RequestContentType = "text/xml",
Url = subscription.CallbackUrl,
BufferContent = false
};
options.RequestHeaders.Add("NT", subscription.NotificationType);
options.RequestHeaders.Add("NTS", "upnp:propchange");
options.RequestHeaders.Add("SID", subscription.Id);
options.RequestHeaders.Add("SEQ", subscription.TriggerCount.ToString(_usCulture));
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 (await _httpClient.SendAsync(options, new HttpMethod("NOTIFY")).ConfigureAwait(false))
{
}
using var response = await _httpClientFactory.CreateClient(NamedClient.Default)
.SendAsync(options, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
}
catch (OperationCanceledException)
{

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System;

View File

@@ -2,7 +2,7 @@
namespace Emby.Dlna
{
public interface IConnectionManager : IEventManager, IUpnpService
public interface IConnectionManager : IDlnaEventManager, IUpnpService
{
}
}

View File

@@ -2,7 +2,7 @@
namespace Emby.Dlna
{
public interface IContentDirectory : IEventManager, IUpnpService
public interface IContentDirectory : IDlnaEventManager, IUpnpService
{
}
}

View File

@@ -2,22 +2,32 @@
namespace Emby.Dlna
{
public interface IEventManager
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

@@ -2,7 +2,7 @@
namespace Emby.Dlna
{
public interface IMediaReceiverRegistrar : IEventManager, IUpnpService
public interface IMediaReceiverRegistrar : IDlnaEventManager, IUpnpService
{
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 278 B

View File

@@ -1,12 +1,17 @@
#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;
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;
@@ -22,21 +27,19 @@ using MediaBrowser.Controller.TV;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.System;
using Microsoft.Extensions.Logging;
using Rssdp;
using Rssdp.Infrastructure;
using OperatingSystem = MediaBrowser.Common.System.OperatingSystem;
namespace Emby.Dlna.Main
{
public class DlnaEntryPoint : IServerEntryPoint, IRunBeforeStartup
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 IHttpClient _httpClient;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILibraryManager _libraryManager;
private readonly IUserManager _userManager;
private readonly IDlnaManager _dlnaManager;
@@ -49,25 +52,20 @@ namespace Emby.Dlna.Main
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;
internal IContentDirectory ContentDirectory { get; private set; }
internal IConnectionManager ConnectionManager { get; private set; }
internal IMediaReceiverRegistrar MediaReceiverRegistrar { get; private set; }
public static DlnaEntryPoint Current;
private bool _disposed;
public DlnaEntryPoint(
IServerConfigurationManager config,
ILoggerFactory loggerFactory,
IServerApplicationHost appHost,
ISessionManager sessionManager,
IHttpClient httpClient,
IHttpClientFactory httpClientFactory,
ILibraryManager libraryManager,
IUserManager userManager,
IDlnaManager dlnaManager,
@@ -85,7 +83,7 @@ namespace Emby.Dlna.Main
_config = config;
_appHost = appHost;
_sessionManager = sessionManager;
_httpClient = httpClient;
_httpClientFactory = httpClientFactory;
_libraryManager = libraryManager;
_userManager = userManager;
_dlnaManager = dlnaManager;
@@ -99,60 +97,88 @@ namespace Emby.Dlna.Main
_networkManager = networkManager;
_logger = loggerFactory.CreateLogger<DlnaEntryPoint>();
ContentDirectory = new ContentDirectory.ContentDirectory(
ContentDirectory = new ContentDirectory.ContentDirectoryService(
dlnaManager,
userDataManager,
imageProcessor,
libraryManager,
config,
userManager,
loggerFactory.CreateLogger<ContentDirectory.ContentDirectory>(),
httpClient,
loggerFactory.CreateLogger<ContentDirectory.ContentDirectoryService>(),
httpClientFactory,
localizationManager,
mediaSourceManager,
userViewManager,
mediaEncoder,
tvSeriesManager);
ConnectionManager = new ConnectionManager.ConnectionManager(
ConnectionManager = new ConnectionManager.ConnectionManagerService(
dlnaManager,
config,
loggerFactory.CreateLogger<ConnectionManager.ConnectionManager>(),
httpClient);
loggerFactory.CreateLogger<ConnectionManager.ConnectionManagerService>(),
httpClientFactory);
MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrar(
loggerFactory.CreateLogger<MediaReceiverRegistrar.MediaReceiverRegistrar>(),
httpClient,
MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
loggerFactory.CreateLogger<MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
httpClientFactory,
config);
Current = this;
var netConfig = config.GetConfiguration<NetworkConfiguration>("network");
_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);
await ReloadComponents().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 async void OnNamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
private void OnNamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
{
if (string.Equals(e.Key, "dlna", StringComparison.OrdinalIgnoreCase))
{
await ReloadComponents().ConfigureAwait(false);
ReloadComponents();
}
}
private async Task ReloadComponents()
private void ReloadComponents()
{
var options = _config.GetDlnaConfiguration();
Enabled = options.EnableServer;
StartSsdpHandler();
if (options.EnableServer)
{
await StartDevicePublisher(options).ConfigureAwait(false);
StartDevicePublisher(options);
}
else
{
@@ -175,8 +201,8 @@ namespace Emby.Dlna.Main
{
if (_communicationsServer == null)
{
var enableMultiSocketBinding = OperatingSystem.Id == OperatingSystemId.Windows ||
OperatingSystem.Id == OperatingSystemId.Linux;
var enableMultiSocketBinding = OperatingSystem.IsWindows() ||
OperatingSystem.IsLinux();
_communicationsServer = new SsdpCommunicationsServer(_socketFactory, _networkManager, _logger, enableMultiSocketBinding)
{
@@ -192,16 +218,14 @@ namespace Emby.Dlna.Main
}
}
private void LogMessage(string msg)
{
_logger.LogDebug(msg);
}
private void StartDeviceDiscovery(ISsdpCommunicationsServer communicationsServer)
{
try
{
((DeviceDiscovery)_deviceDiscovery).Start(communicationsServer);
if (communicationsServer != null)
{
((DeviceDiscovery)_deviceDiscovery).Start(communicationsServer);
}
}
catch (Exception ex)
{
@@ -222,7 +246,7 @@ namespace Emby.Dlna.Main
}
}
public async Task StartDevicePublisher(Configuration.DlnaOptions options)
public void StartDevicePublisher(Configuration.DlnaOptions options)
{
if (!options.BlastAliveMessages)
{
@@ -236,13 +260,18 @@ namespace Emby.Dlna.Main
try
{
_publisher = new SsdpDevicePublisher(_communicationsServer, _networkManager, OperatingSystem.Name, Environment.OSVersion.VersionString, _config.GetDlnaConfiguration().SendOnlyMatchedHost)
_publisher = new SsdpDevicePublisher(
_communicationsServer,
_networkManager,
MediaBrowser.Common.System.OperatingSystem.Name,
Environment.OSVersion.VersionString,
_config.GetDlnaConfiguration().SendOnlyMatchedHost)
{
LogFunction = LogMessage,
LogFunction = (msg) => _logger.LogDebug("{Msg}", msg),
SupportPnpRootDevice = false
};
await RegisterServerEndpoints().ConfigureAwait(false);
RegisterServerEndpoints();
_publisher.StartBroadcastingAliveMessages(TimeSpan.FromSeconds(options.BlastAliveMessageIntervalSeconds));
}
@@ -252,13 +281,22 @@ namespace Emby.Dlna.Main
}
}
private async Task RegisterServerEndpoints()
private void RegisterServerEndpoints()
{
var addresses = await _appHost.GetLocalIpAddresses(CancellationToken.None).ConfigureAwait(false);
var udn = CreateUuid(_appHost.SystemId);
var descriptorUri = "/dlna/" + udn + "/description.xml";
foreach (var address in addresses)
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)
{
@@ -267,24 +305,23 @@ namespace Emby.Dlna.Main
}
// Limit to LAN addresses only
if (!_networkManager.IsAddressInSubnets(address, true, true))
if (!_networkManager.IsInLocalNetwork(address))
{
continue;
}
var fullService = "urn:schemas-upnp-org:device:MediaServer:1";
_logger.LogInformation("Registering publisher for {0} on {1}", fullService, address);
_logger.LogInformation("Registering publisher for {ResourceName} on {DeviceAddress}", fullService, address);
var descriptorUri = "/dlna/" + udn + "/description.xml";
var uri = new Uri(_appHost.GetLocalApiUrl(address) + descriptorUri);
var uri = new UriBuilder(_appHost.GetApiUrlForLocalAccess(false) + descriptorUri);
var device = new SsdpRootDevice
{
CacheLifetime = TimeSpan.FromSeconds(1800), // How long SSDP clients can cache this info.
Location = uri, // Must point to the URL that serves your devices UPnP description document.
Address = address,
SubnetMask = _networkManager.GetLocalIpSubnetMask(address),
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",
@@ -362,7 +399,7 @@ namespace Emby.Dlna.Main
_appHost,
_imageProcessor,
_deviceDiscovery,
_httpClient,
_httpClientFactory,
_config,
_userDataManager,
_localization,
@@ -399,8 +436,24 @@ namespace Emby.Dlna.Main
}
}
public void DisposeDevicePublisher()
{
if (_publisher != null)
{
_logger.LogInformation("Disposing SsdpDevicePublisher");
_publisher.Dispose();
_publisher = null;
}
}
/// <inheritdoc />
public void Dispose()
{
if (_disposed)
{
return;
}
DisposeDevicePublisher();
DisposePlayToManager();
DisposeDeviceDiscovery();
@@ -416,16 +469,8 @@ namespace Emby.Dlna.Main
ConnectionManager = null;
MediaReceiverRegistrar = null;
Current = null;
}
public void DisposeDevicePublisher()
{
if (_publisher != null)
{
_logger.LogInformation("Disposing SsdpDevicePublisher");
_publisher.Dispose();
_publisher = null;
}
_disposed = true;
}
}
}

View File

@@ -1,5 +1,3 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Xml;
@@ -10,15 +8,23 @@ 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, IDictionary<string, string> methodParams, XmlWriter xmlWriter)
protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
{
if (string.Equals(methodName, "IsAuthorized", StringComparison.OrdinalIgnoreCase))
{
@@ -35,9 +41,17 @@ namespace Emby.Dlna.MediaReceiverRegistrar
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,39 +0,0 @@
#pragma warning disable CS1591
using System.Threading.Tasks;
using Emby.Dlna.Service;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.MediaReceiverRegistrar
{
public class MediaReceiverRegistrar : BaseService, IMediaReceiverRegistrar
{
private readonly IServerConfigurationManager _config;
public MediaReceiverRegistrar(
ILogger<MediaReceiverRegistrar> logger,
IHttpClient httpClient,
IServerConfigurationManager config)
: base(logger, httpClient)
{
_config = config;
}
/// <inheritdoc />
public string GetServiceXml()
{
return new MediaReceiverRegistrarXmlBuilder().GetXml();
}
/// <inheritdoc />
public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
{
return new ControlHandler(
_config,
Logger)
.ProcessControlRequestAsync(request);
}
}
}

View File

@@ -0,0 +1,46 @@
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,78 +1,88 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
using Emby.Dlna.Service;
namespace Emby.Dlna.MediaReceiverRegistrar
{
public class MediaReceiverRegistrarXmlBuilder
/// <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
{
public string GetXml()
/// <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(new ServiceActionListBuilder().GetActions(),
GetStateVariables());
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>();
list.Add(new StateVariable
var list = new List<StateVariable>
{
Name = "AuthorizationGrantedUpdateID",
DataType = "ui4",
SendsEvents = true
});
new StateVariable
{
Name = "AuthorizationGrantedUpdateID",
DataType = "ui4",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_DeviceID",
DataType = "string",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_DeviceID",
DataType = "string",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "AuthorizationDeniedUpdateID",
DataType = "ui4",
SendsEvents = true
});
new StateVariable
{
Name = "AuthorizationDeniedUpdateID",
DataType = "ui4",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "ValidationSucceededUpdateID",
DataType = "ui4",
SendsEvents = true
});
new StateVariable
{
Name = "ValidationSucceededUpdateID",
DataType = "ui4",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_RegistrationRespMsg",
DataType = "bin.base64",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_RegistrationRespMsg",
DataType = "bin.base64",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_RegistrationReqMsg",
DataType = "bin.base64",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_RegistrationReqMsg",
DataType = "bin.base64",
SendsEvents = false
},
list.Add(new StateVariable
{
Name = "ValidationRevokedUpdateID",
DataType = "ui4",
SendsEvents = true
});
new StateVariable
{
Name = "ValidationRevokedUpdateID",
DataType = "ui4",
SendsEvents = true
},
list.Add(new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "int",
SendsEvents = false
});
new StateVariable
{
Name = "A_ARG_TYPE_Result",
DataType = "int",
SendsEvents = false
}
};
return list;
}

View File

@@ -1,13 +1,18 @@
#pragma warning disable CS1591
using System.Collections.Generic;
using Emby.Dlna.Common;
namespace Emby.Dlna.MediaReceiverRegistrar
{
public class ServiceActionListBuilder
/// <summary>
/// Defines the <see cref="ServiceActionListBuilder" />.
/// </summary>
public static class ServiceActionListBuilder
{
public IEnumerable<ServiceAction> GetActions()
/// <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[]
{
@@ -21,6 +26,10 @@ namespace Emby.Dlna.MediaReceiverRegistrar
};
}
/// <summary>
/// Returns the action details for "IsValidated".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetIsValidated()
{
var action = new ServiceAction
@@ -43,6 +52,10 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
/// <summary>
/// Returns the action details for "IsAuthorized".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetIsAuthorized()
{
var action = new ServiceAction
@@ -65,6 +78,10 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
/// <summary>
/// Returns the action details for "RegisterDevice".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetRegisterDevice()
{
var action = new ServiceAction
@@ -87,6 +104,10 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
/// <summary>
/// Returns the action details for "GetValidationSucceededUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetValidationSucceededUpdateID()
{
var action = new ServiceAction
@@ -103,7 +124,11 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
private ServiceAction GetGetAuthorizationDeniedUpdateID()
/// <summary>
/// Returns the action details for "GetGetAuthorizationDeniedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetAuthorizationDeniedUpdateID()
{
var action = new ServiceAction
{
@@ -119,7 +144,11 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
private ServiceAction GetGetValidationRevokedUpdateID()
/// <summary>
/// Returns the action details for "GetValidationRevokedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetValidationRevokedUpdateID()
{
var action = new ServiceAction
{
@@ -135,7 +164,11 @@ namespace Emby.Dlna.MediaReceiverRegistrar
return action;
}
private ServiceAction GetGetAuthorizationGrantedUpdateID()
/// <summary>
/// Returns the action details for "GetAuthorizationGrantedUpdateID".
/// </summary>
/// <returns>The <see cref="ServiceAction"/>.</returns>
private static ServiceAction GetGetAuthorizationGrantedUpdateID()
{
var action = new ServiceAction
{

View File

@@ -1,33 +1,57 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Net.Http;
using System.Security;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using Emby.Dlna.Common;
using Emby.Dlna.Server;
using Emby.Dlna.Ssdp;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.PlayTo
{
public class Device : IDisposable
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILogger _logger;
private readonly object _timerLock = new object();
private Timer _timer;
private int _muteVol;
private int _volume;
private DateTime _lastVolumeRefresh;
private bool _volumeRefreshActive;
private int _connectFailureCount;
private bool _disposed;
public Device(DeviceInfo deviceProperties, IHttpClientFactory httpClientFactory, ILogger logger)
{
Properties = deviceProperties;
_httpClientFactory = httpClientFactory;
_logger = logger;
}
public event EventHandler<PlaybackStartEventArgs> PlaybackStart;
public event EventHandler<PlaybackProgressEventArgs> PlaybackProgress;
public event EventHandler<PlaybackStoppedEventArgs> PlaybackStopped;
public event EventHandler<MediaChangedEventArgs> MediaChanged;
public DeviceInfo Properties { get; set; }
private int _muteVol;
public bool IsMuted { get; set; }
private int _volume;
public int Volume
{
get
@@ -43,29 +67,21 @@ namespace Emby.Dlna.PlayTo
public TimeSpan Position { get; set; } = TimeSpan.FromSeconds(0);
public TRANSPORTSTATE TransportState { get; private set; }
public TransportState TransportState { get; private set; }
public bool IsPlaying => TransportState == TRANSPORTSTATE.PLAYING;
public bool IsPlaying => TransportState == TransportState.Playing;
public bool IsPaused => TransportState == TRANSPORTSTATE.PAUSED || TransportState == TRANSPORTSTATE.PAUSED_PLAYBACK;
public bool IsPaused => TransportState == TransportState.Paused || TransportState == TransportState.PausedPlayback;
public bool IsStopped => TransportState == TRANSPORTSTATE.STOPPED;
private readonly IHttpClient _httpClient;
private readonly ILogger _logger;
private readonly IServerConfigurationManager _config;
public bool IsStopped => TransportState == TransportState.Stopped;
public Action OnDeviceUnavailable { get; set; }
public Device(DeviceInfo deviceProperties, IHttpClient httpClient, ILogger logger, IServerConfigurationManager config)
{
Properties = deviceProperties;
_httpClient = httpClient;
_logger = logger;
_config = config;
}
private TransportCommands AvCommands { get; set; }
private TransportCommands RendererCommands { get; set; }
public UBaseObject CurrentMediaInfo { get; private set; }
public void Start()
{
@@ -73,8 +89,6 @@ namespace Emby.Dlna.PlayTo
_timer = new Timer(TimerCallback, null, 1000, Timeout.Infinite);
}
private DateTime _lastVolumeRefresh;
private bool _volumeRefreshActive;
private Task RefreshVolumeIfNeeded()
{
if (_volumeRefreshActive
@@ -105,7 +119,6 @@ namespace Emby.Dlna.PlayTo
}
}
private readonly object _timerLock = new object();
private void RestartTimer(bool immediate = false)
{
lock (_timerLock)
@@ -206,7 +219,7 @@ namespace Emby.Dlna.PlayTo
{
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = rendererCommands.ServiceActions.FirstOrDefault(c => c.Name == "SetMute");
var command = rendererCommands?.ServiceActions.FirstOrDefault(c => c.Name == "SetMute");
if (command == null)
{
return false;
@@ -222,7 +235,13 @@ namespace Emby.Dlna.PlayTo
_logger.LogDebug("Setting mute");
var value = mute ? 1 : 0;
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, rendererCommands.BuildPost(command, service.ServiceType, value))
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
rendererCommands.BuildPost(command, service.ServiceType, value),
cancellationToken: cancellationToken)
.ConfigureAwait(false);
IsMuted = mute;
@@ -233,11 +252,14 @@ namespace Emby.Dlna.PlayTo
/// <summary>
/// Sets volume on a scale of 0-100.
/// </summary>
/// <param name="value">The volume on a scale of 0-100.</param>
/// <param name="cancellationToken">The cancellation token to cancel operation.</param>
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
public async Task SetVolume(int value, CancellationToken cancellationToken)
{
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = rendererCommands.ServiceActions.FirstOrDefault(c => c.Name == "SetVolume");
var command = rendererCommands?.ServiceActions.FirstOrDefault(c => c.Name == "SetVolume");
if (command == null)
{
return;
@@ -254,7 +276,13 @@ namespace Emby.Dlna.PlayTo
// Remote control will perform better
Volume = value;
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, rendererCommands.BuildPost(command, service.ServiceType, value))
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
rendererCommands.BuildPost(command, service.ServiceType, value),
cancellationToken: cancellationToken)
.ConfigureAwait(false);
}
@@ -262,7 +290,7 @@ namespace Emby.Dlna.PlayTo
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "Seek");
var command = avCommands?.ServiceActions.FirstOrDefault(c => c.Name == "Seek");
if (command == null)
{
return;
@@ -275,7 +303,13 @@ namespace Emby.Dlna.PlayTo
throw new InvalidOperationException("Unable to find service");
}
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, avCommands.BuildPost(command, service.ServiceType, string.Format("{0:hh}:{0:mm}:{0:ss}", value), "REL_TIME"))
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
avCommands.BuildPost(command, service.ServiceType, string.Format(CultureInfo.InvariantCulture, "{0:hh}:{0:mm}:{0:ss}", value), "REL_TIME"),
cancellationToken: cancellationToken)
.ConfigureAwait(false);
RestartTimer(true);
@@ -285,11 +319,11 @@ namespace Emby.Dlna.PlayTo
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
url = url.Replace("&", "&amp;");
url = url.Replace("&", "&amp;", StringComparison.Ordinal);
_logger.LogDebug("{0} - SetAvTransport Uri: {1} DlnaHeaders: {2}", Properties.Name, url, header);
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "SetAVTransportURI");
var command = avCommands?.ServiceActions.FirstOrDefault(c => c.Name == "SetAVTransportURI");
if (command == null)
{
return;
@@ -297,8 +331,8 @@ namespace Emby.Dlna.PlayTo
var dictionary = new Dictionary<string, string>
{
{"CurrentURI", url},
{"CurrentURIMetaData", CreateDidlMeta(metaData)}
{ "CurrentURI", url },
{ "CurrentURIMetaData", CreateDidlMeta(metaData) }
};
var service = GetAvTransportService();
@@ -309,14 +343,21 @@ namespace Emby.Dlna.PlayTo
}
var post = avCommands.BuildPost(command, service.ServiceType, url, dictionary);
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, post, header: header)
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
post,
header: header,
cancellationToken: cancellationToken)
.ConfigureAwait(false);
await Task.Delay(50).ConfigureAwait(false);
await Task.Delay(50, cancellationToken).ConfigureAwait(false);
try
{
await SetPlay(avCommands, CancellationToken.None).ConfigureAwait(false);
await SetPlay(avCommands, cancellationToken).ConfigureAwait(false);
}
catch
{
@@ -327,14 +368,50 @@ namespace Emby.Dlna.PlayTo
RestartTimer(true);
}
private string CreateDidlMeta(string value)
/*
* SetNextAvTransport is used to specify to the DLNA device what is the next track to play.
* Without that information, the next track command on the device does not work.
*/
public async Task SetNextAvTransport(string url, string header, string metaData, CancellationToken cancellationToken = default)
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
url = url.Replace("&", "&amp;", StringComparison.Ordinal);
_logger.LogDebug("{PropertyName} - SetNextAvTransport Uri: {Url} DlnaHeaders: {Header}", Properties.Name, url, header);
var command = avCommands.ServiceActions.FirstOrDefault(c => string.Equals(c.Name, "SetNextAVTransportURI", StringComparison.OrdinalIgnoreCase));
if (command == null)
{
return;
}
var dictionary = new Dictionary<string, string>
{
{ "NextURI", url },
{ "NextURIMetaData", CreateDidlMeta(metaData) }
};
var service = GetAvTransportService();
if (service == null)
{
throw new InvalidOperationException("Unable to find service");
}
var post = avCommands.BuildPost(command, service.ServiceType, url, dictionary);
await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(Properties.BaseUrl, service, command.Name, post, header: header, cancellationToken)
.ConfigureAwait(false);
}
private static string CreateDidlMeta(string value)
{
if (string.IsNullOrEmpty(value))
{
return string.Empty;
}
return DescriptionXmlBuilder.Escape(value);
return SecurityElement.Escape(value);
}
private Task SetPlay(TransportCommands avCommands, CancellationToken cancellationToken)
@@ -351,7 +428,7 @@ namespace Emby.Dlna.PlayTo
throw new InvalidOperationException("Unable to find service");
}
return new SsdpHttpClient(_httpClient).SendCommandAsync(
return new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -362,6 +439,10 @@ namespace Emby.Dlna.PlayTo
public async Task SetPlay(CancellationToken cancellationToken)
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
if (avCommands == null)
{
return;
}
await SetPlay(avCommands, cancellationToken).ConfigureAwait(false);
@@ -372,7 +453,7 @@ namespace Emby.Dlna.PlayTo
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "Stop");
var command = avCommands?.ServiceActions.FirstOrDefault(c => c.Name == "Stop");
if (command == null)
{
return;
@@ -380,7 +461,13 @@ namespace Emby.Dlna.PlayTo
var service = GetAvTransportService();
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, avCommands.BuildPost(command, service.ServiceType, 1))
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
avCommands.BuildPost(command, service.ServiceType, 1),
cancellationToken: cancellationToken)
.ConfigureAwait(false);
RestartTimer(true);
@@ -390,7 +477,7 @@ namespace Emby.Dlna.PlayTo
{
var avCommands = await GetAVProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "Pause");
var command = avCommands?.ServiceActions.FirstOrDefault(c => c.Name == "Pause");
if (command == null)
{
return;
@@ -398,16 +485,20 @@ namespace Emby.Dlna.PlayTo
var service = GetAvTransportService();
await new SsdpHttpClient(_httpClient).SendCommandAsync(Properties.BaseUrl, service, command.Name, avCommands.BuildPost(command, service.ServiceType, 1))
await new SsdpHttpClient(_httpClientFactory)
.SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
avCommands.BuildPost(command, service.ServiceType, 1),
cancellationToken: cancellationToken)
.ConfigureAwait(false);
TransportState = TRANSPORTSTATE.PAUSED;
TransportState = TransportState.Paused;
RestartTimer(true);
}
private int _connectFailureCount;
private async void TimerCallback(object sender)
{
if (_disposed)
@@ -436,7 +527,7 @@ namespace Emby.Dlna.PlayTo
if (transportState.HasValue)
{
// If we're not playing anything no need to get additional data
if (transportState.Value == TRANSPORTSTATE.STOPPED)
if (transportState.Value == TransportState.Stopped)
{
UpdateMediaInfo(null, transportState.Value);
}
@@ -464,8 +555,8 @@ namespace Emby.Dlna.PlayTo
return;
}
// If we're not playing anything make sure we don't get data more often than neccessry to keep the Session alive
if (transportState.Value == TRANSPORTSTATE.STOPPED)
// If we're not playing anything make sure we don't get data more often than necessary to keep the Session alive
if (transportState.Value == TransportState.Stopped)
{
RestartTimerInactive();
}
@@ -514,7 +605,7 @@ namespace Emby.Dlna.PlayTo
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = rendererCommands.ServiceActions.FirstOrDefault(c => c.Name == "GetVolume");
var command = rendererCommands?.ServiceActions.FirstOrDefault(c => c.Name == "GetVolume");
if (command == null)
{
return;
@@ -527,7 +618,7 @@ namespace Emby.Dlna.PlayTo
return;
}
var result = await new SsdpHttpClient(_httpClient).SendCommandAsync(
var result = await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -539,7 +630,7 @@ namespace Emby.Dlna.PlayTo
return;
}
var volume = result.Document.Descendants(uPnpNamespaces.RenderingControl + "GetVolumeResponse").Select(i => i.Element("CurrentVolume")).FirstOrDefault(i => i != null);
var volume = result.Document.Descendants(UPnpNamespaces.RenderingControl + "GetVolumeResponse").Select(i => i.Element("CurrentVolume")).FirstOrDefault(i => i != null);
var volumeValue = volume?.Value;
if (string.IsNullOrWhiteSpace(volumeValue))
@@ -547,7 +638,7 @@ namespace Emby.Dlna.PlayTo
return;
}
Volume = int.Parse(volumeValue, UsCulture);
Volume = int.Parse(volumeValue, CultureInfo.InvariantCulture);
if (Volume > 0)
{
@@ -564,7 +655,7 @@ namespace Emby.Dlna.PlayTo
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
var command = rendererCommands.ServiceActions.FirstOrDefault(c => c.Name == "GetMute");
var command = rendererCommands?.ServiceActions.FirstOrDefault(c => c.Name == "GetMute");
if (command == null)
{
return;
@@ -577,7 +668,7 @@ namespace Emby.Dlna.PlayTo
return;
}
var result = await new SsdpHttpClient(_httpClient).SendCommandAsync(
var result = await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -589,14 +680,14 @@ namespace Emby.Dlna.PlayTo
return;
}
var valueNode = result.Document.Descendants(uPnpNamespaces.RenderingControl + "GetMuteResponse")
var valueNode = result.Document.Descendants(UPnpNamespaces.RenderingControl + "GetMuteResponse")
.Select(i => i.Element("CurrentMute"))
.FirstOrDefault(i => i != null);
IsMuted = string.Equals(valueNode?.Value, "1", StringComparison.OrdinalIgnoreCase);
}
private async Task<TRANSPORTSTATE?> GetTransportInfo(TransportCommands avCommands, CancellationToken cancellationToken)
private async Task<TransportState?> GetTransportInfo(TransportCommands avCommands, CancellationToken cancellationToken)
{
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "GetTransportInfo");
if (command == null)
@@ -610,7 +701,7 @@ namespace Emby.Dlna.PlayTo
return null;
}
var result = await new SsdpHttpClient(_httpClient).SendCommandAsync(
var result = await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -623,12 +714,12 @@ namespace Emby.Dlna.PlayTo
}
var transportState =
result.Document.Descendants(uPnpNamespaces.AvTransport + "GetTransportInfoResponse").Select(i => i.Element("CurrentTransportState")).FirstOrDefault(i => i != null);
result.Document.Descendants(UPnpNamespaces.AvTransport + "GetTransportInfoResponse").Select(i => i.Element("CurrentTransportState")).FirstOrDefault(i => i != null);
var transportStateValue = transportState?.Value;
if (transportStateValue != null
&& Enum.TryParse(transportStateValue, true, out TRANSPORTSTATE state))
&& Enum.TryParse(transportStateValue, true, out TransportState state))
{
return state;
}
@@ -636,7 +727,7 @@ namespace Emby.Dlna.PlayTo
return null;
}
private async Task<uBaseObject> GetMediaInfo(TransportCommands avCommands, CancellationToken cancellationToken)
private async Task<UBaseObject> GetMediaInfo(TransportCommands avCommands, CancellationToken cancellationToken)
{
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "GetMediaInfo");
if (command == null)
@@ -651,8 +742,12 @@ namespace Emby.Dlna.PlayTo
}
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
if (rendererCommands == null)
{
return null;
}
var result = await new SsdpHttpClient(_httpClient).SendCommandAsync(
var result = await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -671,7 +766,7 @@ namespace Emby.Dlna.PlayTo
return null;
}
var e = track.Element(uPnpNamespaces.items) ?? track;
var e = track.Element(UPnpNamespaces.Items) ?? track;
var elementString = (string)e;
@@ -687,13 +782,13 @@ namespace Emby.Dlna.PlayTo
return null;
}
e = track.Element(uPnpNamespaces.items) ?? track;
e = track.Element(UPnpNamespaces.Items) ?? track;
elementString = (string)e;
if (!string.IsNullOrWhiteSpace(elementString))
{
return new uBaseObject
return new UBaseObject
{
Url = elementString
};
@@ -702,7 +797,7 @@ namespace Emby.Dlna.PlayTo
return null;
}
private async Task<(bool, uBaseObject)> GetPositionInfo(TransportCommands avCommands, CancellationToken cancellationToken)
private async Task<(bool, UBaseObject)> GetPositionInfo(TransportCommands avCommands, CancellationToken cancellationToken)
{
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "GetPositionInfo");
if (command == null)
@@ -719,7 +814,12 @@ namespace Emby.Dlna.PlayTo
var rendererCommands = await GetRenderingProtocolAsync(cancellationToken).ConfigureAwait(false);
var result = await new SsdpHttpClient(_httpClient).SendCommandAsync(
if (rendererCommands == null)
{
return (false, null);
}
var result = await new SsdpHttpClient(_httpClientFactory).SendCommandAsync(
Properties.BaseUrl,
service,
command.Name,
@@ -731,35 +831,35 @@ namespace Emby.Dlna.PlayTo
return (false, null);
}
var trackUriElem = result.Document.Descendants(uPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("TrackURI")).FirstOrDefault(i => i != null);
var trackUri = trackUriElem == null ? null : trackUriElem.Value;
var trackUriElem = result.Document.Descendants(UPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("TrackURI")).FirstOrDefault(i => i != null);
var trackUri = trackUriElem?.Value;
var durationElem = result.Document.Descendants(uPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("TrackDuration")).FirstOrDefault(i => i != null);
var duration = durationElem == null ? null : durationElem.Value;
var durationElem = result.Document.Descendants(UPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("TrackDuration")).FirstOrDefault(i => i != null);
var duration = durationElem?.Value;
if (!string.IsNullOrWhiteSpace(duration)
&& !string.Equals(duration, "NOT_IMPLEMENTED", StringComparison.OrdinalIgnoreCase))
{
Duration = TimeSpan.Parse(duration, UsCulture);
Duration = TimeSpan.Parse(duration, CultureInfo.InvariantCulture);
}
else
{
Duration = null;
}
var positionElem = result.Document.Descendants(uPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("RelTime")).FirstOrDefault(i => i != null);
var position = positionElem == null ? null : positionElem.Value;
var positionElem = result.Document.Descendants(UPnpNamespaces.AvTransport + "GetPositionInfoResponse").Select(i => i.Element("RelTime")).FirstOrDefault(i => i != null);
var position = positionElem?.Value;
if (!string.IsNullOrWhiteSpace(position) && !string.Equals(position, "NOT_IMPLEMENTED", StringComparison.OrdinalIgnoreCase))
{
Position = TimeSpan.Parse(position, UsCulture);
Position = TimeSpan.Parse(position, CultureInfo.InvariantCulture);
}
var track = result.Document.Descendants("TrackMetaData").FirstOrDefault();
if (track == null)
{
// If track is null, some vendors do this, use GetMediaInfo instead
// If track is null, some vendors do this, use GetMediaInfo instead.
return (true, null);
}
@@ -787,7 +887,7 @@ namespace Emby.Dlna.PlayTo
return (true, null);
}
var e = uPnpResponse.Element(uPnpNamespaces.items);
var e = uPnpResponse.Element(UPnpNamespaces.Items);
var uTrack = CreateUBaseObject(e, trackUri);
@@ -796,7 +896,7 @@ namespace Emby.Dlna.PlayTo
private XElement ParseResponse(string xml)
{
// Handle different variations sent back by devices
// Handle different variations sent back by devices.
try
{
return XElement.Parse(xml);
@@ -805,7 +905,7 @@ namespace Emby.Dlna.PlayTo
{
}
// first try to add a root node with a dlna namesapce
// first try to add a root node with a dlna namespace.
try
{
return XElement.Parse("<data xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\">" + xml + "</data>")
@@ -819,7 +919,7 @@ namespace Emby.Dlna.PlayTo
// some devices send back invalid xml
try
{
return XElement.Parse(xml.Replace("&", "&amp;"));
return XElement.Parse(xml.Replace("&", "&amp;", StringComparison.Ordinal));
}
catch (XmlException)
{
@@ -828,27 +928,27 @@ namespace Emby.Dlna.PlayTo
return null;
}
private static uBaseObject CreateUBaseObject(XElement container, string trackUri)
private static UBaseObject CreateUBaseObject(XElement container, string trackUri)
{
if (container == null)
{
throw new ArgumentNullException(nameof(container));
}
var url = container.GetValue(uPnpNamespaces.Res);
var url = container.GetValue(UPnpNamespaces.Res);
if (string.IsNullOrWhiteSpace(url))
{
url = trackUri;
}
return new uBaseObject
return new UBaseObject
{
Id = container.GetAttributeValue(uPnpNamespaces.Id),
ParentId = container.GetAttributeValue(uPnpNamespaces.ParentId),
Title = container.GetValue(uPnpNamespaces.title),
IconUrl = container.GetValue(uPnpNamespaces.Artwork),
SecondText = "",
Id = container.GetAttributeValue(UPnpNamespaces.Id),
ParentId = container.GetAttributeValue(UPnpNamespaces.ParentId),
Title = container.GetValue(UPnpNamespaces.Title),
IconUrl = container.GetValue(UPnpNamespaces.Artwork),
SecondText = string.Empty,
Url = url,
ProtocolInfo = GetProtocolInfo(container),
MetaData = container.ToString()
@@ -862,11 +962,11 @@ namespace Emby.Dlna.PlayTo
throw new ArgumentNullException(nameof(container));
}
var resElement = container.Element(uPnpNamespaces.Res);
var resElement = container.Element(UPnpNamespaces.Res);
if (resElement != null)
{
var info = resElement.Attribute(uPnpNamespaces.ProtocolInfo);
var info = resElement.Attribute(UPnpNamespaces.ProtocolInfo);
if (info != null && !string.IsNullOrWhiteSpace(info.Value))
{
@@ -897,9 +997,13 @@ namespace Emby.Dlna.PlayTo
string url = NormalizeUrl(Properties.BaseUrl, avService.ScpdUrl);
var httpClient = new SsdpHttpClient(_httpClient);
var httpClient = new SsdpHttpClient(_httpClientFactory);
var document = await httpClient.GetDataAsync(url, cancellationToken).ConfigureAwait(false);
if (document == null)
{
return null;
}
AvCommands = TransportCommands.Create(document);
return AvCommands;
@@ -925,9 +1029,13 @@ namespace Emby.Dlna.PlayTo
string url = NormalizeUrl(Properties.BaseUrl, avService.ScpdUrl);
var httpClient = new SsdpHttpClient(_httpClient);
var httpClient = new SsdpHttpClient(_httpClientFactory);
_logger.LogDebug("Dlna Device.GetRenderingProtocolAsync");
var document = await httpClient.GetDataAsync(url, cancellationToken).ConfigureAwait(false);
if (document == null)
{
return null;
}
RendererCommands = TransportCommands.Create(document);
return RendererCommands;
@@ -941,12 +1049,12 @@ namespace Emby.Dlna.PlayTo
return url;
}
if (!url.Contains("/"))
if (!url.Contains('/', StringComparison.Ordinal))
{
url = "/dmr/" + url;
}
if (!url.StartsWith("/"))
if (!url.StartsWith('/'))
{
url = "/" + url;
}
@@ -954,25 +1062,25 @@ namespace Emby.Dlna.PlayTo
return baseUrl + url;
}
private TransportCommands AvCommands { get; set; }
private TransportCommands RendererCommands { get; set; }
public static async Task<Device> CreateuPnpDeviceAsync(Uri url, IHttpClient httpClient, IServerConfigurationManager config, ILogger logger, CancellationToken cancellationToken)
public static async Task<Device> CreateuPnpDeviceAsync(Uri url, IHttpClientFactory httpClientFactory, ILogger logger, CancellationToken cancellationToken)
{
var ssdpHttpClient = new SsdpHttpClient(httpClient);
var ssdpHttpClient = new SsdpHttpClient(httpClientFactory);
var document = await ssdpHttpClient.GetDataAsync(url.ToString(), cancellationToken).ConfigureAwait(false);
if (document == null)
{
return null;
}
var friendlyNames = new List<string>();
var name = document.Descendants(uPnpNamespaces.ud.GetName("friendlyName")).FirstOrDefault();
var name = document.Descendants(UPnpNamespaces.Ud.GetName("friendlyName")).FirstOrDefault();
if (name != null && !string.IsNullOrWhiteSpace(name.Value))
{
friendlyNames.Add(name.Value);
}
var room = document.Descendants(uPnpNamespaces.ud.GetName("roomName")).FirstOrDefault();
var room = document.Descendants(UPnpNamespaces.Ud.GetName("roomName")).FirstOrDefault();
if (room != null && !string.IsNullOrWhiteSpace(room.Value))
{
friendlyNames.Add(room.Value);
@@ -980,78 +1088,78 @@ namespace Emby.Dlna.PlayTo
var deviceProperties = new DeviceInfo()
{
Name = string.Join(" ", friendlyNames),
BaseUrl = string.Format("http://{0}:{1}", url.Host, url.Port)
Name = string.Join(' ', friendlyNames),
BaseUrl = string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}", url.Host, url.Port)
};
var model = document.Descendants(uPnpNamespaces.ud.GetName("modelName")).FirstOrDefault();
var model = document.Descendants(UPnpNamespaces.Ud.GetName("modelName")).FirstOrDefault();
if (model != null)
{
deviceProperties.ModelName = model.Value;
}
var modelNumber = document.Descendants(uPnpNamespaces.ud.GetName("modelNumber")).FirstOrDefault();
var modelNumber = document.Descendants(UPnpNamespaces.Ud.GetName("modelNumber")).FirstOrDefault();
if (modelNumber != null)
{
deviceProperties.ModelNumber = modelNumber.Value;
}
var uuid = document.Descendants(uPnpNamespaces.ud.GetName("UDN")).FirstOrDefault();
var uuid = document.Descendants(UPnpNamespaces.Ud.GetName("UDN")).FirstOrDefault();
if (uuid != null)
{
deviceProperties.UUID = uuid.Value;
}
var manufacturer = document.Descendants(uPnpNamespaces.ud.GetName("manufacturer")).FirstOrDefault();
var manufacturer = document.Descendants(UPnpNamespaces.Ud.GetName("manufacturer")).FirstOrDefault();
if (manufacturer != null)
{
deviceProperties.Manufacturer = manufacturer.Value;
}
var manufacturerUrl = document.Descendants(uPnpNamespaces.ud.GetName("manufacturerURL")).FirstOrDefault();
var manufacturerUrl = document.Descendants(UPnpNamespaces.Ud.GetName("manufacturerURL")).FirstOrDefault();
if (manufacturerUrl != null)
{
deviceProperties.ManufacturerUrl = manufacturerUrl.Value;
}
var presentationUrl = document.Descendants(uPnpNamespaces.ud.GetName("presentationURL")).FirstOrDefault();
var presentationUrl = document.Descendants(UPnpNamespaces.Ud.GetName("presentationURL")).FirstOrDefault();
if (presentationUrl != null)
{
deviceProperties.PresentationUrl = presentationUrl.Value;
}
var modelUrl = document.Descendants(uPnpNamespaces.ud.GetName("modelURL")).FirstOrDefault();
var modelUrl = document.Descendants(UPnpNamespaces.Ud.GetName("modelURL")).FirstOrDefault();
if (modelUrl != null)
{
deviceProperties.ModelUrl = modelUrl.Value;
}
var serialNumber = document.Descendants(uPnpNamespaces.ud.GetName("serialNumber")).FirstOrDefault();
var serialNumber = document.Descendants(UPnpNamespaces.Ud.GetName("serialNumber")).FirstOrDefault();
if (serialNumber != null)
{
deviceProperties.SerialNumber = serialNumber.Value;
}
var modelDescription = document.Descendants(uPnpNamespaces.ud.GetName("modelDescription")).FirstOrDefault();
var modelDescription = document.Descendants(UPnpNamespaces.Ud.GetName("modelDescription")).FirstOrDefault();
if (modelDescription != null)
{
deviceProperties.ModelDescription = modelDescription.Value;
}
var icon = document.Descendants(uPnpNamespaces.ud.GetName("icon")).FirstOrDefault();
var icon = document.Descendants(UPnpNamespaces.Ud.GetName("icon")).FirstOrDefault();
if (icon != null)
{
deviceProperties.Icon = CreateIcon(icon);
}
foreach (var services in document.Descendants(uPnpNamespaces.ud.GetName("serviceList")))
foreach (var services in document.Descendants(UPnpNamespaces.Ud.GetName("serviceList")))
{
if (services == null)
{
continue;
}
var servicesList = services.Descendants(uPnpNamespaces.ud.GetName("service"));
var servicesList = services.Descendants(UPnpNamespaces.Ud.GetName("service"));
if (servicesList == null)
{
continue;
@@ -1068,10 +1176,9 @@ namespace Emby.Dlna.PlayTo
}
}
return new Device(deviceProperties, httpClient, logger, config);
return new Device(deviceProperties, httpClientFactory, logger);
}
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
private static DeviceIcon CreateIcon(XElement element)
{
if (element == null)
@@ -1079,14 +1186,14 @@ namespace Emby.Dlna.PlayTo
throw new ArgumentNullException(nameof(element));
}
var mimeType = element.GetDescendantValue(uPnpNamespaces.ud.GetName("mimetype"));
var width = element.GetDescendantValue(uPnpNamespaces.ud.GetName("width"));
var height = element.GetDescendantValue(uPnpNamespaces.ud.GetName("height"));
var depth = element.GetDescendantValue(uPnpNamespaces.ud.GetName("depth"));
var url = element.GetDescendantValue(uPnpNamespaces.ud.GetName("url"));
var mimeType = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("mimetype"));
var width = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("width"));
var height = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("height"));
var depth = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("depth"));
var url = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("url"));
var widthValue = int.Parse(width, NumberStyles.Integer, UsCulture);
var heightValue = int.Parse(height, NumberStyles.Integer, UsCulture);
var widthValue = int.Parse(width, NumberStyles.Integer, CultureInfo.InvariantCulture);
var heightValue = int.Parse(height, NumberStyles.Integer, CultureInfo.InvariantCulture);
return new DeviceIcon
{
@@ -1100,11 +1207,11 @@ namespace Emby.Dlna.PlayTo
private static DeviceService Create(XElement element)
{
var type = element.GetDescendantValue(uPnpNamespaces.ud.GetName("serviceType"));
var id = element.GetDescendantValue(uPnpNamespaces.ud.GetName("serviceId"));
var scpdUrl = element.GetDescendantValue(uPnpNamespaces.ud.GetName("SCPDURL"));
var controlURL = element.GetDescendantValue(uPnpNamespaces.ud.GetName("controlURL"));
var eventSubURL = element.GetDescendantValue(uPnpNamespaces.ud.GetName("eventSubURL"));
var type = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("serviceType"));
var id = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("serviceId"));
var scpdUrl = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("SCPDURL"));
var controlURL = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("controlURL"));
var eventSubURL = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("eventSubURL"));
return new DeviceService
{
@@ -1116,14 +1223,7 @@ namespace Emby.Dlna.PlayTo
};
}
public event EventHandler<PlaybackStartEventArgs> PlaybackStart;
public event EventHandler<PlaybackProgressEventArgs> PlaybackProgress;
public event EventHandler<PlaybackStoppedEventArgs> PlaybackStopped;
public event EventHandler<MediaChangedEventArgs> MediaChanged;
public uBaseObject CurrentMediaInfo { get; private set; }
private void UpdateMediaInfo(uBaseObject mediaInfo, TRANSPORTSTATE state)
private void UpdateMediaInfo(UBaseObject mediaInfo, TransportState state)
{
TransportState = state;
@@ -1132,7 +1232,7 @@ namespace Emby.Dlna.PlayTo
if (previousMediaInfo == null && mediaInfo != null)
{
if (state != TRANSPORTSTATE.STOPPED)
if (state != TransportState.Stopped)
{
OnPlaybackStart(mediaInfo);
}
@@ -1151,57 +1251,47 @@ namespace Emby.Dlna.PlayTo
}
}
private void OnPlaybackStart(uBaseObject mediaInfo)
private void OnPlaybackStart(UBaseObject mediaInfo)
{
if (string.IsNullOrWhiteSpace(mediaInfo.Url))
{
return;
}
PlaybackStart?.Invoke(this, new PlaybackStartEventArgs
{
MediaInfo = mediaInfo
});
PlaybackStart?.Invoke(this, new PlaybackStartEventArgs(mediaInfo));
}
private void OnPlaybackProgress(uBaseObject mediaInfo)
private void OnPlaybackProgress(UBaseObject mediaInfo)
{
if (string.IsNullOrWhiteSpace(mediaInfo.Url))
{
return;
}
PlaybackProgress?.Invoke(this, new PlaybackProgressEventArgs
{
MediaInfo = mediaInfo
});
PlaybackProgress?.Invoke(this, new PlaybackProgressEventArgs(mediaInfo));
}
private void OnPlaybackStop(uBaseObject mediaInfo)
private void OnPlaybackStop(UBaseObject mediaInfo)
{
PlaybackStopped?.Invoke(this, new PlaybackStoppedEventArgs
{
MediaInfo = mediaInfo
});
PlaybackStopped?.Invoke(this, new PlaybackStoppedEventArgs(mediaInfo));
}
private void OnMediaChanged(uBaseObject old, uBaseObject newMedia)
private void OnMediaChanged(UBaseObject old, UBaseObject newMedia)
{
MediaChanged?.Invoke(this, new MediaChangedEventArgs
{
OldMediaInfo = old,
NewMediaInfo = newMedia
});
MediaChanged?.Invoke(this, new MediaChangedEventArgs(old, newMedia));
}
bool _disposed;
/// <inheritdoc />
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// Releases unmanaged and optionally managed resources.
/// </summary>
/// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
@@ -1220,9 +1310,10 @@ namespace Emby.Dlna.PlayTo
_disposed = true;
}
/// <inheritdoc />
public override string ToString()
{
return string.Format("{0} - {1}", Properties.Name, Properties.BaseUrl);
return string.Format(CultureInfo.InvariantCulture, "{0} - {1}", Properties.Name, Properties.BaseUrl);
}
}
}

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System.Collections.Generic;
@@ -8,6 +10,9 @@ 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";
@@ -33,7 +38,6 @@ namespace Emby.Dlna.PlayTo
public string PresentationUrl { get; set; }
private string _baseUrl = string.Empty;
public string BaseUrl
{
get => _baseUrl;
@@ -42,7 +46,6 @@ namespace Emby.Dlna.PlayTo
public DeviceIcon Icon { get; set; }
private readonly List<DeviceService> _services = new List<DeviceService>();
public List<DeviceService> Services => _services;
public DeviceIdentification ToDeviceIdentification()

View File

@@ -0,0 +1,19 @@
#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; }
}
}

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System;
@@ -8,7 +10,7 @@ using System.Threading;
using System.Threading.Tasks;
using Emby.Dlna.Didl;
using Jellyfin.Data.Entities;
using MediaBrowser.Common.Configuration;
using Jellyfin.Data.Events;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
@@ -18,7 +20,6 @@ using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Session;
using Microsoft.AspNetCore.WebUtilities;
@@ -29,9 +30,6 @@ namespace Emby.Dlna.PlayTo
{
public class PlayToController : ISessionController, IDisposable
{
private static readonly CultureInfo _usCulture = CultureInfo.ReadOnly(new CultureInfo("en-US"));
private Device _device;
private readonly SessionInfo _session;
private readonly ISessionManager _sessionManager;
private readonly ILibraryManager _libraryManager;
@@ -42,7 +40,6 @@ namespace Emby.Dlna.PlayTo
private readonly IUserDataManager _userDataManager;
private readonly ILocalizationManager _localization;
private readonly IMediaSourceManager _mediaSourceManager;
private readonly IConfigurationManager _config;
private readonly IMediaEncoder _mediaEncoder;
private readonly IDeviceDiscovery _deviceDiscovery;
@@ -50,6 +47,7 @@ namespace Emby.Dlna.PlayTo
private readonly string _accessToken;
private readonly List<PlaylistItem> _playlist = new List<PlaylistItem>();
private Device _device;
private int _currentPlaylistIndex;
private bool _disposed;
@@ -68,7 +66,6 @@ namespace Emby.Dlna.PlayTo
IUserDataManager userDataManager,
ILocalizationManager localization,
IMediaSourceManager mediaSourceManager,
IConfigurationManager config,
IMediaEncoder mediaEncoder)
{
_session = session;
@@ -84,7 +81,6 @@ namespace Emby.Dlna.PlayTo
_userDataManager = userDataManager;
_localization = localization;
_mediaSourceManager = mediaSourceManager;
_config = config;
_mediaEncoder = mediaEncoder;
}
@@ -106,6 +102,22 @@ namespace Emby.Dlna.PlayTo
_deviceDiscovery.DeviceLeft += OnDeviceDiscoveryDeviceLeft;
}
/*
* Send a message to the DLNA device to notify what is the next track in the playlist.
*/
private async Task SendNextTrackMessage(int currentPlayListItemIndex, CancellationToken cancellationToken)
{
if (currentPlayListItemIndex >= 0 && currentPlayListItemIndex < _playlist.Count - 1)
{
// The current playing item is indeed in the play list and we are not yet at the end of the playlist.
var nextItemIndex = currentPlayListItemIndex + 1;
var nextItem = _playlist[nextItemIndex];
// Send the SetNextAvTransport message.
await _device.SetNextAvTransport(nextItem.StreamUrl, GetDlnaHeaders(nextItem), nextItem.Didl, cancellationToken).ConfigureAwait(false);
}
}
private void OnDeviceUnavailable()
{
try
@@ -136,7 +148,7 @@ namespace Emby.Dlna.PlayTo
private async void OnDeviceMediaChanged(object sender, MediaChangedEventArgs e)
{
if (_disposed)
if (_disposed || string.IsNullOrEmpty(e.OldMediaInfo.Url))
{
return;
}
@@ -160,6 +172,15 @@ namespace Emby.Dlna.PlayTo
var newItemProgress = GetProgressInfo(streamInfo);
await _sessionManager.OnPlaybackStart(newItemProgress).ConfigureAwait(false);
// Send a message to the DLNA device to notify what is the next track in the playlist.
var currentItemIndex = _playlist.FindIndex(item => item.StreamInfo.ItemId == streamInfo.ItemId);
if (currentItemIndex >= 0)
{
_currentPlaylistIndex = currentItemIndex;
}
await SendNextTrackMessage(currentItemIndex, CancellationToken.None);
}
catch (Exception ex)
{
@@ -326,7 +347,7 @@ namespace Emby.Dlna.PlayTo
public Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken)
{
_logger.LogDebug("{0} - Received PlayRequest: {1}", this._session.DeviceName, command.PlayCommand);
_logger.LogDebug("{0} - Received PlayRequest: {1}", _session.DeviceName, command.PlayCommand);
var user = command.ControllingUserId.Equals(Guid.Empty) ? null : _userManager.GetUserById(command.ControllingUserId);
@@ -337,25 +358,26 @@ namespace Emby.Dlna.PlayTo
}
var startIndex = command.StartIndex ?? 0;
int len = items.Count - startIndex;
if (startIndex > 0)
{
items = items.Skip(startIndex).ToList();
items = items.GetRange(startIndex, len);
}
var playlist = new List<PlaylistItem>();
var isFirst = true;
var playlist = new PlaylistItem[len];
foreach (var item in items)
// Not nullable enabled - so this is required.
playlist[0] = CreatePlaylistItem(
items[0],
user,
command.StartPositionTicks ?? 0,
command.MediaSourceId ?? string.Empty,
command.AudioStreamIndex,
command.SubtitleStreamIndex);
for (int i = 1; i < len; i++)
{
if (isFirst && command.StartPositionTicks.HasValue)
{
playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value, command.MediaSourceId, command.AudioStreamIndex, command.SubtitleStreamIndex));
isFirst = false;
}
else
{
playlist.Add(CreatePlaylistItem(item, user, 0, null, null, null));
}
playlist[i] = CreatePlaylistItem(items[i], user, 0, string.Empty, null, null);
}
_logger.LogDebug("{0} - Playlist created", _session.DeviceName);
@@ -372,8 +394,13 @@ namespace Emby.Dlna.PlayTo
if (!command.ControllingUserId.Equals(Guid.Empty))
{
_sessionManager.LogSessionActivity(_session.Client, _session.ApplicationVersion, _session.DeviceId,
_session.DeviceName, _session.RemoteEndPoint, user);
_sessionManager.LogSessionActivity(
_session.Client,
_session.ApplicationVersion,
_session.DeviceId,
_session.DeviceName,
_session.RemoteEndPoint,
user);
}
return PlayItems(playlist, cancellationToken);
@@ -423,6 +450,11 @@ namespace Emby.Dlna.PlayTo
var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, info.AudioStreamIndex, info.SubtitleStreamIndex);
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl, CancellationToken.None).ConfigureAwait(false);
// Send a message to the DLNA device to notify what is the next track in the play list.
var newItemIndex = _playlist.FindIndex(item => item.StreamUrl == newItem.StreamUrl);
await SendNextTrackMessage(newItemIndex, CancellationToken.None);
return;
}
@@ -463,8 +495,8 @@ namespace Emby.Dlna.PlayTo
_dlnaManager.GetDefaultProfile();
var mediaSources = item is IHasMediaSources
? _mediaSourceManager.GetStaticMediaSources(item, true, user)
: new List<MediaSourceInfo>();
? _mediaSourceManager.GetStaticMediaSources(item, true, user).ToArray()
: Array.Empty<MediaSourceInfo>();
var playlistItem = GetPlaylistItem(item, mediaSources, profile, _session.DeviceId, mediaSourceId, audioStreamIndex, subtitleStreamIndex);
playlistItem.StreamInfo.StartPositionTicks = startPostionTicks;
@@ -497,43 +529,45 @@ namespace Emby.Dlna.PlayTo
if (streamInfo.MediaType == DlnaProfileType.Audio)
{
return new ContentFeatureBuilder(profile)
.BuildAudioHeader(streamInfo.Container,
streamInfo.TargetAudioCodec.FirstOrDefault(),
streamInfo.TargetAudioBitrate,
streamInfo.TargetAudioSampleRate,
streamInfo.TargetAudioChannels,
streamInfo.TargetAudioBitDepth,
streamInfo.IsDirectStream,
streamInfo.RunTimeTicks ?? 0,
streamInfo.TranscodeSeekInfo);
return ContentFeatureBuilder.BuildAudioHeader(
profile,
streamInfo.Container,
streamInfo.TargetAudioCodec.FirstOrDefault(),
streamInfo.TargetAudioBitrate,
streamInfo.TargetAudioSampleRate,
streamInfo.TargetAudioChannels,
streamInfo.TargetAudioBitDepth,
streamInfo.IsDirectStream,
streamInfo.RunTimeTicks ?? 0,
streamInfo.TranscodeSeekInfo);
}
if (streamInfo.MediaType == DlnaProfileType.Video)
{
var list = new ContentFeatureBuilder(profile)
.BuildVideoHeader(streamInfo.Container,
streamInfo.TargetVideoCodec.FirstOrDefault(),
streamInfo.TargetAudioCodec.FirstOrDefault(),
streamInfo.TargetWidth,
streamInfo.TargetHeight,
streamInfo.TargetVideoBitDepth,
streamInfo.TargetVideoBitrate,
streamInfo.TargetTimestamp,
streamInfo.IsDirectStream,
streamInfo.RunTimeTicks ?? 0,
streamInfo.TargetVideoProfile,
streamInfo.TargetVideoLevel,
streamInfo.TargetFramerate ?? 0,
streamInfo.TargetPacketLength,
streamInfo.TranscodeSeekInfo,
streamInfo.IsTargetAnamorphic,
streamInfo.IsTargetInterlaced,
streamInfo.TargetRefFrames,
streamInfo.TargetVideoStreamCount,
streamInfo.TargetAudioStreamCount,
streamInfo.TargetVideoCodecTag,
streamInfo.IsTargetAVC);
var list = ContentFeatureBuilder.BuildVideoHeader(
profile,
streamInfo.Container,
streamInfo.TargetVideoCodec.FirstOrDefault(),
streamInfo.TargetAudioCodec.FirstOrDefault(),
streamInfo.TargetWidth,
streamInfo.TargetHeight,
streamInfo.TargetVideoBitDepth,
streamInfo.TargetVideoBitrate,
streamInfo.TargetTimestamp,
streamInfo.IsDirectStream,
streamInfo.RunTimeTicks ?? 0,
streamInfo.TargetVideoProfile,
streamInfo.TargetVideoLevel,
streamInfo.TargetFramerate ?? 0,
streamInfo.TargetPacketLength,
streamInfo.TranscodeSeekInfo,
streamInfo.IsTargetAnamorphic,
streamInfo.IsTargetInterlaced,
streamInfo.TargetRefFrames,
streamInfo.TargetVideoStreamCount,
streamInfo.TargetAudioStreamCount,
streamInfo.TargetVideoCodecTag,
streamInfo.IsTargetAVC);
return list.Count == 0 ? null : list[0];
}
@@ -541,7 +575,7 @@ namespace Emby.Dlna.PlayTo
return null;
}
private PlaylistItem GetPlaylistItem(BaseItem item, List<MediaSourceInfo> mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
private PlaylistItem GetPlaylistItem(BaseItem item, MediaSourceInfo[] mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
{
if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase))
{
@@ -550,7 +584,7 @@ namespace Emby.Dlna.PlayTo
StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildVideoItem(new VideoOptions
{
ItemId = item.Id,
MediaSources = mediaSources.ToArray(),
MediaSources = mediaSources,
Profile = profile,
DeviceId = deviceId,
MaxBitrate = profile.MaxStreamingBitrate,
@@ -570,7 +604,7 @@ namespace Emby.Dlna.PlayTo
StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildAudioItem(new AudioOptions
{
ItemId = item.Id,
MediaSources = mediaSources.ToArray(),
MediaSources = mediaSources,
Profile = profile,
DeviceId = deviceId,
MaxBitrate = profile.MaxStreamingBitrate,
@@ -583,7 +617,7 @@ namespace Emby.Dlna.PlayTo
if (string.Equals(item.MediaType, MediaType.Photo, StringComparison.OrdinalIgnoreCase))
{
return new PlaylistItemFactory().Create((Photo)item, profile);
return PlaylistItemFactory.Create((Photo)item, profile);
}
throw new ArgumentException("Unrecognized item type.");
@@ -619,6 +653,9 @@ namespace Emby.Dlna.PlayTo
await _device.SetAvTransport(currentitem.StreamUrl, GetDlnaHeaders(currentitem), currentitem.Didl, cancellationToken).ConfigureAwait(false);
// Send a message to the DLNA device to notify what is the next track in the play list.
await SendNextTrackMessage(index, cancellationToken);
var streamInfo = currentitem.StreamInfo;
if (streamInfo.StartPositionTicks > 0 && EnableClientSideSeek(streamInfo))
{
@@ -633,6 +670,10 @@ namespace Emby.Dlna.PlayTo
GC.SuppressFinalize(this);
}
/// <summary>
/// Releases unmanaged and optionally managed resources.
/// </summary>
/// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
@@ -658,69 +699,57 @@ namespace Emby.Dlna.PlayTo
private Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken)
{
if (Enum.TryParse(command.Name, true, out GeneralCommandType commandType))
switch (command.Name)
{
switch (commandType)
{
case GeneralCommandType.VolumeDown:
return _device.VolumeDown(cancellationToken);
case GeneralCommandType.VolumeUp:
return _device.VolumeUp(cancellationToken);
case GeneralCommandType.Mute:
return _device.Mute(cancellationToken);
case GeneralCommandType.Unmute:
return _device.Unmute(cancellationToken);
case GeneralCommandType.ToggleMute:
return _device.ToggleMute(cancellationToken);
case GeneralCommandType.SetAudioStreamIndex:
case GeneralCommandType.VolumeDown:
return _device.VolumeDown(cancellationToken);
case GeneralCommandType.VolumeUp:
return _device.VolumeUp(cancellationToken);
case GeneralCommandType.Mute:
return _device.Mute(cancellationToken);
case GeneralCommandType.Unmute:
return _device.Unmute(cancellationToken);
case GeneralCommandType.ToggleMute:
return _device.ToggleMute(cancellationToken);
case GeneralCommandType.SetAudioStreamIndex:
if (command.Arguments.TryGetValue("Index", out string index))
{
if (int.TryParse(index, NumberStyles.Integer, CultureInfo.InvariantCulture, out var val))
{
if (command.Arguments.TryGetValue("Index", out string arg))
{
if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val))
{
return SetAudioStreamIndex(val);
}
throw new ArgumentException("Unsupported SetAudioStreamIndex value supplied.");
}
throw new ArgumentException("SetAudioStreamIndex argument cannot be null");
}
case GeneralCommandType.SetSubtitleStreamIndex:
{
if (command.Arguments.TryGetValue("Index", out string arg))
{
if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val))
{
return SetSubtitleStreamIndex(val);
}
throw new ArgumentException("Unsupported SetSubtitleStreamIndex value supplied.");
}
throw new ArgumentException("SetSubtitleStreamIndex argument cannot be null");
}
case GeneralCommandType.SetVolume:
{
if (command.Arguments.TryGetValue("Volume", out string arg))
{
if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var volume))
{
return _device.SetVolume(volume, cancellationToken);
}
throw new ArgumentException("Unsupported volume value supplied.");
}
throw new ArgumentException("Volume argument cannot be null");
return SetAudioStreamIndex(val);
}
default:
return Task.CompletedTask;
}
throw new ArgumentException("Unsupported SetAudioStreamIndex value supplied.");
}
throw new ArgumentException("SetAudioStreamIndex argument cannot be null");
case GeneralCommandType.SetSubtitleStreamIndex:
if (command.Arguments.TryGetValue("Index", out index))
{
if (int.TryParse(index, NumberStyles.Integer, CultureInfo.InvariantCulture, out var val))
{
return SetSubtitleStreamIndex(val);
}
throw new ArgumentException("Unsupported SetSubtitleStreamIndex value supplied.");
}
throw new ArgumentException("SetSubtitleStreamIndex argument cannot be null");
case GeneralCommandType.SetVolume:
if (command.Arguments.TryGetValue("Volume", out string vol))
{
if (int.TryParse(vol, NumberStyles.Integer, CultureInfo.InvariantCulture, out var volume))
{
return _device.SetVolume(volume, cancellationToken);
}
throw new ArgumentException("Unsupported volume value supplied.");
}
throw new ArgumentException("Volume argument cannot be null");
default:
return Task.CompletedTask;
}
return Task.CompletedTask;
}
private async Task SetAudioStreamIndex(int? newIndex)
@@ -740,6 +769,10 @@ namespace Emby.Dlna.PlayTo
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl, CancellationToken.None).ConfigureAwait(false);
// Send a message to the DLNA device to notify what is the next track in the play list.
var newItemIndex = _playlist.FindIndex(item => item.StreamUrl == newItem.StreamUrl);
await SendNextTrackMessage(newItemIndex, CancellationToken.None);
if (EnableClientSideSeek(newItem.StreamInfo))
{
await SeekAfterTransportChange(newPosition, CancellationToken.None).ConfigureAwait(false);
@@ -765,6 +798,10 @@ namespace Emby.Dlna.PlayTo
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl, CancellationToken.None).ConfigureAwait(false);
// Send a message to the DLNA device to notify what is the next track in the play list.
var newItemIndex = _playlist.FindIndex(item => item.StreamUrl == newItem.StreamUrl);
await SendNextTrackMessage(newItemIndex, CancellationToken.None);
if (EnableClientSideSeek(newItem.StreamInfo) && newPosition > 0)
{
await SeekAfterTransportChange(newPosition, CancellationToken.None).ConfigureAwait(false);
@@ -775,20 +812,80 @@ namespace Emby.Dlna.PlayTo
private async Task SeekAfterTransportChange(long positionTicks, CancellationToken cancellationToken)
{
const int maxWait = 15000000;
const int interval = 500;
const int MaxWait = 15000000;
const int Interval = 500;
var currentWait = 0;
while (_device.TransportState != TRANSPORTSTATE.PLAYING && currentWait < maxWait)
while (_device.TransportState != TransportState.Playing && currentWait < MaxWait)
{
await Task.Delay(interval).ConfigureAwait(false);
currentWait += interval;
await Task.Delay(Interval, cancellationToken).ConfigureAwait(false);
currentWait += Interval;
}
await _device.Seek(TimeSpan.FromTicks(positionTicks), cancellationToken).ConfigureAwait(false);
}
private static int? GetIntValue(IReadOnlyDictionary<string, string> values, string name)
{
var value = values.GetValueOrDefault(name);
if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
{
return result;
}
return null;
}
private static long GetLongValue(IReadOnlyDictionary<string, string> values, string name)
{
var value = values.GetValueOrDefault(name);
if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
{
return result;
}
return 0;
}
/// <inheritdoc />
public Task SendMessage<T>(SessionMessageType name, Guid messageId, T data, CancellationToken cancellationToken)
{
if (_disposed)
{
throw new ObjectDisposedException(GetType().Name);
}
if (_device == null)
{
return Task.CompletedTask;
}
if (name == SessionMessageType.Play)
{
return SendPlayCommand(data as PlayRequest, cancellationToken);
}
if (name == SessionMessageType.Playstate)
{
return SendPlaystateCommand(data as PlaystateRequest, cancellationToken);
}
if (name == SessionMessageType.GeneralCommand)
{
return SendGeneralCommand(data as GeneralCommand, cancellationToken);
}
// Not supported or needed right now
return Task.CompletedTask;
}
private class StreamParams
{
private MediaSourceInfo mediaSource;
private IMediaSourceManager _mediaSourceManager;
public Guid ItemId { get; set; }
public bool IsDirectStream { get; set; }
@@ -809,15 +906,11 @@ namespace Emby.Dlna.PlayTo
public BaseItem Item { get; set; }
private MediaSourceInfo MediaSource;
private IMediaSourceManager _mediaSourceManager;
public async Task<MediaSourceInfo> GetMediaSource(CancellationToken cancellationToken)
{
if (MediaSource != null)
if (mediaSource != null)
{
return MediaSource;
return mediaSource;
}
var hasMediaSources = Item as IHasMediaSources;
@@ -827,9 +920,12 @@ namespace Emby.Dlna.PlayTo
return null;
}
MediaSource = await _mediaSourceManager.GetMediaSource(Item, MediaSourceId, LiveStreamId, false, cancellationToken).ConfigureAwait(false);
if (_mediaSourceManager != null)
{
mediaSource = await _mediaSourceManager.GetMediaSource(Item, MediaSourceId, LiveStreamId, false, cancellationToken).ConfigureAwait(false);
}
return MediaSource;
return mediaSource;
}
private static Guid GetItemId(string url)
@@ -841,16 +937,16 @@ namespace Emby.Dlna.PlayTo
var parts = url.Split('/');
for (var i = 0; i < parts.Length; i++)
for (var i = 0; i < parts.Length - 1; i++)
{
var part = parts[i];
if (string.Equals(part, "audio", StringComparison.OrdinalIgnoreCase) ||
string.Equals(part, "videos", StringComparison.OrdinalIgnoreCase))
{
if (parts.Length > i + 1)
if (Guid.TryParse(parts[i + 1], out var result))
{
return Guid.Parse(parts[i + 1]);
return result;
}
}
}
@@ -889,7 +985,6 @@ namespace Emby.Dlna.PlayTo
request.MediaSourceId = values.GetValueOrDefault("MediaSourceId");
request.LiveStreamId = values.GetValueOrDefault("LiveStreamId");
request.IsDirectStream = string.Equals("true", values.GetValueOrDefault("Static"), StringComparison.OrdinalIgnoreCase);
request.AudioStreamIndex = GetIntValue(values, "AudioStreamIndex");
request.SubtitleStreamIndex = GetIntValue(values, "SubtitleStreamIndex");
request.StartPositionTicks = GetLongValue(values, "StartPositionTicks");
@@ -901,61 +996,5 @@ namespace Emby.Dlna.PlayTo
return request;
}
}
private static int? GetIntValue(IReadOnlyDictionary<string, string> values, string name)
{
var value = values.GetValueOrDefault(name);
if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
{
return result;
}
return null;
}
private static long GetLongValue(IReadOnlyDictionary<string, string> values, string name)
{
var value = values.GetValueOrDefault(name);
if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
{
return result;
}
return 0;
}
/// <inheritdoc />
public Task SendMessage<T>(string name, Guid messageId, T data, CancellationToken cancellationToken)
{
if (_disposed)
{
throw new ObjectDisposedException(GetType().Name);
}
if (_device == null)
{
return Task.CompletedTask;
}
if (string.Equals(name, "Play", StringComparison.OrdinalIgnoreCase))
{
return SendPlayCommand(data as PlayRequest, cancellationToken);
}
if (string.Equals(name, "PlayState", StringComparison.OrdinalIgnoreCase))
{
return SendPlaystateCommand(data as PlaystateRequest, cancellationToken);
}
if (string.Equals(name, "GeneralCommand", StringComparison.OrdinalIgnoreCase))
{
return SendGeneralCommand(data as GeneralCommand, cancellationToken);
}
// Not supported or needed right now
return Task.CompletedTask;
}
}
}

View File

@@ -1,13 +1,15 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
@@ -16,7 +18,6 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Session;
using Microsoft.Extensions.Logging;
@@ -33,7 +34,7 @@ namespace Emby.Dlna.PlayTo
private readonly IDlnaManager _dlnaManager;
private readonly IServerApplicationHost _appHost;
private readonly IImageProcessor _imageProcessor;
private readonly IHttpClient _httpClient;
private readonly IHttpClientFactory _httpClientFactory;
private readonly IServerConfigurationManager _config;
private readonly IUserDataManager _userDataManager;
private readonly ILocalizationManager _localization;
@@ -46,7 +47,7 @@ namespace Emby.Dlna.PlayTo
private SemaphoreSlim _sessionLock = new SemaphoreSlim(1, 1);
private CancellationTokenSource _disposeCancellationTokenSource = new CancellationTokenSource();
public PlayToManager(ILogger logger, ISessionManager sessionManager, ILibraryManager libraryManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost, IImageProcessor imageProcessor, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, IServerConfigurationManager config, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder)
public PlayToManager(ILogger logger, ISessionManager sessionManager, ILibraryManager libraryManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost, IImageProcessor imageProcessor, IDeviceDiscovery deviceDiscovery, IHttpClientFactory httpClientFactory, IServerConfigurationManager config, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder)
{
_logger = logger;
_sessionManager = sessionManager;
@@ -56,7 +57,7 @@ namespace Emby.Dlna.PlayTo
_appHost = appHost;
_imageProcessor = imageProcessor;
_deviceDiscovery = deviceDiscovery;
_httpClient = httpClient;
_httpClientFactory = httpClientFactory;
_config = config;
_userDataManager = userDataManager;
_localization = localization;
@@ -88,13 +89,10 @@ namespace Emby.Dlna.PlayTo
nt = string.Empty;
}
string location = info.Location.ToString();
// It has to report that it's a media renderer
if (usn.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1 &&
nt.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1)
if (!usn.Contains("MediaRenderer:", StringComparison.OrdinalIgnoreCase)
&& !nt.Contains("MediaRenderer:", StringComparison.OrdinalIgnoreCase))
{
// _logger.LogDebug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
return;
}
@@ -114,7 +112,7 @@ namespace Emby.Dlna.PlayTo
return;
}
await AddDevice(info, location, cancellationToken).ConfigureAwait(false);
await AddDevice(info, cancellationToken).ConfigureAwait(false);
}
catch (OperationCanceledException)
{
@@ -129,83 +127,88 @@ namespace Emby.Dlna.PlayTo
}
}
private string GetUuid(string usn)
internal static string GetUuid(string usn)
{
var found = false;
var index = usn.IndexOf("uuid:", StringComparison.OrdinalIgnoreCase);
const string UuidStr = "uuid:";
const string UuidColonStr = "::";
var index = usn.IndexOf(UuidStr, StringComparison.OrdinalIgnoreCase);
if (index == -1)
{
return usn.GetMD5().ToString("N", CultureInfo.InvariantCulture);
}
ReadOnlySpan<char> tmp = usn.AsSpan()[(index + UuidStr.Length)..];
index = tmp.IndexOf(UuidColonStr, StringComparison.OrdinalIgnoreCase);
if (index != -1)
{
usn = usn.Substring(index);
found = true;
tmp = tmp[..index];
}
index = usn.IndexOf("::", StringComparison.OrdinalIgnoreCase);
index = tmp.IndexOf('{');
if (index != -1)
{
usn = usn.Substring(0, index);
int endIndex = tmp.IndexOf('}');
if (endIndex != -1)
{
tmp = tmp[(index + 1)..endIndex];
}
}
if (found)
{
return usn;
}
return usn.GetMD5().ToString("N", CultureInfo.InvariantCulture);
return tmp.ToString();
}
private async Task AddDevice(UpnpDeviceInfo info, string location, CancellationToken cancellationToken)
private async Task AddDevice(UpnpDeviceInfo info, CancellationToken cancellationToken)
{
var uri = info.Location;
_logger.LogDebug("Attempting to create PlayToController from location {0}", location);
_logger.LogDebug("Attempting to create PlayToController from location {0}", uri);
_logger.LogDebug("Logging session activity from location {0}", location);
if (info.Headers.TryGetValue("USN", out string uuid))
{
uuid = GetUuid(uuid);
}
else
{
uuid = location.GetMD5().ToString("N", CultureInfo.InvariantCulture);
uuid = uri.ToString().GetMD5().ToString("N", CultureInfo.InvariantCulture);
}
var sessionInfo = _sessionManager.LogSessionActivity("DLNA", _appHost.ApplicationVersionString, uuid, null, uri.OriginalString, null);
var sessionInfo = await _sessionManager
.LogSessionActivity("DLNA", _appHost.ApplicationVersionString, uuid, null, uri.OriginalString, null)
.ConfigureAwait(false);
var controller = sessionInfo.SessionControllers.OfType<PlayToController>().FirstOrDefault();
if (controller == null)
{
var device = await Device.CreateuPnpDeviceAsync(uri, _httpClient, _config, _logger, cancellationToken).ConfigureAwait(false);
var device = await Device.CreateuPnpDeviceAsync(uri, _httpClientFactory, _logger, cancellationToken).ConfigureAwait(false);
if (device == null)
{
_logger.LogError("Ignoring device as xml response is invalid.");
return;
}
string deviceName = device.Properties.Name;
_sessionManager.UpdateDeviceName(sessionInfo.Id, deviceName);
string serverAddress;
if (info.LocalIpAddress == null || info.LocalIpAddress.Equals(IPAddress.Any) || info.LocalIpAddress.Equals(IPAddress.IPv6Any))
{
serverAddress = await _appHost.GetLocalApiUrl(cancellationToken).ConfigureAwait(false);
}
else
{
serverAddress = _appHost.GetLocalApiUrl(info.LocalIpAddress);
}
string serverAddress = _appHost.GetSmartApiUrl(info.RemoteIpAddress);
controller = new PlayToController(
sessionInfo,
_sessionManager,
_libraryManager,
_logger,
_dlnaManager,
_userManager,
_imageProcessor,
serverAddress,
null,
_deviceDiscovery,
_userDataManager,
_localization,
_mediaSourceManager,
_config,
_mediaEncoder);
_sessionManager,
_libraryManager,
_logger,
_dlnaManager,
_userManager,
_imageProcessor,
serverAddress,
null,
_deviceDiscovery,
_userDataManager,
_localization,
_mediaSourceManager,
_mediaEncoder);
sessionInfo.AddController(controller);
@@ -218,17 +221,17 @@ namespace Emby.Dlna.PlayTo
{
PlayableMediaTypes = profile.GetSupportedMediaTypes(),
SupportedCommands = new string[]
SupportedCommands = new[]
{
GeneralCommandType.VolumeDown.ToString(),
GeneralCommandType.VolumeUp.ToString(),
GeneralCommandType.Mute.ToString(),
GeneralCommandType.Unmute.ToString(),
GeneralCommandType.ToggleMute.ToString(),
GeneralCommandType.SetVolume.ToString(),
GeneralCommandType.SetAudioStreamIndex.ToString(),
GeneralCommandType.SetSubtitleStreamIndex.ToString(),
GeneralCommandType.PlayMediaSource.ToString()
GeneralCommandType.VolumeDown,
GeneralCommandType.VolumeUp,
GeneralCommandType.Mute,
GeneralCommandType.Unmute,
GeneralCommandType.ToggleMute,
GeneralCommandType.SetVolume,
GeneralCommandType.SetAudioStreamIndex,
GeneralCommandType.SetSubtitleStreamIndex,
GeneralCommandType.PlayMediaSource
},
SupportsMediaControl = true
@@ -247,8 +250,9 @@ namespace Emby.Dlna.PlayTo
{
_disposeCancellationTokenSource.Cancel();
}
catch
catch (Exception ex)
{
_logger.LogDebug(ex, "Error while disposing PlayToManager");
}
_sessionLock.Dispose();

View File

@@ -6,6 +6,11 @@ namespace Emby.Dlna.PlayTo
{
public class PlaybackProgressEventArgs : EventArgs
{
public uBaseObject MediaInfo { get; set; }
public PlaybackProgressEventArgs(UBaseObject mediaInfo)
{
MediaInfo = mediaInfo;
}
public UBaseObject MediaInfo { get; set; }
}
}

View File

@@ -6,6 +6,11 @@ namespace Emby.Dlna.PlayTo
{
public class PlaybackStartEventArgs : EventArgs
{
public uBaseObject MediaInfo { get; set; }
public PlaybackStartEventArgs(UBaseObject mediaInfo)
{
MediaInfo = mediaInfo;
}
public UBaseObject MediaInfo { get; set; }
}
}

View File

@@ -6,13 +6,11 @@ namespace Emby.Dlna.PlayTo
{
public class PlaybackStoppedEventArgs : EventArgs
{
public uBaseObject MediaInfo { get; set; }
}
public PlaybackStoppedEventArgs(UBaseObject mediaInfo)
{
MediaInfo = mediaInfo;
}
public class MediaChangedEventArgs : EventArgs
{
public uBaseObject OldMediaInfo { get; set; }
public uBaseObject NewMediaInfo { get; set; }
public UBaseObject MediaInfo { get; set; }
}
}

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using MediaBrowser.Model.Dlna;

View File

@@ -1,3 +1,5 @@
#nullable disable
#pragma warning disable CS1591
using System.IO;
@@ -8,9 +10,9 @@ using MediaBrowser.Model.Session;
namespace Emby.Dlna.PlayTo
{
public class PlaylistItemFactory
public static class PlaylistItemFactory
{
public PlaylistItem Create(Photo item, DeviceProfile profile)
public static PlaylistItem Create(Photo item, DeviceProfile profile)
{
var playlistItem = new PlaylistItem
{

View File

@@ -1,9 +1,11 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Globalization;
using System.IO;
using System.Net.Http;
using System.Net.Mime;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -18,13 +20,11 @@ namespace Emby.Dlna.PlayTo
private const string USERAGENT = "Microsoft-Windows/6.2 UPnP/1.0 Microsoft-DLNA DLNADOC/1.50";
private const string FriendlyName = "Jellyfin";
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
private readonly IHttpClientFactory _httpClientFactory;
private readonly IHttpClient _httpClient;
public SsdpHttpClient(IHttpClient httpClient)
public SsdpHttpClient(IHttpClientFactory httpClientFactory)
{
_httpClient = httpClient;
_httpClientFactory = httpClientFactory;
}
public async Task<XDocument> SendCommandAsync(
@@ -36,20 +36,20 @@ namespace Emby.Dlna.PlayTo
CancellationToken cancellationToken = default)
{
var url = NormalizeServiceUrl(baseUrl, service.ControlUrl);
using (var response = await PostSoapDataAsync(
url,
$"\"{service.ServiceType}#{command}\"",
postData,
header,
cancellationToken)
.ConfigureAwait(false))
using (var stream = response.Content)
using (var reader = new StreamReader(stream, Encoding.UTF8))
{
return XDocument.Parse(
await reader.ReadToEndAsync().ConfigureAwait(false),
LoadOptions.PreserveWhitespace);
}
using var response = await PostSoapDataAsync(
url,
$"\"{service.ServiceType}#{command}\"",
postData,
header,
cancellationToken)
.ConfigureAwait(false);
response.EnsureSuccessStatusCode();
await using var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
return await XDocument.LoadAsync(
stream,
LoadOptions.None,
cancellationToken).ConfigureAwait(false);
}
private static string NormalizeServiceUrl(string baseUrl, string serviceUrl)
@@ -60,7 +60,7 @@ namespace Emby.Dlna.PlayTo
return serviceUrl;
}
if (!serviceUrl.StartsWith("/", StringComparison.Ordinal))
if (!serviceUrl.StartsWith('/'))
{
serviceUrl = "/" + serviceUrl;
}
@@ -76,49 +76,41 @@ namespace Emby.Dlna.PlayTo
int eventport,
int timeOut = 3600)
{
var options = new HttpRequestOptions
{
Url = url,
UserAgent = USERAGENT,
LogErrorResponseBody = true,
BufferContent = false,
};
using var options = new HttpRequestMessage(new HttpMethod("SUBSCRIBE"), url);
options.Headers.UserAgent.ParseAdd(USERAGENT);
options.Headers.TryAddWithoutValidation("HOST", ip + ":" + port.ToString(CultureInfo.InvariantCulture));
options.Headers.TryAddWithoutValidation("CALLBACK", "<" + localIp + ":" + eventport.ToString(CultureInfo.InvariantCulture) + ">");
options.Headers.TryAddWithoutValidation("NT", "upnp:event");
options.Headers.TryAddWithoutValidation("TIMEOUT", "Second-" + timeOut.ToString(CultureInfo.InvariantCulture));
options.RequestHeaders["HOST"] = ip + ":" + port.ToString(_usCulture);
options.RequestHeaders["CALLBACK"] = "<" + localIp + ":" + eventport.ToString(_usCulture) + ">";
options.RequestHeaders["NT"] = "upnp:event";
options.RequestHeaders["TIMEOUT"] = "Second-" + timeOut.ToString(_usCulture);
using (await _httpClient.SendAsync(options, new HttpMethod("SUBSCRIBE")).ConfigureAwait(false))
{
}
using var response = await _httpClientFactory.CreateClient(NamedClient.Default)
.SendAsync(options, HttpCompletionOption.ResponseHeadersRead)
.ConfigureAwait(false);
response.EnsureSuccessStatusCode();
}
public async Task<XDocument> GetDataAsync(string url, CancellationToken cancellationToken)
{
var options = new HttpRequestOptions
using var options = new HttpRequestMessage(HttpMethod.Get, url);
options.Headers.UserAgent.ParseAdd(USERAGENT);
options.Headers.TryAddWithoutValidation("FriendlyName.DLNA.ORG", FriendlyName);
using var response = await _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(options, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
response.EnsureSuccessStatusCode();
await using var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
try
{
Url = url,
UserAgent = USERAGENT,
LogErrorResponseBody = true,
BufferContent = false,
CancellationToken = cancellationToken
};
options.RequestHeaders["FriendlyName.DLNA.ORG"] = FriendlyName;
using (var response = await _httpClient.SendAsync(options, HttpMethod.Get).ConfigureAwait(false))
using (var stream = response.Content)
using (var reader = new StreamReader(stream, Encoding.UTF8))
return await XDocument.LoadAsync(
stream,
LoadOptions.None,
cancellationToken).ConfigureAwait(false);
}
catch
{
return XDocument.Parse(
await reader.ReadToEndAsync().ConfigureAwait(false),
LoadOptions.PreserveWhitespace);
return null;
}
}
private Task<HttpResponseInfo> PostSoapDataAsync(
private async Task<HttpResponseMessage> PostSoapDataAsync(
string url,
string soapAction,
string postData,
@@ -130,29 +122,20 @@ namespace Emby.Dlna.PlayTo
soapAction = $"\"{soapAction}\"";
}
var options = new HttpRequestOptions
{
Url = url,
UserAgent = USERAGENT,
LogErrorResponseBody = true,
BufferContent = false,
CancellationToken = cancellationToken
};
options.RequestHeaders["SOAPAction"] = soapAction;
options.RequestHeaders["Pragma"] = "no-cache";
options.RequestHeaders["FriendlyName.DLNA.ORG"] = FriendlyName;
using var options = new HttpRequestMessage(HttpMethod.Post, url);
options.Headers.UserAgent.ParseAdd(USERAGENT);
options.Headers.TryAddWithoutValidation("SOAPACTION", soapAction);
options.Headers.TryAddWithoutValidation("Pragma", "no-cache");
options.Headers.TryAddWithoutValidation("FriendlyName.DLNA.ORG", FriendlyName);
if (!string.IsNullOrEmpty(header))
{
options.RequestHeaders["contentFeatures.dlna.org"] = header;
options.Headers.TryAddWithoutValidation("contentFeatures.dlna.org", header);
}
options.RequestContentType = "text/xml";
options.RequestContent = postData;
options.Content = new StringContent(postData, Encoding.UTF8, MediaTypeNames.Text.Xml);
return _httpClient.Post(options);
return await _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(options, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
}
}
}

View File

@@ -1,13 +0,0 @@
#pragma warning disable CS1591
namespace Emby.Dlna.PlayTo
{
public enum TRANSPORTSTATE
{
STOPPED,
PLAYING,
TRANSITIONING,
PAUSED_PLAYBACK,
PAUSED
}
}

View File

@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Xml.Linq;
using Emby.Dlna.Common;
@@ -11,36 +12,28 @@ namespace Emby.Dlna.PlayTo
{
public class TransportCommands
{
private List<StateVariable> _stateVariables = new List<StateVariable>();
public List<StateVariable> StateVariables
{
get => _stateVariables;
set => _stateVariables = value;
}
private const string CommandBase = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">" + "<SOAP-ENV:Body>" + "<m:{0} xmlns:m=\"{1}\">" + "{2}" + "</m:{0}>" + "</SOAP-ENV:Body></SOAP-ENV:Envelope>";
private List<ServiceAction> _serviceActions = new List<ServiceAction>();
public List<ServiceAction> ServiceActions
{
get => _serviceActions;
set => _serviceActions = value;
}
public List<StateVariable> StateVariables { get; } = new List<StateVariable>();
public List<ServiceAction> ServiceActions { get; } = new List<ServiceAction>();
public static TransportCommands Create(XDocument document)
{
var command = new TransportCommands();
var actionList = document.Descendants(uPnpNamespaces.svc + "actionList");
var actionList = document.Descendants(UPnpNamespaces.Svc + "actionList");
foreach (var container in actionList.Descendants(uPnpNamespaces.svc + "action"))
foreach (var container in actionList.Descendants(UPnpNamespaces.Svc + "action"))
{
command.ServiceActions.Add(ServiceActionFromXml(container));
}
var stateValues = document.Descendants(uPnpNamespaces.ServiceStateTable).FirstOrDefault();
var stateValues = document.Descendants(UPnpNamespaces.ServiceStateTable).FirstOrDefault();
if (stateValues != null)
{
foreach (var container in stateValues.Elements(uPnpNamespaces.svc + "stateVariable"))
foreach (var container in stateValues.Elements(UPnpNamespaces.Svc + "stateVariable"))
{
command.StateVariables.Add(FromXml(container));
}
@@ -51,19 +44,19 @@ namespace Emby.Dlna.PlayTo
private static ServiceAction ServiceActionFromXml(XElement container)
{
var argumentList = new List<Argument>();
var serviceAction = new ServiceAction
{
Name = container.GetValue(UPnpNamespaces.Svc + "name") ?? string.Empty,
};
foreach (var arg in container.Descendants(uPnpNamespaces.svc + "argument"))
var argumentList = serviceAction.ArgumentList;
foreach (var arg in container.Descendants(UPnpNamespaces.Svc + "argument"))
{
argumentList.Add(ArgumentFromXml(arg));
}
return new ServiceAction
{
Name = container.GetValue(uPnpNamespaces.svc + "name"),
ArgumentList = argumentList
};
return serviceAction;
}
private static Argument ArgumentFromXml(XElement container)
@@ -75,30 +68,30 @@ namespace Emby.Dlna.PlayTo
return new Argument
{
Name = container.GetValue(uPnpNamespaces.svc + "name"),
Direction = container.GetValue(uPnpNamespaces.svc + "direction"),
RelatedStateVariable = container.GetValue(uPnpNamespaces.svc + "relatedStateVariable")
Name = container.GetValue(UPnpNamespaces.Svc + "name") ?? string.Empty,
Direction = container.GetValue(UPnpNamespaces.Svc + "direction") ?? string.Empty,
RelatedStateVariable = container.GetValue(UPnpNamespaces.Svc + "relatedStateVariable") ?? string.Empty
};
}
private static StateVariable FromXml(XElement container)
{
var allowedValues = new List<string>();
var element = container.Descendants(uPnpNamespaces.svc + "allowedValueList")
var allowedValues = Array.Empty<string>();
var element = container.Descendants(UPnpNamespaces.Svc + "allowedValueList")
.FirstOrDefault();
if (element != null)
{
var values = element.Descendants(uPnpNamespaces.svc + "allowedValue");
var values = element.Descendants(UPnpNamespaces.Svc + "allowedValue");
allowedValues.AddRange(values.Select(child => child.Value));
allowedValues = values.Select(child => child.Value).ToArray();
}
return new StateVariable
{
Name = container.GetValue(uPnpNamespaces.svc + "name"),
DataType = container.GetValue(uPnpNamespaces.svc + "dataType"),
AllowedValues = allowedValues.ToArray()
Name = container.GetValue(UPnpNamespaces.Svc + "name") ?? string.Empty,
DataType = container.GetValue(UPnpNamespaces.Svc + "dataType") ?? string.Empty,
AllowedValues = allowedValues
};
}
@@ -108,12 +101,12 @@ namespace Emby.Dlna.PlayTo
foreach (var arg in action.ArgumentList)
{
if (arg.Direction == "out")
if (string.Equals(arg.Direction, "out", StringComparison.Ordinal))
{
continue;
}
if (arg.Name == "InstanceID")
if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
{
stateString += BuildArgumentXml(arg, "0");
}
@@ -123,7 +116,7 @@ namespace Emby.Dlna.PlayTo
}
}
return string.Format(CommandBase, action.Name, xmlNamespace, stateString);
return string.Format(CultureInfo.InvariantCulture, CommandBase, action.Name, xmlNamespace, stateString);
}
public string BuildPost(ServiceAction action, string xmlNamesapce, object value, string commandParameter = "")
@@ -132,12 +125,12 @@ namespace Emby.Dlna.PlayTo
foreach (var arg in action.ArgumentList)
{
if (arg.Direction == "out")
if (string.Equals(arg.Direction, "out", StringComparison.Ordinal))
{
continue;
}
if (arg.Name == "InstanceID")
if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
{
stateString += BuildArgumentXml(arg, "0");
}
@@ -147,7 +140,7 @@ namespace Emby.Dlna.PlayTo
}
}
return string.Format(CommandBase, action.Name, xmlNamesapce, stateString);
return string.Format(CultureInfo.InvariantCulture, CommandBase, action.Name, xmlNamesapce, stateString);
}
public string BuildPost(ServiceAction action, string xmlNamesapce, object value, Dictionary<string, string> dictionary)
@@ -156,7 +149,7 @@ namespace Emby.Dlna.PlayTo
foreach (var arg in action.ArgumentList)
{
if (arg.Name == "InstanceID")
if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
{
stateString += BuildArgumentXml(arg, "0");
}
@@ -170,25 +163,22 @@ namespace Emby.Dlna.PlayTo
}
}
return string.Format(CommandBase, action.Name, xmlNamesapce, stateString);
return string.Format(CultureInfo.InvariantCulture, CommandBase, action.Name, xmlNamesapce, stateString);
}
private string BuildArgumentXml(Argument argument, string value, string commandParameter = "")
private string BuildArgumentXml(Argument argument, string? value, string commandParameter = "")
{
var state = StateVariables.FirstOrDefault(a => string.Equals(a.Name, argument.RelatedStateVariable, StringComparison.OrdinalIgnoreCase));
if (state != null)
{
var sendValue = state.AllowedValues.FirstOrDefault(a => string.Equals(a, commandParameter, StringComparison.OrdinalIgnoreCase)) ??
state.AllowedValues.FirstOrDefault() ??
value;
(state.AllowedValues.Count > 0 ? state.AllowedValues[0] : value);
return string.Format("<{0} xmlns:dt=\"urn:schemas-microsoft-com:datatypes\" dt:dt=\"{1}\">{2}</{0}>", argument.Name, state.DataType ?? "string", sendValue);
return string.Format(CultureInfo.InvariantCulture, "<{0} xmlns:dt=\"urn:schemas-microsoft-com:datatypes\" dt:dt=\"{1}\">{2}</{0}>", argument.Name, state.DataType ?? "string", sendValue);
}
return string.Format("<{0}>{1}</{0}>", argument.Name, value);
return string.Format(CultureInfo.InvariantCulture, "<{0}>{1}</{0}>", argument.Name, value);
}
private const string CommandBase = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">" + "<SOAP-ENV:Body>" + "<m:{0} xmlns:m=\"{1}\">" + "{2}" + "</m:{0}>" + "</SOAP-ENV:Body></SOAP-ENV:Envelope>";
}
}

View File

@@ -0,0 +1,13 @@
#pragma warning disable CS1591
namespace Emby.Dlna.PlayTo
{
public enum TransportState
{
Stopped,
Playing,
Transitioning,
PausedPlayback,
Paused
}
}

View File

@@ -6,22 +6,22 @@ using Emby.Dlna.Ssdp;
namespace Emby.Dlna.PlayTo
{
public class UpnpContainer : uBaseObject
public class UpnpContainer : UBaseObject
{
public static uBaseObject Create(XElement container)
public static UBaseObject Create(XElement container)
{
if (container == null)
{
throw new ArgumentNullException(nameof(container));
}
return new uBaseObject
return new UBaseObject
{
Id = container.GetAttributeValue(uPnpNamespaces.Id),
ParentId = container.GetAttributeValue(uPnpNamespaces.ParentId),
Title = container.GetValue(uPnpNamespaces.title),
IconUrl = container.GetValue(uPnpNamespaces.Artwork),
UpnpClass = container.GetValue(uPnpNamespaces.uClass)
Id = container.GetAttributeValue(UPnpNamespaces.Id),
ParentId = container.GetAttributeValue(UPnpNamespaces.ParentId),
Title = container.GetValue(UPnpNamespaces.Title),
IconUrl = container.GetValue(UPnpNamespaces.Artwork),
UpnpClass = container.GetValue(UPnpNamespaces.Class)
};
}
}

View File

@@ -1,10 +1,13 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
namespace Emby.Dlna.PlayTo
{
public class uBaseObject
public class UBaseObject
{
public string Id { get; set; }
@@ -20,20 +23,10 @@ namespace Emby.Dlna.PlayTo
public string Url { get; set; }
public string[] ProtocolInfo { get; set; }
public IReadOnlyList<string> ProtocolInfo { get; set; }
public string UpnpClass { get; set; }
public bool Equals(uBaseObject obj)
{
if (obj == null)
{
throw new ArgumentNullException(nameof(obj));
}
return string.Equals(Id, obj.Id);
}
public string MediaType
{
get
@@ -58,5 +51,15 @@ namespace Emby.Dlna.PlayTo
return null;
}
}
public bool Equals(UBaseObject obj)
{
if (obj == null)
{
throw new ArgumentNullException(nameof(obj));
}
return string.Equals(Id, obj.Id, StringComparison.Ordinal);
}
}
}

View File

@@ -4,38 +4,64 @@ using System.Xml.Linq;
namespace Emby.Dlna.PlayTo
{
public class uPnpNamespaces
public static class UPnpNamespaces
{
public static XNamespace dc = "http://purl.org/dc/elements/1.1/";
public static XNamespace ns = "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/";
public static XNamespace svc = "urn:schemas-upnp-org:service-1-0";
public static XNamespace ud = "urn:schemas-upnp-org:device-1-0";
public static XNamespace upnp = "urn:schemas-upnp-org:metadata-1-0/upnp/";
public static XNamespace RenderingControl = "urn:schemas-upnp-org:service:RenderingControl:1";
public static XNamespace AvTransport = "urn:schemas-upnp-org:service:AVTransport:1";
public static XNamespace ContentDirectory = "urn:schemas-upnp-org:service:ContentDirectory:1";
public static XNamespace Dc { get; } = "http://purl.org/dc/elements/1.1/";
public static XName containers = ns + "container";
public static XName items = ns + "item";
public static XName title = dc + "title";
public static XName creator = dc + "creator";
public static XName artist = upnp + "artist";
public static XName Id = "id";
public static XName ParentId = "parentID";
public static XName uClass = upnp + "class";
public static XName Artwork = upnp + "albumArtURI";
public static XName Description = dc + "description";
public static XName LongDescription = upnp + "longDescription";
public static XName Album = upnp + "album";
public static XName Author = upnp + "author";
public static XName Director = upnp + "director";
public static XName PlayCount = upnp + "playbackCount";
public static XName Tracknumber = upnp + "originalTrackNumber";
public static XName Res = ns + "res";
public static XName Duration = "duration";
public static XName ProtocolInfo = "protocolInfo";
public static XNamespace Ns { get; } = "urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/";
public static XName ServiceStateTable = svc + "serviceStateTable";
public static XName StateVariable = svc + "stateVariable";
public static XNamespace Svc { get; } = "urn:schemas-upnp-org:service-1-0";
public static XNamespace Ud { get; } = "urn:schemas-upnp-org:device-1-0";
public static XNamespace UPnp { get; } = "urn:schemas-upnp-org:metadata-1-0/upnp/";
public static XNamespace RenderingControl { get; } = "urn:schemas-upnp-org:service:RenderingControl:1";
public static XNamespace AvTransport { get; } = "urn:schemas-upnp-org:service:AVTransport:1";
public static XNamespace ContentDirectory { get; } = "urn:schemas-upnp-org:service:ContentDirectory:1";
public static XName Containers { get; } = Ns + "container";
public static XName Items { get; } = Ns + "item";
public static XName Title { get; } = Dc + "title";
public static XName Creator { get; } = Dc + "creator";
public static XName Artist { get; } = UPnp + "artist";
public static XName Id { get; } = "id";
public static XName ParentId { get; } = "parentID";
public static XName Class { get; } = UPnp + "class";
public static XName Artwork { get; } = UPnp + "albumArtURI";
public static XName Description { get; } = Dc + "description";
public static XName LongDescription { get; } = UPnp + "longDescription";
public static XName Album { get; } = UPnp + "album";
public static XName Author { get; } = UPnp + "author";
public static XName Director { get; } = UPnp + "director";
public static XName PlayCount { get; } = UPnp + "playbackCount";
public static XName Tracknumber { get; } = UPnp + "originalTrackNumber";
public static XName Res { get; } = Ns + "res";
public static XName Duration { get; } = "duration";
public static XName ProtocolInfo { get; } = "protocolInfo";
public static XName ServiceStateTable { get; } = Svc + "serviceStateTable";
public static XName StateVariable { get; } = Svc + "stateVariable";
}
}

View File

@@ -1,5 +1,7 @@
#pragma warning disable CS1591
using System;
using System.Globalization;
using System.Linq;
using MediaBrowser.Model.Dlna;
@@ -10,6 +12,7 @@ namespace Emby.Dlna.Profiles
{
public DefaultProfile()
{
Id = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
Name = "Generic Device";
ProtocolInfo = "http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*:image/jpeg:*,http-get:*:image/png:*,http-get:*:image/gif:*,http-get:*:image/tiff:*";
@@ -64,14 +67,14 @@ namespace Emby.Dlna.Profiles
new DirectPlayProfile
{
// play all
Container = "",
Container = string.Empty,
Type = DlnaProfileType.Video
},
new DirectPlayProfile
{
// play all
Container = "",
Container = string.Empty,
Type = DlnaProfileType.Audio
}
};

View File

@@ -24,7 +24,7 @@ namespace Emby.Dlna.Profiles
{
Match = HeaderMatchType.Substring,
Name = "User-Agent",
Value ="Zip_"
Value = "Zip_"
}
}
};
@@ -81,7 +81,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -124,7 +124,7 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -161,7 +161,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3,he-aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -177,7 +177,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -192,7 +192,7 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.VideoAudio,
Conditions = new []
Conditions = new[]
{
// The device does not have any audio switching capabilities
new ProfileCondition

View File

@@ -84,7 +84,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -191,7 +191,7 @@ namespace Emby.Dlna.Profiles
}
};
ResponseProfiles = new ResponseProfile[]
ResponseProfiles = new[]
{
new ResponseProfile
{

View File

@@ -32,7 +32,7 @@ namespace Emby.Dlna.Profiles
}
};
ResponseProfiles = new ResponseProfile[]
ResponseProfiles = new[]
{
new ResponseProfile
{

View File

@@ -138,7 +138,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -93,8 +93,8 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Codec="h264",
Conditions = new []
Codec = "h264",
Conditions = new[]
{
new ProfileCondition(ProfileConditionType.EqualsAny, ProfileConditionValue.VideoProfile, "baseline|constrained baseline"),
new ProfileCondition
@@ -122,7 +122,7 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -150,7 +150,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -166,7 +166,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Audio,
Codec = "aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -182,7 +182,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Audio,
Codec = "mp3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -202,7 +202,7 @@ namespace Emby.Dlna.Profiles
}
};
ResponseProfiles = new ResponseProfile[]
ResponseProfiles = new[]
{
new ResponseProfile
{

View File

@@ -139,7 +139,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -150,7 +150,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -178,7 +178,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -197,7 +197,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -150,7 +150,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -178,7 +178,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -197,7 +197,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -138,7 +138,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -166,7 +166,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -185,7 +185,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -138,7 +138,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -166,7 +166,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -185,7 +185,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -114,7 +114,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -156,7 +156,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -172,7 +172,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.VideoAudio,
Codec = "aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -191,7 +191,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -217,7 +217,7 @@ namespace Emby.Dlna.Profiles
VideoCodec = "h264,mpeg4,vc1",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
OrgPn = "MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
Type = DlnaProfileType.Video
},

View File

@@ -13,7 +13,7 @@ namespace Emby.Dlna.Profiles
Identification = new DeviceIdentification
{
FriendlyName = @"KDL-\d{2}[EHLNPB]X\d[01]\d.*",
FriendlyName = @"KDL-[0-9]{2}[EHLNPB]X[0-9][01][0-9].*",
Manufacturer = "Sony",
Headers = new[]
@@ -21,7 +21,7 @@ namespace Emby.Dlna.Profiles
new HttpHeaderInfo
{
Name = "X-AV-Client-Info",
Value = @".*KDL-\d{2}[EHLNPB]X\d[01]\d.*",
Value = @".*KDL-[0-9]{2}[EHLNPB]X[0-9][01][0-9].*",
Match = HeaderMatchType.Regex
}
}
@@ -102,13 +102,13 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T",
OrgPn = "AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T",
Type = DlnaProfileType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -128,13 +128,13 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/mpeg",
OrgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO",
OrgPn = "AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO",
Type = DlnaProfileType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -148,28 +148,28 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU",
OrgPn = "AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU",
Type = DlnaProfileType.Video
},
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="mpeg2video",
VideoCodec = "mpeg2video",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
OrgPn = "MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
Type = DlnaProfileType.Video
},
new ResponseProfile
{
Container = "mpeg",
VideoCodec="mpeg1video,mpeg2video",
VideoCodec = "mpeg1video,mpeg2video",
MimeType = "video/mpeg",
OrgPn="MPEG_PS_NTSC,MPEG_PS_PAL",
OrgPn = "MPEG_PS_NTSC,MPEG_PS_PAL",
Type = DlnaProfileType.Video
}
};
@@ -180,7 +180,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -204,7 +204,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -243,7 +243,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "mpeg2video",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -275,7 +275,7 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -303,7 +303,7 @@ namespace Emby.Dlna.Profiles
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -319,7 +319,7 @@ namespace Emby.Dlna.Profiles
Type = CodecType.VideoAudio,
Codec = "aac",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -341,7 +341,7 @@ namespace Emby.Dlna.Profiles
Type = CodecType.VideoAudio,
Codec = "mp3,mp2",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

View File

@@ -13,7 +13,7 @@ namespace Emby.Dlna.Profiles
Identification = new DeviceIdentification
{
FriendlyName = @"KDL-\d{2}([A-Z]X\d2\d|CX400).*",
FriendlyName = @"KDL-[0-9]{2}([A-Z]X[0-9]2[0-9]|CX400).*",
Manufacturer = "Sony",
Headers = new[]
@@ -21,7 +21,7 @@ namespace Emby.Dlna.Profiles
new HttpHeaderInfo
{
Name = "X-AV-Client-Info",
Value = @".*KDL-\d{2}([A-Z]X\d2\d|CX400).*",
Value = @".*KDL-[0-9]{2}([A-Z]X[0-9]2[0-9]|CX400).*",
Match = HeaderMatchType.Regex
}
}
@@ -120,7 +120,7 @@ namespace Emby.Dlna.Profiles
{
Type = DlnaProfileType.Photo,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -143,13 +143,13 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T",
OrgPn = "AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T",
Type = DlnaProfileType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -169,13 +169,13 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/mpeg",
OrgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO",
OrgPn = "AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO",
Type = DlnaProfileType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -189,28 +189,28 @@ namespace Emby.Dlna.Profiles
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="h264",
AudioCodec="ac3,aac,mp3",
VideoCodec = "h264",
AudioCodec = "ac3,aac,mp3",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU",
OrgPn = "AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU",
Type = DlnaProfileType.Video
},
new ResponseProfile
{
Container = "ts,mpegts",
VideoCodec="mpeg2video",
VideoCodec = "mpeg2video",
MimeType = "video/vnd.dlna.mpeg-tts",
OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
OrgPn = "MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
Type = DlnaProfileType.Video
},
new ResponseProfile
{
Container = "mpeg",
VideoCodec="mpeg1video,mpeg2video",
VideoCodec = "mpeg1video,mpeg2video",
MimeType = "video/mpeg",
OrgPn="MPEG_PS_NTSC,MPEG_PS_PAL",
OrgPn = "MPEG_PS_NTSC,MPEG_PS_PAL",
Type = DlnaProfileType.Video
},
new ResponseProfile
@@ -227,7 +227,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "h264",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -266,7 +266,7 @@ namespace Emby.Dlna.Profiles
{
Type = CodecType.Video,
Codec = "mpeg2video",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -298,7 +298,7 @@ namespace Emby.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -326,7 +326,7 @@ namespace Emby.Dlna.Profiles
Type = CodecType.VideoAudio,
Codec = "ac3",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{
@@ -364,7 +364,7 @@ namespace Emby.Dlna.Profiles
Type = CodecType.VideoAudio,
Codec = "mp3,mp2",
Conditions = new []
Conditions = new[]
{
new ProfileCondition
{

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