// 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; } } }