aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/MediaSourceManager.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2022-03-18 16:55:21 -0600
committerGitHub <noreply@github.com>2022-03-18 16:55:21 -0600
commite1527857e931527f68b9705e248bd7bc83c62940 (patch)
tree27ce3e9e3838011e5aca5dbef225172bb06946a2 /Emby.Server.Implementations/Library/MediaSourceManager.cs
parent6a567e8c76a37331f193359cdc090627ab02e244 (diff)
parent75475285da4f95f0b8e8075a0367229acbc28ac2 (diff)
Merge pull request #7468 from jakobkukla/master
Diffstat (limited to 'Emby.Server.Implementations/Library/MediaSourceManager.cs')
-rw-r--r--Emby.Server.Implementations/Library/MediaSourceManager.cs26
1 files changed, 15 insertions, 11 deletions
diff --git a/Emby.Server.Implementations/Library/MediaSourceManager.cs b/Emby.Server.Implementations/Library/MediaSourceManager.cs
index c9202c264..d9a1a5487 100644
--- a/Emby.Server.Implementations/Library/MediaSourceManager.cs
+++ b/Emby.Server.Implementations/Library/MediaSourceManager.cs
@@ -172,24 +172,16 @@ namespace Emby.Server.Implementations.Library
foreach (var source in dynamicMediaSources)
{
- if (user != null)
- {
- SetDefaultAudioAndSubtitleStreamIndexes(item, source, user);
- }
-
// Validate that this is actually possible
if (source.SupportsDirectStream)
{
source.SupportsDirectStream = SupportsDirectStream(source.Path, source.Protocol);
}
- list.Add(source);
- }
-
- if (user != null)
- {
- foreach (var source in list)
+ if (user != null)
{
+ SetDefaultAudioAndSubtitleStreamIndexes(item, source, user);
+
if (string.Equals(item.MediaType, MediaType.Audio, StringComparison.OrdinalIgnoreCase))
{
source.SupportsTranscoding = user.HasPermission(PermissionKind.EnableAudioPlaybackTranscoding);
@@ -200,6 +192,8 @@ namespace Emby.Server.Implementations.Library
source.SupportsDirectStream = user.HasPermission(PermissionKind.EnablePlaybackRemuxing);
}
}
+
+ list.Add(source);
}
return SortMediaSources(list);
@@ -338,6 +332,16 @@ namespace Emby.Server.Implementations.Library
foreach (var source in sources)
{
SetDefaultAudioAndSubtitleStreamIndexes(item, source, user);
+
+ if (string.Equals(item.MediaType, MediaType.Audio, StringComparison.OrdinalIgnoreCase))
+ {
+ source.SupportsTranscoding = user.HasPermission(PermissionKind.EnableAudioPlaybackTranscoding);
+ }
+ else if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase))
+ {
+ source.SupportsTranscoding = user.HasPermission(PermissionKind.EnableVideoPlaybackTranscoding);
+ source.SupportsDirectStream = user.HasPermission(PermissionKind.EnablePlaybackRemuxing);
+ }
}
}