2024-10-25 14:31:50 -04:00
|
|
|
// Copyright (C) 2024 Intro-Skipper contributors <intro-skipper.org>
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-only.
|
2024-10-25 14:15:12 -04:00
|
|
|
|
2024-09-21 18:06:11 +02:00
|
|
|
using System.Collections.Generic;
|
2022-10-28 02:25:57 -05:00
|
|
|
using System.Threading;
|
2024-10-19 23:50:41 +02:00
|
|
|
using IntroSkipper.Data;
|
2022-10-28 02:25:57 -05:00
|
|
|
|
2024-10-19 23:50:41 +02:00
|
|
|
namespace IntroSkipper.Analyzers;
|
2024-04-20 12:58:29 +02:00
|
|
|
|
2022-10-28 02:25:57 -05:00
|
|
|
/// <summary>
|
|
|
|
/// Media file analyzer interface.
|
|
|
|
/// </summary>
|
|
|
|
public interface IMediaFileAnalyzer
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Analyze media files for shared introductions or credits, returning all media files that were **not successfully analyzed**.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="analysisQueue">Collection of unanalyzed media files.</param>
|
|
|
|
/// <param name="mode">Analysis mode.</param>
|
|
|
|
/// <param name="cancellationToken">Cancellation token from scheduled task.</param>
|
|
|
|
/// <returns>Collection of media files that were **unsuccessfully analyzed**.</returns>
|
2024-10-05 19:30:30 +02:00
|
|
|
public IReadOnlyList<QueuedEpisode> AnalyzeMediaFiles(
|
|
|
|
IReadOnlyList<QueuedEpisode> analysisQueue,
|
2024-10-16 16:05:59 +02:00
|
|
|
AnalysisMode mode,
|
2022-10-28 02:25:57 -05:00
|
|
|
CancellationToken cancellationToken);
|
|
|
|
}
|