diff options
| author | Jim Cartlidge <jimcartlidge@yahoo.co.uk> | 2020-09-13 13:49:11 +0100 |
|---|---|---|
| committer | Jim Cartlidge <jimcartlidge@yahoo.co.uk> | 2020-09-13 13:49:11 +0100 |
| commit | 68de105dc21f4d1114a3b1db81f177caae747ef6 (patch) | |
| tree | ca863622b464eec592fcb150fc4af5827bdc288b | |
| parent | 6bf0acb854683377bebad3ca27de17706519c420 (diff) | |
Comments part 1
| -rw-r--r-- | Emby.Dlna/Common/Argument.cs | 20 | ||||
| -rw-r--r-- | Emby.Dlna/Common/DeviceIcon.cs | 32 | ||||
| -rw-r--r-- | Emby.Dlna/Common/DeviceService.cs | 33 | ||||
| -rw-r--r-- | Emby.Dlna/Common/ServiceAction.cs | 21 | ||||
| -rw-r--r-- | Emby.Dlna/Common/StateVariable.cs | 31 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/DeviceIdentification.cs | 23 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/DeviceProfile.cs | 220 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/XmlAttribute.cs | 9 |
8 files changed, 305 insertions, 84 deletions
diff --git a/Emby.Dlna/Common/Argument.cs b/Emby.Dlna/Common/Argument.cs index f375e6049..430a3b47d 100644 --- a/Emby.Dlna/Common/Argument.cs +++ b/Emby.Dlna/Common/Argument.cs @@ -1,13 +1,23 @@ -#pragma warning disable CS1591 - namespace Emby.Dlna.Common { + /// <summary> + /// DLNA Query parameter type, used when quering DLNA devices via SOAP. + /// </summary> public class Argument { - public string Name { get; set; } + /// <summary> + /// Gets or sets name of the DLNA argument. + /// </summary> + public string Name { get; set; } = string.Empty; - public string Direction { get; set; } + /// <summary> + /// Gets or sets the direction of the parameter. + /// </summary> + public string Direction { get; set; } = string.Empty; - public string RelatedStateVariable { get; set; } + /// <summary> + /// Gets or sets the related DLNA state variable for this argument. + /// </summary> + public string RelatedStateVariable { get; set; } = string.Empty; } } diff --git a/Emby.Dlna/Common/DeviceIcon.cs b/Emby.Dlna/Common/DeviceIcon.cs index c3f7fa8aa..f9fd1dcec 100644 --- a/Emby.Dlna/Common/DeviceIcon.cs +++ b/Emby.Dlna/Common/DeviceIcon.cs @@ -1,29 +1,41 @@ -#pragma warning disable CS1591 - using System.Globalization; namespace Emby.Dlna.Common { + /// <summary> + /// Defines the <see cref="DeviceIcon" />. + /// </summary> public class DeviceIcon { - public string Url { get; set; } + /// <summary> + /// Gets or sets the Url. + /// </summary> + public string Url { get; set; } = string.Empty; - public string MimeType { get; set; } + /// <summary> + /// Gets or sets the MimeType. + /// </summary> + public string MimeType { get; set; } = string.Empty; + /// <summary> + /// Gets or sets the Width. + /// </summary> public int Width { get; set; } + /// <summary> + /// Gets or sets the Height. + /// </summary> public int Height { get; set; } - public string Depth { get; set; } + /// <summary> + /// Gets or sets the Depth. + /// </summary> + public string Depth { get; set; } = string.Empty; /// <inheritdoc /> public override string ToString() { - return string.Format( - CultureInfo.InvariantCulture, - "{0}x{1}", - Height, - Width); + return string.Format(CultureInfo.InvariantCulture, "{0}x{1}", Height, Width); } } } diff --git a/Emby.Dlna/Common/DeviceService.cs b/Emby.Dlna/Common/DeviceService.cs index 44c0a0412..c1369558e 100644 --- a/Emby.Dlna/Common/DeviceService.cs +++ b/Emby.Dlna/Common/DeviceService.cs @@ -1,21 +1,36 @@ -#pragma warning disable CS1591 - namespace Emby.Dlna.Common { + /// <summary> + /// Defines the <see cref="DeviceService" />. + /// </summary> public class DeviceService { - public string ServiceType { get; set; } + /// <summary> + /// Gets or sets the Service Type. + /// </summary> + public string ServiceType { get; set; } = string.Empty; - public string ServiceId { get; set; } + /// <summary> + /// Gets or sets the Service Id. + /// </summary> + public string ServiceId { get; set; } = string.Empty; - public string ScpdUrl { get; set; } + /// <summary> + /// Gets or sets the Scpd Url. + /// </summary> + public string ScpdUrl { get; set; } = string.Empty; - public string ControlUrl { get; set; } + /// <summary> + /// Gets or sets the Control Url. + /// </summary> + public string ControlUrl { get; set; } = string.Empty; - public string EventSubUrl { get; set; } + /// <summary> + /// Gets or sets the EventSubUrl. + /// </summary> + public string EventSubUrl { get; set; } = string.Empty; /// <inheritdoc /> - public override string ToString() - => ServiceId; + public override string ToString() => ServiceId; } } diff --git a/Emby.Dlna/Common/ServiceAction.cs b/Emby.Dlna/Common/ServiceAction.cs index d458d7f3f..02b81a0aa 100644 --- a/Emby.Dlna/Common/ServiceAction.cs +++ b/Emby.Dlna/Common/ServiceAction.cs @@ -1,24 +1,31 @@ -#pragma warning disable CS1591 - using System.Collections.Generic; namespace Emby.Dlna.Common { + /// <summary> + /// Defines the <see cref="ServiceAction" />. + /// </summary> public class ServiceAction { + /// <summary> + /// Initializes a new instance of the <see cref="ServiceAction"/> class. + /// </summary> public ServiceAction() { ArgumentList = new List<Argument>(); } - public string Name { get; set; } + /// <summary> + /// Gets or sets the name of the action. + /// </summary> + public string Name { get; set; } = string.Empty; + /// <summary> + /// Gets the ArgumentList. + /// </summary> public List<Argument> ArgumentList { get; } /// <inheritdoc /> - public override string ToString() - { - return Name; - } + public override string ToString() => Name; } } diff --git a/Emby.Dlna/Common/StateVariable.cs b/Emby.Dlna/Common/StateVariable.cs index 6daf7ab6b..fd733e085 100644 --- a/Emby.Dlna/Common/StateVariable.cs +++ b/Emby.Dlna/Common/StateVariable.cs @@ -1,27 +1,34 @@ -#pragma warning disable CS1591 - using System; using System.Collections.Generic; namespace Emby.Dlna.Common { + /// <summary> + /// Defines the <see cref="StateVariable" />. + /// </summary> public class StateVariable { - public StateVariable() - { - AllowedValues = Array.Empty<string>(); - } - - public string Name { get; set; } + /// <summary> + /// Gets or sets the name of the state variable. + /// </summary> + public string Name { get; set; } = string.Empty; - public string DataType { get; set; } + /// <summary> + /// Gets or sets the data type of the state variable. + /// </summary> + public string DataType { get; set; } = string.Empty; + /// <summary> + /// Gets or sets a value indicating whether it sends events. + /// </summary> public bool SendsEvents { get; set; } - public IReadOnlyList<string> AllowedValues { get; set; } + /// <summary> + /// Gets or sets the allowed values range. + /// </summary> + public IReadOnlyList<string> AllowedValues { get; set; } = Array.Empty<string>(); /// <inheritdoc /> - public override string ToString() - => Name; + public override string ToString() => Name; } } diff --git a/MediaBrowser.Model/Dlna/DeviceIdentification.cs b/MediaBrowser.Model/Dlna/DeviceIdentification.cs index 43407383a..c511801f4 100644 --- a/MediaBrowser.Model/Dlna/DeviceIdentification.cs +++ b/MediaBrowser.Model/Dlna/DeviceIdentification.cs @@ -11,59 +11,54 @@ namespace MediaBrowser.Model.Dlna /// Gets or sets the name of the friendly. /// </summary> /// <value>The name of the friendly.</value> - public string FriendlyName { get; set; } + public string FriendlyName { get; set; } = string.Empty; /// <summary> /// Gets or sets the model number. /// </summary> /// <value>The model number.</value> - public string ModelNumber { get; set; } + public string ModelNumber { get; set; } = string.Empty; /// <summary> /// Gets or sets the serial number. /// </summary> /// <value>The serial number.</value> - public string SerialNumber { get; set; } + public string SerialNumber { get; set; } = string.Empty; /// <summary> /// Gets or sets the name of the model. /// </summary> /// <value>The name of the model.</value> - public string ModelName { get; set; } + public string ModelName { get; set; } = string.Empty; /// <summary> /// Gets or sets the model description. /// </summary> /// <value>The model description.</value> - public string ModelDescription { get; set; } + public string ModelDescription { get; set; } = string.Empty; /// <summary> /// Gets or sets the model URL. /// </summary> /// <value>The model URL.</value> - public string ModelUrl { get; set; } + public string ModelUrl { get; set; } = string.Empty; /// <summary> /// Gets or sets the manufacturer. /// </summary> /// <value>The manufacturer.</value> - public string Manufacturer { get; set; } + public string Manufacturer { get; set; } = string.Empty; /// <summary> /// Gets or sets the manufacturer URL. /// </summary> /// <value>The manufacturer URL.</value> - public string ManufacturerUrl { get; set; } + public string ManufacturerUrl { get; set; } = string.Empty; /// <summary> /// Gets or sets the headers. /// </summary> /// <value>The headers.</value> - public HttpHeaderInfo[] Headers { get; set; } - - public DeviceIdentification() - { - Headers = Array.Empty<HttpHeaderInfo>(); - } + public HttpHeaderInfo[] Headers { get; set; } = Array.Empty<HttpHeaderInfo>(); } } diff --git a/MediaBrowser.Model/Dlna/DeviceProfile.cs b/MediaBrowser.Model/Dlna/DeviceProfile.cs index 7e921b1fd..8b2a94fd4 100644 --- a/MediaBrowser.Model/Dlna/DeviceProfile.cs +++ b/MediaBrowser.Model/Dlna/DeviceProfile.cs @@ -1,6 +1,5 @@ #nullable disable -#pragma warning disable CS1591 - +#pragma warning disable CA1819 // Properties should not return arrays using System; using System.Linq; using System.Xml.Serialization; @@ -8,129 +7,243 @@ using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.Model.Dlna { + /// <summary> + /// Defines the <see cref="DeviceProfile" />. + /// </summary> [XmlRoot("Profile")] public class DeviceProfile { /// <summary> - /// Gets or sets the name. + /// Initializes a new instance of the <see cref="DeviceProfile"/> class. + /// </summary> + public DeviceProfile() + { + DirectPlayProfiles = Array.Empty<DirectPlayProfile>(); + TranscodingProfiles = Array.Empty<TranscodingProfile>(); + ResponseProfiles = Array.Empty<ResponseProfile>(); + CodecProfiles = Array.Empty<CodecProfile>(); + ContainerProfiles = Array.Empty<ContainerProfile>(); + SubtitleProfiles = Array.Empty<SubtitleProfile>(); + + XmlRootAttributes = Array.Empty<XmlAttribute>(); + + SupportedMediaTypes = "Audio,Photo,Video"; + MaxStreamingBitrate = 8000000; + MaxStaticBitrate = 8000000; + MusicStreamingTranscodingBitrate = 128000; + } + + /// <summary> + /// Gets or sets the Name. /// </summary> - /// <value>The name.</value> public string Name { get; set; } + /// <summary> + /// Gets or sets the Id. + /// </summary> [XmlIgnore] public string Id { get; set; } /// <summary> - /// Gets or sets the identification. + /// Gets or sets the Identification. /// </summary> - /// <value>The identification.</value> public DeviceIdentification Identification { get; set; } + /// <summary> + /// Gets or sets the FriendlyName. + /// </summary> public string FriendlyName { get; set; } + /// <summary> + /// Gets or sets the Manufacturer. + /// </summary> public string Manufacturer { get; set; } + /// <summary> + /// Gets or sets the ManufacturerUrl. + /// </summary> public string ManufacturerUrl { get; set; } + /// <summary> + /// Gets or sets the ModelName. + /// </summary> public string ModelName { get; set; } + /// <summary> + /// Gets or sets the ModelDescription. + /// </summary> public string ModelDescription { get; set; } + /// <summary> + /// Gets or sets the ModelNumber. + /// </summary> public string ModelNumber { get; set; } + /// <summary> + /// Gets or sets the ModelUrl. + /// </summary> public string ModelUrl { get; set; } + /// <summary> + /// Gets or sets the SerialNumber. + /// </summary> public string SerialNumber { get; set; } + /// <summary> + /// Gets or sets a value indicating whether EnableAlbumArtInDidl. + /// </summary> public bool EnableAlbumArtInDidl { get; set; } + /// <summary> + /// Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + /// </summary> public bool EnableSingleAlbumArtLimit { get; set; } + /// <summary> + /// Gets or sets a value indicating whether EnableSingleSubtitleLimit. + /// </summary> public bool EnableSingleSubtitleLimit { get; set; } + /// <summary> + /// Gets or sets the SupportedMediaTypes. + /// </summary> public string SupportedMediaTypes { get; set; } + /// <summary> + /// Gets or sets the UserId. + /// </summary> public string UserId { get; set; } + /// <summary> + /// Gets or sets the AlbumArtPn. + /// </summary> public string AlbumArtPn { get; set; } + /// <summary> + /// Gets or sets the MaxAlbumArtWidth. + /// </summary> public int MaxAlbumArtWidth { get; set; } + /// <summary> + /// Gets or sets the MaxAlbumArtHeight. + /// </summary> public int MaxAlbumArtHeight { get; set; } + /// <summary> + /// Gets or sets the MaxIconWidth. + /// </summary> public int? MaxIconWidth { get; set; } + /// <summary> + /// Gets or sets the MaxIconHeight. + /// </summary> public int? MaxIconHeight { get; set; } + /// <summary> + /// Gets or sets the MaxStreamingBitrate. + /// </summary> public long? MaxStreamingBitrate { get; set; } + /// <summary> + /// Gets or sets the MaxStaticBitrate. + /// </summary> public long? MaxStaticBitrate { get; set; } + /// <summary> + /// Gets or sets the MusicStreamingTranscodingBitrate. + /// </summary> public int? MusicStreamingTranscodingBitrate { get; set; } + /// <summary> + /// Gets or sets the MaxStaticMusicBitrate. + /// </summary> public int? MaxStaticMusicBitrate { get; set; } /// <summary> - /// Controls the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + /// Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. /// </summary> public string SonyAggregationFlags { get; set; } + /// <summary> + /// Gets or sets the ProtocolInfo. + /// </summary> public string ProtocolInfo { get; set; } + /// <summary> + /// Gets or sets the TimelineOffsetSeconds. + /// </summary> public int TimelineOffsetSeconds { get; set; } + /// <summary> + /// Gets or sets a value indicating whether RequiresPlainVideoItems. + /// </summary> public bool RequiresPlainVideoItems { get; set; } + /// <summary> + /// Gets or sets a value indicating whether RequiresPlainFolders. + /// </summary> public bool RequiresPlainFolders { get; set; } + /// <summary> + /// Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + /// </summary> public bool EnableMSMediaReceiverRegistrar { get; set; } + /// <summary> + /// Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + /// </summary> public bool IgnoreTranscodeByteRangeRequests { get; set; } + /// <summary> + /// Gets or sets the XmlRootAttributes. + /// </summary> public XmlAttribute[] XmlRootAttributes { get; set; } /// <summary> /// Gets or sets the direct play profiles. /// </summary> - /// <value>The direct play profiles.</value> public DirectPlayProfile[] DirectPlayProfiles { get; set; } /// <summary> /// Gets or sets the transcoding profiles. /// </summary> - /// <value>The transcoding profiles.</value> public TranscodingProfile[] TranscodingProfiles { get; set; } + /// <summary> + /// Gets or sets the ContainerProfiles. + /// </summary> public ContainerProfile[] ContainerProfiles { get; set; } + /// <summary> + /// Gets or sets the CodecProfiles. + /// </summary> public CodecProfile[] CodecProfiles { get; set; } + /// <summary> + /// Gets or sets the ResponseProfiles. + /// </summary> public ResponseProfile[] ResponseProfiles { get; set; } + /// <summary> + /// Gets or sets the SubtitleProfiles. + /// </summary> public SubtitleProfile[] SubtitleProfiles { get; set; } - public DeviceProfile() - { - DirectPlayProfiles = Array.Empty<DirectPlayProfile>(); - TranscodingProfiles = Array.Empty<TranscodingProfile>(); - ResponseProfiles = Array.Empty<ResponseProfile>(); - CodecProfiles = Array.Empty<CodecProfile>(); - ContainerProfiles = Array.Empty<ContainerProfile>(); - SubtitleProfiles = Array.Empty<SubtitleProfile>(); - - XmlRootAttributes = Array.Empty<XmlAttribute>(); - - SupportedMediaTypes = "Audio,Photo,Video"; - MaxStreamingBitrate = 8000000; - MaxStaticBitrate = 8000000; - MusicStreamingTranscodingBitrate = 128000; - } - + /// <summary> + /// The GetSupportedMediaTypes. + /// </summary> + /// <returns>The .</returns> public string[] GetSupportedMediaTypes() { return ContainerProfile.SplitValue(SupportedMediaTypes); } + /// <summary> + /// Gets the audio transcoding profile. + /// </summary> + /// <param name="container">The container.</param> + /// <param name="audioCodec">The audio Codec.</param> + /// <returns>A <see cref="TranscodingProfile"/>.</returns> public TranscodingProfile GetAudioTranscodingProfile(string container, string audioCodec) { container = (container ?? string.Empty).TrimStart('.'); @@ -158,6 +271,13 @@ namespace MediaBrowser.Model.Dlna return null; } + /// <summary> + /// Gets the video transcoding profile. + /// </summary> + /// <param name="container">The container.</param> + /// <param name="audioCodec">The audio Codec.</param> + /// <param name="videoCodec">The video Codec.</param> + /// <returns>The <see cref="TranscodingProfile"/>.</returns> public TranscodingProfile GetVideoTranscodingProfile(string container, string audioCodec, string videoCodec) { container = (container ?? string.Empty).TrimStart('.'); @@ -190,6 +310,16 @@ namespace MediaBrowser.Model.Dlna return null; } + /// <summary> + /// Gets the audio media profile. + /// </summary> + /// <param name="container">The container.</param> + /// <param name="audioCodec">The audio codec.</param> + /// <param name="audioChannels">The audio channels.</param> + /// <param name="audioBitrate">The audio bitrate.</param> + /// <param name="audioSampleRate">The audio sample rate.</param> + /// <param name="audioBitDepth">The audio bit depth.</param> + /// <returns>The <see cref="ResponseProfile"/>.</returns> public ResponseProfile GetAudioMediaProfile(string container, string audioCodec, int? audioChannels, int? audioBitrate, int? audioSampleRate, int? audioBitDepth) { foreach (var i in ResponseProfiles) @@ -231,6 +361,11 @@ namespace MediaBrowser.Model.Dlna return null; } + /// <summary> + /// Gets the model profile condition. + /// </summary> + /// <param name="c">The c<see cref="ProfileCondition"/>.</param> + /// <returns>The <see cref="ProfileCondition"/>.</returns> private ProfileCondition GetModelProfileCondition(ProfileCondition c) { return new ProfileCondition @@ -242,6 +377,13 @@ namespace MediaBrowser.Model.Dlna }; } + /// <summary> + /// Gets the image media profile. + /// </summary> + /// <param name="container">The container.</param> + /// <param name="width">The width.</param> + /// <param name="height">The height.</param> + /// <returns>The <see cref="ResponseProfile"/>.</returns> public ResponseProfile GetImageMediaProfile(string container, int? width, int? height) { foreach (var i in ResponseProfiles) @@ -277,7 +419,31 @@ namespace MediaBrowser.Model.Dlna return null; } - public ResponseProfile GetVideoMediaProfile(string container, + /// <summary> + /// Gets the video media profile. + /// </summary> + /// <param name="container">The container.</param> + /// <param name="audioCodec">The audio codec.</param> + /// <param name="videoCodec">The video codec.</param> + /// <param name="width">The width.</param> + /// <param name="height">The height.</param> + /// <param name="bitDepth">The bit depth.</param> + /// <param name="videoBitrate">The video bitrate.</param> + /// <param name="videoProfile">The video profile.</param> + /// <param name="videoLevel">The video level.</param> + /// <param name="videoFramerate">The video framerate.</param> + /// <param name="packetLength">The packet length.</param> + /// <param name="timestamp">The timestamp<see cref="TransportStreamTimestamp"/>.</param> + /// <param name="isAnamorphic">True if anamorphic.</param> + /// <param name="isInterlaced">True if interlaced.</param> + /// <param name="refFrames">The ref frames.</param> + /// <param name="numVideoStreams">The number of video streams.</param> + /// <param name="numAudioStreams">The number of audio streams.</param> + /// <param name="videoCodecTag">The video Codec tag.</param> + /// <param name="isAvc">True if Avc.</param> + /// <returns>The <see cref="ResponseProfile"/>.</returns> + public ResponseProfile GetVideoMediaProfile( + string container, string audioCodec, string videoCodec, int? width, diff --git a/MediaBrowser.Model/Dlna/XmlAttribute.cs b/MediaBrowser.Model/Dlna/XmlAttribute.cs index 3a8939a79..03bb2e4b1 100644 --- a/MediaBrowser.Model/Dlna/XmlAttribute.cs +++ b/MediaBrowser.Model/Dlna/XmlAttribute.cs @@ -5,11 +5,20 @@ using System.Xml.Serialization; namespace MediaBrowser.Model.Dlna { + /// <summary> + /// Defines the <see cref="XmlAttribute" />. + /// </summary> public class XmlAttribute { + /// <summary> + /// Gets or sets the name of the attribute. + /// </summary> [XmlAttribute("name")] public string Name { get; set; } + /// <summary> + /// Gets or sets the value of the attribute. + /// </summary> [XmlAttribute("value")] public string Value { get; set; } } |
