aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Playlists
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Playlists')
-rw-r--r--Emby.Server.Implementations/Playlists/PlaylistManager.cs25
1 files changed, 6 insertions, 19 deletions
diff --git a/Emby.Server.Implementations/Playlists/PlaylistManager.cs b/Emby.Server.Implementations/Playlists/PlaylistManager.cs
index 409414139c..8208c85222 100644
--- a/Emby.Server.Implementations/Playlists/PlaylistManager.cs
+++ b/Emby.Server.Implementations/Playlists/PlaylistManager.cs
@@ -219,28 +219,15 @@ namespace Emby.Server.Implementations.Playlists
var playlist = _libraryManager.GetItemById(playlistId) as Playlist
?? throw new ArgumentException("No Playlist exists with Id " + playlistId);
- // Retrieve all the items to be added to the playlist
+ // Retrieve all the items to be added to the playlist.
var newItems = GetPlaylistItems(newItemIds, user, options)
.Where(i => i.SupportsAddingToPlaylist);
- // Filter out duplicate items
- var existingIds = playlist.LinkedChildren.Select(c => c.ItemId).ToHashSet();
- newItems = newItems
- .Where(i => !existingIds.Contains(i.Id))
- .Distinct();
-
// Create a list of the new linked children to add to the playlist
var childrenToAdd = newItems
.Select(LinkedChild.Create)
.ToList();
- // Log duplicates that have been ignored, if any
- int numDuplicates = newItemIds.Count - childrenToAdd.Count;
- if (numDuplicates > 0)
- {
- _logger.LogWarning("Ignored adding {DuplicateCount} duplicate items to playlist {PlaylistName}.", numDuplicates, playlist.Name);
- }
-
// Do nothing else if there are no items to add to the playlist
if (childrenToAdd.Count == 0)
{
@@ -384,7 +371,7 @@ namespace Emby.Server.Implementations.Playlists
if (extension.Equals(".wpl", StringComparison.OrdinalIgnoreCase))
{
var playlist = new WplPlaylist();
- foreach (var child in item.GetLinkedChildren())
+ foreach (var child in item.GetLinkedChildren(DtoOptions.StoredColumnsOnly))
{
var entry = new WplPlaylistEntry()
{
@@ -417,7 +404,7 @@ namespace Emby.Server.Implementations.Playlists
else if (extension.Equals(".zpl", StringComparison.OrdinalIgnoreCase))
{
var playlist = new ZplPlaylist();
- foreach (var child in item.GetLinkedChildren())
+ foreach (var child in item.GetLinkedChildren(DtoOptions.StoredColumnsOnly))
{
var entry = new ZplPlaylistEntry()
{
@@ -453,7 +440,7 @@ namespace Emby.Server.Implementations.Playlists
{
IsExtended = true
};
- foreach (var child in item.GetLinkedChildren())
+ foreach (var child in item.GetLinkedChildren(DtoOptions.StoredColumnsOnly))
{
var entry = new M3uPlaylistEntry()
{
@@ -485,7 +472,7 @@ namespace Emby.Server.Implementations.Playlists
IsExtended = true
};
- foreach (var child in item.GetLinkedChildren())
+ foreach (var child in item.GetLinkedChildren(DtoOptions.StoredColumnsOnly))
{
var entry = new M3uPlaylistEntry()
{
@@ -513,7 +500,7 @@ namespace Emby.Server.Implementations.Playlists
else if (extension.Equals(".pls", StringComparison.OrdinalIgnoreCase))
{
var playlist = new PlsPlaylist();
- foreach (var child in item.GetLinkedChildren())
+ foreach (var child in item.GetLinkedChildren(DtoOptions.StoredColumnsOnly))
{
var entry = new PlsPlaylistEntry()
{