diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-03-18 16:55:21 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-18 16:55:21 -0600 |
| commit | e1527857e931527f68b9705e248bd7bc83c62940 (patch) | |
| tree | 27ce3e9e3838011e5aca5dbef225172bb06946a2 | |
| parent | 6a567e8c76a37331f193359cdc090627ab02e244 (diff) | |
| parent | 75475285da4f95f0b8e8075a0367229acbc28ac2 (diff) | |
Merge pull request #7468 from jakobkukla/master
| -rw-r--r-- | CONTRIBUTORS.md | 1 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/MediaSourceManager.cs | 26 |
2 files changed, 16 insertions, 11 deletions
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c7b33d1c3..87086a728 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -224,3 +224,4 @@ - [lbenini](https://github.com/lbenini) - [gnuyent](https://github.com/gnuyent) - [Matthew Jones](https://github.com/matthew-jones-uk) + - [Jakob Kukla](https://github.com/jakobkukla) 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); + } } } |
