26 lines
766 B
C#
26 lines
766 B
C#
using System.Collections.Immutable;
|
|
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.FFmpeg;
|
|
|
|
namespace ErsatzTV.Core.Interfaces.FFmpeg;
|
|
|
|
public interface IFFmpegStreamSelector
|
|
{
|
|
Task<MediaStream> SelectVideoStream(MediaVersion version);
|
|
|
|
Task<Option<MediaStream>> SelectAudioStream(
|
|
MediaItemAudioVersion version,
|
|
StreamingMode streamingMode,
|
|
Channel channel,
|
|
string preferredAudioLanguage,
|
|
string preferredAudioTitle,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<Option<Subtitle>> SelectSubtitleStream(
|
|
ImmutableList<Subtitle> subtitles,
|
|
Channel channel,
|
|
string preferredSubtitleLanguage,
|
|
ChannelSubtitleMode subtitleMode,
|
|
CancellationToken cancellationToken);
|
|
}
|