// Copyright (c) Arlo Godfrey. All Rights Reserved.
// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms.
// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information.
using System;
using System.IO;
using StrixMusic.Sdk.CoreModels;
namespace StrixMusic.Sdk.MediaPlayback
{
///
/// Defines configuration for a simple playback source.
///
public class MediaSourceConfig : IMediaSourceConfig
{
///
/// Constructs a new
///
/// The track that this media source is playing
///
///
///
public MediaSourceConfig(ICoreTrack track, string id, Uri mediaSourceUri, DateTime? expirationDate = null)
{
Track = track;
Id = id;
MediaSourceUri = mediaSourceUri;
ExpirationDate = expirationDate;
}
///
/// Constructs a new
///
/// The track that this media source is playing
///
/// A to an audio file to play.
/// The content type for the .
public MediaSourceConfig(ICoreTrack track, string id, Stream fileStream, string contentType)
{
Track = track;
Id = id;
FileStreamSource = fileStream;
FileStreamContentType = contentType;
}
///
public ICoreTrack Track { get; }
///
public string Id { get; }
///
public Uri? MediaSourceUri { get; }
///
public DateTime? ExpirationDate { get; }
///
public Stream? FileStreamSource { get; }
///
public string? FileStreamContentType { get; }
}
}