Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into hwa
Browse files Browse the repository at this point in the history
  • Loading branch information
nyanmisaka committed Dec 24, 2021
2 parents 7db753d + 2e7d173 commit 728a598
Show file tree
Hide file tree
Showing 251 changed files with 3,184 additions and 3,002 deletions.
20 changes: 20 additions & 0 deletions .ci/azure-pipelines-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ jobs:
vmImage: 'ubuntu-latest'

steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')

- script: './bump-version $(JellyfinVersion)'
displayName: Bump internal version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')

- script: 'docker build -f deployment/Dockerfile.$(BuildConfiguration) -t jellyfin-server-$(BuildConfiguration) deployment'
displayName: 'Build Dockerfile'

Expand Down Expand Up @@ -80,6 +88,14 @@ jobs:
vmImage: 'ubuntu-latest'

steps:
- script: echo "##vso[task.setvariable variable=JellyfinVersion]$( awk -F '/' '{ print $NF }' <<<'$(Build.SourceBranch)' | sed 's/^v//' )"
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')

- script: './bump-version $(JellyfinVersion)'
displayName: Bump internal version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')

- task: DownloadPipelineArtifact@2
displayName: 'Download OpenAPI Spec'
inputs:
Expand Down Expand Up @@ -127,6 +143,10 @@ jobs:
displayName: Set release version (stable)
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')

- script: './bump-version $(JellyfinVersion)'
displayName: Bump internal 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')
Expand Down
1 change: 1 addition & 0 deletions .copr
1 change: 0 additions & 1 deletion .copr/Makefile

This file was deleted.

1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@
- [ianjazz246](https://github.com/ianjazz246)
- [peterspenler](https://github.com/peterspenler)
- [MBR-0001](https://github.com/MBR-0001)
- [jonas-resch](https://github.com/jonas-resch)

# Emby Contributors

Expand Down
54 changes: 23 additions & 31 deletions Emby.Dlna/ContentDirectory/ControlHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,16 @@
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.TV;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.Querying;
using Microsoft.Extensions.Logging;
using Book = MediaBrowser.Controller.Entities.Book;
using Episode = MediaBrowser.Controller.Entities.TV.Episode;
using Genre = MediaBrowser.Controller.Entities.Genre;
using Movie = MediaBrowser.Controller.Entities.Movies.Movie;
using MusicAlbum = MediaBrowser.Controller.Entities.Audio.MusicAlbum;
using Series = MediaBrowser.Controller.Entities.TV.Series;

namespace Emby.Dlna.ContentDirectory
{
Expand Down Expand Up @@ -539,7 +531,7 @@ private static QueryResult<BaseItem> GetChildrenSorted(BaseItem item, User user,
User = user,
Recursive = true,
IsMissing = false,
ExcludeItemTypes = new[] { nameof(Book) },
ExcludeItemTypes = new[] { BaseItemKind.Book },
IsFolder = isFolder,
MediaTypes = mediaTypes,
DtoOptions = GetDtoOptions()
Expand Down Expand Up @@ -619,7 +611,7 @@ private QueryResult<ServerItem> GetUserItems(BaseItem item, StubType? stubType,
Limit = limit,
StartIndex = startIndex,
IsVirtualItem = false,
ExcludeItemTypes = new[] { nameof(Book) },
ExcludeItemTypes = new[] { BaseItemKind.Book },
IsPlaceHolder = false,
DtoOptions = GetDtoOptions(),
OrderBy = GetOrderBy(sort, folder.IsPreSorted)
Expand All @@ -644,7 +636,7 @@ private QueryResult<ServerItem> GetLiveTvChannels(User user, SortCriteria sort,
{
StartIndex = startIndex,
Limit = limit,
IncludeItemTypes = new[] { nameof(LiveTvChannel) },
IncludeItemTypes = new[] { BaseItemKind.LiveTvChannel },
OrderBy = GetOrderBy(sort, false)
};

Expand Down Expand Up @@ -675,23 +667,23 @@ private QueryResult<ServerItem> GetMusicFolders(BaseItem item, User user, StubTy
switch (stubType)
{
case StubType.Latest:
return GetLatest(item, query, nameof(Audio));
return GetLatest(item, query, BaseItemKind.Audio);
case StubType.Playlists:
return GetMusicPlaylists(query);
case StubType.Albums:
return GetChildrenOfItem(item, query, nameof(MusicAlbum));
return GetChildrenOfItem(item, query, BaseItemKind.MusicAlbum);
case StubType.Artists:
return GetMusicArtists(item, query);
case StubType.AlbumArtists:
return GetMusicAlbumArtists(item, query);
case StubType.FavoriteAlbums:
return GetChildrenOfItem(item, query, nameof(MusicAlbum), true);
return GetChildrenOfItem(item, query, BaseItemKind.MusicAlbum, true);
case StubType.FavoriteArtists:
return GetFavoriteArtists(item, query);
case StubType.FavoriteSongs:
return GetChildrenOfItem(item, query, nameof(Audio), true);
return GetChildrenOfItem(item, query, BaseItemKind.Audio, true);
case StubType.Songs:
return GetChildrenOfItem(item, query, nameof(Audio));
return GetChildrenOfItem(item, query, BaseItemKind.Audio);
case StubType.Genres:
return GetMusicGenres(item, query);
}
Expand Down Expand Up @@ -746,13 +738,13 @@ private QueryResult<ServerItem> GetMovieFolders(BaseItem item, User user, StubTy
case StubType.ContinueWatching:
return GetMovieContinueWatching(item, query);
case StubType.Latest:
return GetLatest(item, query, nameof(Movie));
return GetLatest(item, query, BaseItemKind.Movie);
case StubType.Movies:
return GetChildrenOfItem(item, query, nameof(Movie));
return GetChildrenOfItem(item, query, BaseItemKind.Movie);
case StubType.Collections:
return GetMovieCollections(query);
case StubType.Favorites:
return GetChildrenOfItem(item, query, nameof(Movie), true);
return GetChildrenOfItem(item, query, BaseItemKind.Movie, true);
case StubType.Genres:
return GetGenres(item, query);
}
Expand Down Expand Up @@ -831,13 +823,13 @@ private QueryResult<ServerItem> GetTvFolders(BaseItem item, User user, StubType?
case StubType.NextUp:
return GetNextUp(item, query);
case StubType.Latest:
return GetLatest(item, query, nameof(Episode));
return GetLatest(item, query, BaseItemKind.Episode);
case StubType.Series:
return GetChildrenOfItem(item, query, nameof(Series));
return GetChildrenOfItem(item, query, BaseItemKind.Series);
case StubType.FavoriteSeries:
return GetChildrenOfItem(item, query, nameof(Series), true);
return GetChildrenOfItem(item, query, BaseItemKind.Series, true);
case StubType.FavoriteEpisodes:
return GetChildrenOfItem(item, query, nameof(Episode), true);
return GetChildrenOfItem(item, query, BaseItemKind.Episode, true);
case StubType.Genres:
return GetGenres(item, query);
}
Expand Down Expand Up @@ -898,7 +890,7 @@ private QueryResult<ServerItem> GetMovieContinueWatching(BaseItem parent, Intern
private QueryResult<ServerItem> GetMovieCollections(InternalItemsQuery query)
{
query.Recursive = true;
query.IncludeItemTypes = new[] { nameof(BoxSet) };
query.IncludeItemTypes = new[] { BaseItemKind.BoxSet };

var result = _libraryManager.GetItemsResult(query);

Expand All @@ -913,7 +905,7 @@ private QueryResult<ServerItem> GetMovieCollections(InternalItemsQuery query)
/// <param name="itemType">The item type.</param>
/// <param name="isFavorite">A value indicating whether to only fetch favorite items.</param>
/// <returns>The <see cref="QueryResult{ServerItem}"/>.</returns>
private QueryResult<ServerItem> GetChildrenOfItem(BaseItem parent, InternalItemsQuery query, string itemType, bool isFavorite = false)
private QueryResult<ServerItem> GetChildrenOfItem(BaseItem parent, InternalItemsQuery query, BaseItemKind itemType, bool isFavorite = false)
{
query.Recursive = true;
query.Parent = parent;
Expand Down Expand Up @@ -1013,7 +1005,7 @@ private QueryResult<ServerItem> GetFavoriteArtists(BaseItem parent, InternalItem
private QueryResult<ServerItem> GetMusicPlaylists(InternalItemsQuery query)
{
query.Parent = null;
query.IncludeItemTypes = new[] { nameof(Playlist) };
query.IncludeItemTypes = new[] { BaseItemKind.Playlist };
query.Recursive = true;

var result = _libraryManager.GetItemsResult(query);
Expand Down Expand Up @@ -1052,7 +1044,7 @@ private QueryResult<ServerItem> GetNextUp(BaseItem parent, InternalItemsQuery qu
/// <param name="query">The <see cref="InternalItemsQuery"/>.</param>
/// <param name="itemType">The item type.</param>
/// <returns>The <see cref="QueryResult{ServerItem}"/>.</returns>
private QueryResult<ServerItem> GetLatest(BaseItem parent, InternalItemsQuery query, string itemType)
private QueryResult<ServerItem> GetLatest(BaseItem parent, InternalItemsQuery query, BaseItemKind itemType)
{
query.OrderBy = Array.Empty<(string, SortOrder)>();

Expand Down Expand Up @@ -1086,7 +1078,7 @@ private QueryResult<ServerItem> GetMusicArtistItems(BaseItem item, User user, So
{
Recursive = true,
ArtistIds = new[] { item.Id },
IncludeItemTypes = new[] { nameof(MusicAlbum) },
IncludeItemTypes = new[] { BaseItemKind.MusicAlbum },
Limit = limit,
StartIndex = startIndex,
DtoOptions = GetDtoOptions(),
Expand Down Expand Up @@ -1115,8 +1107,8 @@ private QueryResult<ServerItem> GetGenreItems(BaseItem item, User user, SortCrit
GenreIds = new[] { item.Id },
IncludeItemTypes = new[]
{
nameof(Movie),
nameof(Series)
BaseItemKind.Movie,
BaseItemKind.Series
},
Limit = limit,
StartIndex = startIndex,
Expand Down Expand Up @@ -1144,7 +1136,7 @@ private QueryResult<ServerItem> GetMusicGenreItems(BaseItem item, User user, Sor
{
Recursive = true,
GenreIds = new[] { item.Id },
IncludeItemTypes = new[] { nameof(MusicAlbum) },
IncludeItemTypes = new[] { BaseItemKind.MusicAlbum },
Limit = limit,
StartIndex = startIndex,
DtoOptions = GetDtoOptions(),
Expand Down
1 change: 0 additions & 1 deletion Emby.Dlna/DlnaManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
Expand Down
2 changes: 1 addition & 1 deletion Emby.Dlna/Main/DlnaEntryPoint.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public sealed class DlnaEntryPoint : IServerEntryPoint, IRunBeforeStartup
config);
Current = this;

var netConfig = config.GetConfiguration<NetworkConfiguration>("network");
var netConfig = config.GetConfiguration<NetworkConfiguration>(NetworkConfigurationStore.StoreKey);
_disabled = appHost.ListenWithHttps && netConfig.RequireHttps;

if (_disabled && _config.GetDlnaConfiguration().EnableServer)
Expand Down
10 changes: 5 additions & 5 deletions Emby.Naming/AudioBook/AudioBookListResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ namespace Emby.Naming.AudioBook
public class AudioBookListResolver
{
private readonly NamingOptions _options;
private readonly AudioBookResolver _audioBookResolver;

/// <summary>
/// Initializes a new instance of the <see cref="AudioBookListResolver"/> class.
Expand All @@ -22,6 +23,7 @@ public class AudioBookListResolver
public AudioBookListResolver(NamingOptions options)
{
_options = options;
_audioBookResolver = new AudioBookResolver(_options);
}

/// <summary>
Expand All @@ -31,21 +33,19 @@ public AudioBookListResolver(NamingOptions options)
/// <returns>Returns IEnumerable of <see cref="AudioBookInfo"/>.</returns>
public IEnumerable<AudioBookInfo> Resolve(IEnumerable<FileSystemMetadata> files)
{
var audioBookResolver = new AudioBookResolver(_options);

// File with empty fullname will be sorted out here.
var audiobookFileInfos = files
.Select(i => audioBookResolver.Resolve(i.FullName))
.Select(i => _audioBookResolver.Resolve(i.FullName))
.OfType<AudioBookFileInfo>()
.ToList();

var stackResult = new StackResolver(_options)
.ResolveAudioBooks(audiobookFileInfos);
var stackResult = StackResolver.ResolveAudioBooks(audiobookFileInfos);

foreach (var stack in stackResult)
{
var stackFiles = stack.Files
.Select(i => audioBookResolver.Resolve(i))
.Select(i => _audioBookResolver.Resolve(i))
.OfType<AudioBookFileInfo>()
.ToList();

Expand Down
4 changes: 2 additions & 2 deletions Emby.Naming/AudioBook/AudioBookResolver.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.IO;
using System.Linq;
using Emby.Naming.Common;
using Jellyfin.Extensions;

namespace Emby.Naming.AudioBook
{
Expand Down Expand Up @@ -37,7 +37,7 @@ public AudioBookResolver(NamingOptions options)
var extension = Path.GetExtension(path);

// Check supported extensions
if (!_options.AudioFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))
if (!_options.AudioFileExtensions.Contains(extension, StringComparison.OrdinalIgnoreCase))
{
return null;
}
Expand Down

0 comments on commit 728a598

Please sign in to comment.