send all audio streams on hls channels with no preferred language (#142)

* Revert "fix search index threading (#141)"

This reverts commit 3fb6da0754.

* send all audio streams on hls channels with no preferred language
This commit is contained in:
Jason Dove
2021-04-05 16:06:13 -05:00
committed by GitHub
parent 3fb6da0754
commit 9809c60924
35 changed files with 160 additions and 299 deletions
@@ -1,11 +1,8 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Threading;
using System.Threading.Channels;
using System.Threading.Tasks;
using ErsatzTV.Application.Search.Commands;
using ErsatzTV.Core;
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Interfaces.Locking;
@@ -29,7 +26,6 @@ namespace ErsatzTV.Application.MediaSources.Commands
private readonly IMediator _mediator;
private readonly IMovieFolderScanner _movieFolderScanner;
private readonly IMusicVideoFolderScanner _musicVideoFolderScanner;
private readonly ChannelWriter<ISearchBackgroundServiceRequest> _searchChannel;
private readonly ITelevisionFolderScanner _televisionFolderScanner;
public ScanLocalLibraryHandler(
@@ -40,8 +36,7 @@ namespace ErsatzTV.Application.MediaSources.Commands
IMusicVideoFolderScanner musicVideoFolderScanner,
IEntityLocker entityLocker,
IMediator mediator,
ILogger<ScanLocalLibraryHandler> logger,
ChannelWriter<ISearchBackgroundServiceRequest> searchChannel)
ILogger<ScanLocalLibraryHandler> logger)
{
_libraryRepository = libraryRepository;
_configElementRepository = configElementRepository;
@@ -51,7 +46,6 @@ namespace ErsatzTV.Application.MediaSources.Commands
_entityLocker = entityLocker;
_mediator = mediator;
_logger = logger;
_searchChannel = searchChannel;
}
public Task<Either<BaseError, string>> Handle(
@@ -93,9 +87,7 @@ namespace ErsatzTV.Application.MediaSources.Commands
ffprobePath,
lastScan,
progressMin,
progressMax,
AddToSearchIndex,
RemoveFromSearchIndex);
progressMax);
break;
case LibraryMediaKind.Shows:
await _televisionFolderScanner.ScanFolder(
@@ -103,9 +95,7 @@ namespace ErsatzTV.Application.MediaSources.Commands
ffprobePath,
lastScan,
progressMin,
progressMax,
AddToSearchIndex,
RemoveFromSearchIndex);
progressMax);
break;
case LibraryMediaKind.MusicVideos:
await _musicVideoFolderScanner.ScanFolder(
@@ -113,9 +103,7 @@ namespace ErsatzTV.Application.MediaSources.Commands
ffprobePath,
lastScan,
progressMin,
progressMax,
AddToSearchIndex,
RemoveFromSearchIndex);
progressMax);
break;
}
@@ -138,12 +126,6 @@ namespace ErsatzTV.Application.MediaSources.Commands
return Unit.Default;
}
private ValueTask AddToSearchIndex(List<MediaItem> mediaItems) =>
_searchChannel.WriteAsync(new AddItemsToSearchIndex(mediaItems));
private ValueTask RemoveFromSearchIndex(List<int> mediaItemIds) =>
_searchChannel.WriteAsync(new RemoveItemsFromSearchIndex(mediaItemIds));
private async Task<Validation<BaseError, RequestParameters>> Validate(IScanLocalLibrary request) =>
(await LocalLibraryMustExist(request), await ValidateFFprobePath())
.Apply(