#pragma warning disable CA1819 // Properties should not return arrays using System; namespace MediaBrowser.Model.Dlna; /// /// A represents a set of metadata which determines which content a certain device is able to play. ///
/// Specifically, it defines the supported containers and /// codecs (video and/or audio, including codec profiles and levels) /// the device is able to direct play (without transcoding or remuxing), /// as well as which containers/codecs to transcode to in case it isn't. ///
public class DeviceProfile { /// /// Gets or sets the name of this device profile. User profiles must have a unique name. /// public string? Name { get; set; } /// /// Gets or sets the unique internal identifier. /// public Guid? Id { get; set; } /// /// Gets or sets the maximum allowed bitrate for all streamed content. /// public int? MaxStreamingBitrate { get; set; } = 8000000; /// /// Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). /// public int? MaxStaticBitrate { get; set; } = 8000000; /// /// Gets or sets the maximum allowed bitrate for transcoded music streams. /// public int? MusicStreamingTranscodingBitrate { get; set; } = 128000; /// /// Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. /// public int? MaxStaticMusicBitrate { get; set; } = 8000000; /// /// Gets or sets the direct play profiles. /// public DirectPlayProfile[] DirectPlayProfiles { get; set; } = []; /// /// Gets or sets the transcoding profiles. /// public TranscodingProfile[] TranscodingProfiles { get; set; } = []; /// /// Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur. /// public ContainerProfile[] ContainerProfiles { get; set; } = []; /// /// Gets or sets the codec profiles. /// public CodecProfile[] CodecProfiles { get; set; } = []; /// /// Gets or sets the subtitle profiles. /// public SubtitleProfile[] SubtitleProfiles { get; set; } = []; }