mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-22 00:35:26 +03:00
use SocketHttpListener project
This commit is contained in:
@@ -37,7 +37,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
private readonly Func<IDtoService> _dtoService;
|
||||
private readonly IApplicationHost _appHost;
|
||||
private readonly ITVSeriesManager _tvSeriesManager;
|
||||
private readonly Func<IMediaEncoder> MediaEncoder;
|
||||
private readonly Func<IMediaEncoder> _mediaEncoder;
|
||||
|
||||
private ISyncProvider[] _providers = { };
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
_dtoService = dtoService;
|
||||
_appHost = appHost;
|
||||
_tvSeriesManager = tvSeriesManager;
|
||||
MediaEncoder = mediaEncoder;
|
||||
_mediaEncoder = mediaEncoder;
|
||||
}
|
||||
|
||||
public void AddParts(IEnumerable<ISyncProvider> providers)
|
||||
@@ -61,7 +61,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
public async Task<SyncJobCreationResult> CreateJob(SyncJobRequest request)
|
||||
{
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, MediaEncoder());
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, _mediaEncoder());
|
||||
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
if (item == null)
|
||||
{
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, MediaEncoder());
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, _mediaEncoder());
|
||||
|
||||
var user = _userManager.GetUserById(job.UserId);
|
||||
|
||||
@@ -395,7 +395,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
await _repo.Update(jobItem).ConfigureAwait(false);
|
||||
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, MediaEncoder());
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager, _tvSeriesManager, _mediaEncoder());
|
||||
|
||||
await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false);
|
||||
}
|
||||
@@ -532,6 +532,22 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
}
|
||||
}
|
||||
|
||||
// Now check each item that's on the device
|
||||
foreach (var itemId in request.LocalItemIds)
|
||||
{
|
||||
// See if it's already marked for removal
|
||||
if (response.ItemIdsToRemove.Contains(itemId, StringComparer.OrdinalIgnoreCase))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// If there isn't a sync job for this item, mark it for removal
|
||||
if (!jobItemResult.Items.Any(i => string.Equals(itemId, i.ItemId, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
response.ItemIdsToRemove.Add(itemId);
|
||||
}
|
||||
}
|
||||
|
||||
response.ItemIdsToRemove = response.ItemIdsToRemove.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
|
||||
|
||||
return response;
|
||||
|
||||
Reference in New Issue
Block a user