Commit Graph

3548 Commits

Author SHA1 Message Date
crobibero
b6dda30a33 Fix suggestions from review 2021-05-15 15:33:50 -06: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
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
Bond_009
56ac64e70a Minor improvements
* properly dispose CancellationTokenSource
* rewrite DynamicHlsController.GetSegmentLengths
* remove dead code
2021-05-08 00:33:24 +02: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
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
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
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
Claus Vium
b9d18f0fa7
Merge branch 'master' into allocationz 2021-05-03 22:52:31 +02:00
Bond_009
c608d5104d Fix scanning 2021-05-01 15:56:16 +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
608cba817c Reduce some allocations with the magic of spans etc. 2021-04-30 15:09:36 +02: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
7195d3e42f
Merge pull request #5893 from Bond-009/db
SqliteItemRepository: remove redundant operations
2021-04-29 21:13:24 +02:00
cvium
77261a8445 add UpdatePeopleAsync and add people to both tables 2021-04-24 20:22:23 +02: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
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
Bond_009
b323044139 Reduce string allocations/fs lookups in resolve code 2021-04-22 01:24:21 +02:00
Bond_009
f46195899e Improve perf of db save and query 2021-04-21 22:25:08 +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
48ed4b016c
Merge pull request #5808 from cvium/semi-fix-collection-perf 2021-04-21 13:52:51 +02: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
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
cvium
d44b2e2ee5 fixes 2021-04-13 20:12:50 +02:00
cvium
723b6abcb3 Optimize the way items are grouped into collections 2021-04-13 15:38:13 +02: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
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ø
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
b2fbf97abd
Merge pull request #4988 from Bond-009/crop 2021-04-10 02:57:43 +02:00
Claus Vium
9d0467addf
Merge pull request #5725 from BrianCArnold/Fix2845_PlaylistDeletion 2021-04-08 14:25:51 +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
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
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
cvium
7670189561 make directoryservice cache case sensitive 2021-03-27 00:26:56 +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
16011d96a0
Merge pull request #5321 from Ullmie02/nfo-thumb 2021-03-25 01:10:37 +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
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
Joshua M. Boniface
890a490776
Merge pull request #5532 from cvium/fix_episode_extras_questionmark 2021-03-21 15:13:56 -04:00
LIAUD
32853ca244 Add 'group-title' channel parsing 2021-03-20 20:15:19 +01:00
cvium
ab0cff8556 do not resolve episode-like files if they are in extras folders 2021-03-14 19:56:45 +01: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
Bond_009
a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
cvium
c5a870051a Use distinct for artists to avoid double refreshing 2021-03-10 08:20:02 +01:00
Bond_009
9ed7f429c0 FxCop -> Net Analyzers (part 1) 2021-03-09 03:04:47 +01:00
Patrick Barron
f638ee6b09 Enable nullable for Jellyfin.Data and remove unnecessary attributes 2021-03-06 17:43:01 -05:00
David
16694b0cfc Add nfo thumb tag support 2021-02-28 15:00:17 +01:00
BaronGreenback
caa8e7cdf3 fixed build 2021-02-28 10:16:28 +00:00
Claus Vium
9e77fdc70d
Merge pull request #5312 from BaronGreenback/FixFor5280 2021-02-27 20:01:51 +01:00
BaronGreenback
9f03064ad8
Update MediaBrowser.Controller/IServerApplicationHost.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-27 17:34:44 +00:00
BaronGreenback
a25e3c0256 fix for override ports contained in PublishedServerUrl 2021-02-27 13:56:21 +00:00
Bond_009
914e891689 Fix unchecked input 2021-02-24 02:05:12 +01:00
dkanada
13d65318eb
Merge pull request #5223 from Bond-009/minor10
Minor improvements
2021-02-20 10:56:55 +09:00
crobibero
0cce843f07 Fix vpp null reference 2021-02-16 19:14:17 -07:00
Orry Verducci
b718eed314 Use average frame rate when determining deinterlace mode 2021-02-13 15:27:19 +00:00
Bond_009
65bab55ca0 Minor improvements 2021-02-13 00:39:18 +01:00
crobibero
223b42aed3 Create BaseItemKind enum 2021-02-10 17:09:23 -07:00
Joshua M. Boniface
bd8c269ea2
Merge pull request #5107 from jellyfin/enhanced-nvdec-vpp-tonemap 2021-02-10 01:24:51 -05: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
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
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
dkanada
86859a3926
Merge pull request #5010 from BaronGreenback/Remove_IPluginConfigurationPage
Removal of IPluginConfigurationPage
2021-02-05 11:38:44 +09:00
nyanmisaka
326fa8ce38 add an enhanced nvdec decoder 2021-01-25 03:40:34 +08: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
c6aa6ceed9 Removal of IPluginConfigurationPage 2021-01-12 22:10:23 +00: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
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
Ian
0f4bbbc63c Fix 3169 and 2879 by making MusicArtistResolver run ahead of MusicAlbumResolver 2021-01-06 10:58:07 -08:00
Cody Robibero
5c57569692
Merge branch 'master' into PluginDowngrade 2020-12-30 18:11:37 -07:00
Bond-009
054adf6379
Merge pull request #4853 from Ullmie02/servicestack-json 2020-12-30 10:33:32 +01:00
Nyanmisaka
470f40442c
not apply to progressive playback 2020-12-26 02:28:38 +08: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
nyanmisaka
b61541b6f7 fix some profiles for H264 AMF encoder 2020-12-24 01:32:23 +08:00
BaronGreenback
889e988167 Updated to latest unstable. 2020-12-23 17:25:34 +00:00
David
b9dbdc7e54 Remove custom Json serializer from MediaBrowser.Controller 2020-12-23 13:25:49 +01:00
Nyanmisaka
ac03ef57c9
allow empty video encoder profile
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-12-19 01:47:31 +08: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
Claus Vium
21d2e9ff0c
Merge pull request #4771 from crobibero/typed-get-preference
Use typed UserManager GetPreference
2020-12-16 22:15:56 +01:00
BaronGreenback
67c480ad53
Merge branch 'master' into PluginDowngrade 2020-12-15 01:15:54 +00:00