More spelling corrections.
This commit is contained in:
parent
e51ddd326c
commit
9a323f6df0
|
@ -73,7 +73,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
||||||
/// Gets or sets the next item in the collection.
|
/// Gets or sets the next item in the collection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// TODO check if this properly updated dependant and has the proper principal relationship.
|
/// TODO check if this properly updated Dependant and has the proper principal relationship.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public virtual CollectionItem Next { get; set; }
|
public virtual CollectionItem Next { get; set; }
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
||||||
/// Gets or sets the previous item in the collection.
|
/// Gets or sets the previous item in the collection.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// TODO check if this properly updated dependant and has the proper principal relationship.
|
/// TODO check if this properly updated Dependant and has the proper principal relationship.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public virtual CollectionItem Previous { get; set; }
|
public virtual CollectionItem Previous { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
||||||
public virtual ICollection<PersonRole> PersonRoles { get; protected set; }
|
public virtual ICollection<PersonRole> PersonRoles { get; protected set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a collection containing the generes for this item.
|
/// Gets or sets a collection containing the genres for this item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual ICollection<Genre> Genres { get; protected set; }
|
public virtual ICollection<Genre> Genres { get; protected set; }
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||||
|
|
||||||
bool success = false;
|
bool success = false;
|
||||||
|
|
||||||
// As long as jellyfin supports passwordless users, we need this little block here to accommodate
|
// As long as jellyfin supports password-less users, we need this little block here to accommodate
|
||||||
if (!HasPassword(resolvedUser) && string.IsNullOrEmpty(password))
|
if (!HasPassword(resolvedUser) && string.IsNullOrEmpty(password))
|
||||||
{
|
{
|
||||||
return Task.FromResult(new ProviderAuthenticationResult
|
return Task.FromResult(new ProviderAuthenticationResult
|
||||||
|
|
|
@ -73,7 +73,7 @@ namespace MediaBrowser.Common.Net
|
||||||
/// Returns true if address is in the LAN list in the config file.
|
/// Returns true if address is in the LAN list in the config file.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="address">The address to check.</param>
|
/// <param name="address">The address to check.</param>
|
||||||
/// <param name="excludeInterfaces">If true, check against addresses in the LAN settings which have [] arroud and return true if it matches the address give in address.</param>
|
/// <param name="excludeInterfaces">If true, check against addresses in the LAN settings which have [] around and return true if it matches the address give in address.</param>
|
||||||
/// <param name="excludeRFC">If true, returns false if address is in the 127.x.x.x or 169.128.x.x range.</param>
|
/// <param name="excludeRFC">If true, returns false if address is in the 127.x.x.x or 169.128.x.x range.</param>
|
||||||
/// <returns><c>false</c>if the address isn't in the LAN list, <c>true</c> if the address has been defined as a LAN address.</returns>
|
/// <returns><c>false</c>if the address isn't in the LAN list, <c>true</c> if the address has been defined as a LAN address.</returns>
|
||||||
bool IsAddressInSubnets(IPAddress address, bool excludeInterfaces, bool excludeRFC);
|
bool IsAddressInSubnets(IPAddress address, bool excludeInterfaces, bool excludeRFC);
|
||||||
|
|
|
@ -212,7 +212,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Loads our children. Validation will occur externally.
|
/// Loads our children. Validation will occur externally.
|
||||||
/// We want this sychronous.
|
/// We want this synchronous.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected virtual List<BaseItem> LoadChildren()
|
protected virtual List<BaseItem> LoadChildren()
|
||||||
{
|
{
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
{
|
{
|
||||||
// Only use alternative encoders for video files.
|
// Only use alternative encoders for video files.
|
||||||
// When using concat with folder rips, if the mfx session fails to initialize, ffmpeg will be stuck retrying and will not exit gracefully
|
// When using concat with folder rips, if the mfx session fails to initialize, ffmpeg will be stuck retrying and will not exit gracefully
|
||||||
// Since transcoding of folder rips is expiremental anyway, it's not worth adding additional variables such as this.
|
// Since transcoding of folder rips is experimental anyway, it's not worth adding additional variables such as this.
|
||||||
if (state.VideoType == VideoType.VideoFile)
|
if (state.VideoType == VideoType.VideoFile)
|
||||||
{
|
{
|
||||||
var hwType = encodingOptions.HardwareAccelerationType;
|
var hwType = encodingOptions.HardwareAccelerationType;
|
||||||
|
@ -247,7 +247,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Seeing reported failures here, not sure yet if this is related to specfying input format
|
// Seeing reported failures here, not sure yet if this is related to specifying input format
|
||||||
if (string.Equals(container, "m4v", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(container, "m4v", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
@ -2752,7 +2752,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
var videoType = state.MediaSource.VideoType ?? VideoType.VideoFile;
|
var videoType = state.MediaSource.VideoType ?? VideoType.VideoFile;
|
||||||
// Only use alternative encoders for video files.
|
// Only use alternative encoders for video files.
|
||||||
// When using concat with folder rips, if the mfx session fails to initialize, ffmpeg will be stuck retrying and will not exit gracefully
|
// When using concat with folder rips, if the mfx session fails to initialize, ffmpeg will be stuck retrying and will not exit gracefully
|
||||||
// Since transcoding of folder rips is expiremental anyway, it's not worth adding additional variables such as this.
|
// Since transcoding of folder rips is experimental anyway, it's not worth adding additional variables such as this.
|
||||||
if (videoType != VideoType.VideoFile)
|
if (videoType != VideoType.VideoFile)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -542,7 +542,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
||||||
break;
|
break;
|
||||||
case Video3DFormat.FullTopAndBottom:
|
case Video3DFormat.FullTopAndBottom:
|
||||||
vf = "crop=iw:ih/2:0:0,setdar=dar=a,crop=min(iw\\,ih*dar):min(ih\\,iw/dar):(iw-min(iw\\,iw*sar))/2:(ih - min (ih\\,ih/sar))/2,setsar=sar=1,scale=600:trunc(600/dar/2)*2";
|
vf = "crop=iw:ih/2:0:0,setdar=dar=a,crop=min(iw\\,ih*dar):min(ih\\,iw/dar):(iw-min(iw\\,iw*sar))/2:(ih - min (ih\\,ih/sar))/2,setsar=sar=1,scale=600:trunc(600/dar/2)*2";
|
||||||
// ftab crop heigt in half, set the display aspect,crop out any black bars we may have made the scale width to 600
|
// ftab crop height in half, set the display aspect,crop out any black bars we may have made the scale width to 600
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,7 +29,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
int? maxWidth,
|
int? maxWidth,
|
||||||
int? maxHeight)
|
int? maxHeight)
|
||||||
{
|
{
|
||||||
// If the bitrate isn't changing, then don't downlscale the resolution
|
// If the bitrate isn't changing, then don't downscale the resolution
|
||||||
if (inputBitrate.HasValue && outputBitrate >= inputBitrate.Value)
|
if (inputBitrate.HasValue && outputBitrate >= inputBitrate.Value)
|
||||||
{
|
{
|
||||||
if (maxWidth.HasValue || maxHeight.HasValue)
|
if (maxWidth.HasValue || maxHeight.HasValue)
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace MediaBrowser.Providers.Manager
|
||||||
{
|
{
|
||||||
if (replaceData || string.IsNullOrEmpty(target.Name))
|
if (replaceData || string.IsNullOrEmpty(target.Name))
|
||||||
{
|
{
|
||||||
// Safeguard against incoming data having an emtpy name
|
// Safeguard against incoming data having an empty name
|
||||||
if (!string.IsNullOrWhiteSpace(source.Name))
|
if (!string.IsNullOrWhiteSpace(source.Name))
|
||||||
{
|
{
|
||||||
target.Name = source.Name;
|
target.Name = source.Name;
|
||||||
|
@ -48,7 +48,7 @@ namespace MediaBrowser.Providers.Manager
|
||||||
|
|
||||||
if (replaceData || string.IsNullOrEmpty(target.OriginalTitle))
|
if (replaceData || string.IsNullOrEmpty(target.OriginalTitle))
|
||||||
{
|
{
|
||||||
// Safeguard against incoming data having an emtpy name
|
// Safeguard against incoming data having an empty name
|
||||||
if (!string.IsNullOrWhiteSpace(source.OriginalTitle))
|
if (!string.IsNullOrWhiteSpace(source.OriginalTitle))
|
||||||
{
|
{
|
||||||
target.OriginalTitle = source.OriginalTitle;
|
target.OriginalTitle = source.OriginalTitle;
|
||||||
|
|
|
@ -50,7 +50,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
|
||||||
var result = await GetRootObject(imdbId, cancellationToken).ConfigureAwait(false);
|
var result = await GetRootObject(imdbId, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
// Only take the name and rating if the user's language is set to english, since Omdb has no localization
|
// Only take the name and rating if the user's language is set to English, since Omdb has no localization
|
||||||
if (string.Equals(language, "en", StringComparison.OrdinalIgnoreCase) || _configurationManager.Configuration.EnableNewOmdbSupport)
|
if (string.Equals(language, "en", StringComparison.OrdinalIgnoreCase) || _configurationManager.Configuration.EnableNewOmdbSupport)
|
||||||
{
|
{
|
||||||
item.Name = result.Title;
|
item.Name = result.Title;
|
||||||
|
@ -151,7 +151,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only take the name and rating if the user's language is set to english, since Omdb has no localization
|
// Only take the name and rating if the user's language is set to English, since Omdb has no localization
|
||||||
if (string.Equals(language, "en", StringComparison.OrdinalIgnoreCase) || _configurationManager.Configuration.EnableNewOmdbSupport)
|
if (string.Equals(language, "en", StringComparison.OrdinalIgnoreCase) || _configurationManager.Configuration.EnableNewOmdbSupport)
|
||||||
{
|
{
|
||||||
item.Name = result.Title;
|
item.Name = result.Title;
|
||||||
|
@ -385,7 +385,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
var isConfiguredForEnglish = IsConfiguredForEnglish(item) || _configurationManager.Configuration.EnableNewOmdbSupport;
|
var isConfiguredForEnglish = IsConfiguredForEnglish(item) || _configurationManager.Configuration.EnableNewOmdbSupport;
|
||||||
|
|
||||||
// Grab series genres because IMDb data is better than TVDB. Leave movies alone
|
// Grab series genres because IMDb data is better than TVDB. Leave movies alone
|
||||||
// But only do it if english is the preferred language because this data will not be localized
|
// But only do it if English is the preferred language because this data will not be localized
|
||||||
if (isConfiguredForEnglish && !string.IsNullOrWhiteSpace(result.Genre))
|
if (isConfiguredForEnglish && !string.IsNullOrWhiteSpace(result.Genre))
|
||||||
{
|
{
|
||||||
item.Genres = Array.Empty<string>();
|
item.Genres = Array.Empty<string>();
|
||||||
|
@ -401,7 +401,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
|
||||||
if (isConfiguredForEnglish)
|
if (isConfiguredForEnglish)
|
||||||
{
|
{
|
||||||
// Omdb is currently english only, so for other languages skip this and let secondary providers fill it in
|
// Omdb is currently English only, so for other languages skip this and let secondary providers fill it in
|
||||||
item.Overview = result.Plot;
|
item.Overview = result.Plot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -455,7 +455,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
{
|
{
|
||||||
var lang = item.GetPreferredMetadataLanguage();
|
var lang = item.GetPreferredMetadataLanguage();
|
||||||
|
|
||||||
// The data isn't localized and so can only be used for english users
|
// The data isn't localized and so can only be used for English users
|
||||||
return string.Equals(lang, "en", StringComparison.OrdinalIgnoreCase);
|
return string.Equals(lang, "en", StringComparison.OrdinalIgnoreCase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
|
||||||
|
|
||||||
if (preferredLanguage.Length == 5) // like en-US
|
if (preferredLanguage.Length == 5) // like en-US
|
||||||
{
|
{
|
||||||
// Currenty, TMDB supports 2-letter language codes only
|
// Currently, TMDB supports 2-letter language codes only
|
||||||
// They are planning to change this in the future, thus we're
|
// They are planning to change this in the future, thus we're
|
||||||
// supplying both codes if we're having a 5-letter code.
|
// supplying both codes if we're having a 5-letter code.
|
||||||
languages.Add(preferredLanguage.Substring(0, 2));
|
languages.Add(preferredLanguage.Substring(0, 2));
|
||||||
|
|
|
@ -134,7 +134,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
// int.TryParse is local aware, so it can be probamatic, force us culture
|
// int.TryParse is local aware, so it can be problematic, force us culture
|
||||||
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
||||||
{
|
{
|
||||||
item.AirsBeforeEpisodeNumber = rval;
|
item.AirsBeforeEpisodeNumber = rval;
|
||||||
|
@ -150,7 +150,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
// int.TryParse is local aware, so it can be probamatic, force us culture
|
// int.TryParse is local aware, so it can be problematic, force us culture
|
||||||
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
||||||
{
|
{
|
||||||
item.AirsAfterSeasonNumber = rval;
|
item.AirsAfterSeasonNumber = rval;
|
||||||
|
@ -166,7 +166,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
// int.TryParse is local aware, so it can be probamatic, force us culture
|
// int.TryParse is local aware, so it can be problematic, force us culture
|
||||||
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
||||||
{
|
{
|
||||||
item.AirsBeforeSeasonNumber = rval;
|
item.AirsBeforeSeasonNumber = rval;
|
||||||
|
@ -182,7 +182,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
// int.TryParse is local aware, so it can be probamatic, force us culture
|
// int.TryParse is local aware, so it can be problematic, force us culture
|
||||||
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
||||||
{
|
{
|
||||||
item.AirsBeforeSeasonNumber = rval;
|
item.AirsBeforeSeasonNumber = rval;
|
||||||
|
@ -198,7 +198,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
// int.TryParse is local aware, so it can be probamatic, force us culture
|
// int.TryParse is local aware, so it can be problematic, force us culture
|
||||||
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
if (int.TryParse(val, NumberStyles.Integer, UsCulture, out var rval))
|
||||||
{
|
{
|
||||||
item.AirsBeforeEpisodeNumber = rval;
|
item.AirsBeforeEpisodeNumber = rval;
|
||||||
|
|
|
@ -5,7 +5,7 @@ using System.Text;
|
||||||
namespace Rssdp.Infrastructure
|
namespace Rssdp.Infrastructure
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Correclty implements the <see cref="IDisposable"/> interface and pattern for an object containing only managed resources, and adds a few common niceities not on the interface such as an <see cref="IsDisposed"/> property.
|
/// Correctly implements the <see cref="IDisposable"/> interface and pattern for an object containing only managed resources, and adds a few common niceties not on the interface such as an <see cref="IsDisposed"/> property.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract class DisposableManagedObjectBase : IDisposable
|
public abstract class DisposableManagedObjectBase : IDisposable
|
||||||
{
|
{
|
||||||
|
@ -61,10 +61,10 @@ namespace Rssdp.Infrastructure
|
||||||
/// Disposes this object instance and all internally managed resources.
|
/// Disposes this object instance and all internally managed resources.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>Sets the <see cref="IsDisposed"/> property to true. Does not explicitly throw an exception if called multiple times, but makes no promises about behaviour of derived classes.</para>
|
/// <para>Sets the <see cref="IsDisposed"/> property to true. Does not explicitly throw an exception if called multiple times, but makes no promises about behavior of derived classes.</para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <seealso cref="IsDisposed"/>
|
/// <seealso cref="IsDisposed"/>
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly", Justification = "We do exactly as asked, but CA doesn't seem to like us also setting the IsDisposed property. Too bad, it's a good idea and shouldn't cause an exception or anything likely to interfer with the dispose process.")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly", Justification = "We do exactly as asked, but CA doesn't seem to like us also setting the IsDisposed property. Too bad, it's a good idea and shouldn't cause an exception or anything likely to interfere with the dispose process.")]
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
IsDisposed = true;
|
IsDisposed = true;
|
||||||
|
|
|
@ -105,7 +105,7 @@ namespace Rssdp.Infrastructure
|
||||||
var headerName = line.Substring(0, headerKeySeparatorIndex).Trim();
|
var headerName = line.Substring(0, headerKeySeparatorIndex).Trim();
|
||||||
var headerValue = line.Substring(headerKeySeparatorIndex + 1).Trim();
|
var headerValue = line.Substring(headerKeySeparatorIndex + 1).Trim();
|
||||||
|
|
||||||
// Not sure how to determine where request headers and and content headers begin,
|
// Not sure how to determine where request headers and content headers begin,
|
||||||
// at least not without a known set of headers (general headers first the content headers)
|
// at least not without a known set of headers (general headers first the content headers)
|
||||||
// which seems like a bad way of doing it. So we'll assume if it's a known content header put it there
|
// which seems like a bad way of doing it. So we'll assume if it's a known content header put it there
|
||||||
// else use request headers.
|
// else use request headers.
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace Rssdp.Infrastructure
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Aynchronously performs a search for all devices using the default search timeout, and returns an awaitable task that can be used to retrieve the results.
|
/// Asynchronously performs a search for all devices using the default search timeout, and returns an awaitable task that can be used to retrieve the results.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>A task whose result is an <see cref="System.Collections.Generic.IEnumerable{T}"/> of <see cref="DiscoveredSsdpDevice" /> instances, representing all found devices.</returns>
|
/// <returns>A task whose result is an <see cref="System.Collections.Generic.IEnumerable{T}"/> of <see cref="DiscoveredSsdpDevice" /> instances, representing all found devices.</returns>
|
||||||
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<DiscoveredSsdpDevice>> SearchAsync();
|
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<DiscoveredSsdpDevice>> SearchAsync();
|
||||||
|
@ -83,7 +83,7 @@ namespace Rssdp.Infrastructure
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="searchWaitTime">The amount of time to wait for network responses to the search request. Longer values will likely return more devices, but increase search time. A value between 1 and 5 is recommended by the UPnP 1.1 specification. Specify TimeSpan.Zero to return only devices already in the cache.</param>
|
/// <param name="searchWaitTime">The amount of time to wait for network responses to the search request. Longer values will likely return more devices, but increase search time. A value between 1 and 5 is recommended by the UPnP 1.1 specification. Specify TimeSpan.Zero to return only devices already in the cache.</param>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>By design RSSDP does not support 'publishing services' as it is intended for use with non-standard UPnP devices that don't publish UPnP style services. However, it is still possible to use RSSDP to search for devices implemetning these services if you know the service type.</para>
|
/// <para>By design RSSDP does not support 'publishing services' as it is intended for use with non-standard UPnP devices that don't publish UPnP style services. However, it is still possible to use RSSDP to search for devices implementing these services if you know the service type.</para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <returns>A task whose result is an <see cref="System.Collections.Generic.IEnumerable{T}"/> of <see cref="DiscoveredSsdpDevice" /> instances, representing all found devices.</returns>
|
/// <returns>A task whose result is an <see cref="System.Collections.Generic.IEnumerable{T}"/> of <see cref="DiscoveredSsdpDevice" /> instances, representing all found devices.</returns>
|
||||||
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<DiscoveredSsdpDevice>> SearchAsync(string searchTarget, TimeSpan searchWaitTime);
|
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<DiscoveredSsdpDevice>> SearchAsync(string searchTarget, TimeSpan searchWaitTime);
|
||||||
|
|
|
@ -102,7 +102,7 @@ namespace Rssdp.Infrastructure
|
||||||
/// <param name="device">The <see cref="SsdpDevice"/> instance to add.</param>
|
/// <param name="device">The <see cref="SsdpDevice"/> instance to add.</param>
|
||||||
/// <exception cref="ArgumentNullException">Thrown if the <paramref name="device"/> argument is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown if the <paramref name="device"/> argument is null.</exception>
|
||||||
/// <exception cref="InvalidOperationException">Thrown if the <paramref name="device"/> contains property values that are not acceptable to the UPnP 1.0 specification.</exception>
|
/// <exception cref="InvalidOperationException">Thrown if the <paramref name="device"/> contains property values that are not acceptable to the UPnP 1.0 specification.</exception>
|
||||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId = "t", Justification = "Capture task to local variable supresses compiler warning, but task is not really needed.")]
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId = "t", Justification = "Capture task to local variable suppresses compiler warning, but task is not really needed.")]
|
||||||
public void AddDevice(SsdpRootDevice device)
|
public void AddDevice(SsdpRootDevice device)
|
||||||
{
|
{
|
||||||
if (device == null)
|
if (device == null)
|
||||||
|
@ -180,7 +180,7 @@ namespace Rssdp.Infrastructure
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>Enabling this option will cause devices to show up in Microsoft Windows Explorer's network screens (if discovery is enabled etc.). Windows Explorer appears to search only for pnp:rootdeivce and not upnp:rootdevice.</para>
|
/// <para>Enabling this option will cause devices to show up in Microsoft Windows Explorer's network screens (if discovery is enabled etc.). Windows Explorer appears to search only for pnp:rootdeivce and not upnp:rootdevice.</para>
|
||||||
/// <para>If false, the system will only use upnp:rootdevice for notifiation broadcasts and and search responses, which is correct according to the UPnP/SSDP spec.</para>
|
/// <para>If false, the system will only use upnp:rootdevice for notification broadcasts and and search responses, which is correct according to the UPnP/SSDP spec.</para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public bool SupportPnpRootDevice
|
public bool SupportPnpRootDevice
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace Rssdp
|
||||||
/// Specifies how long clients can cache this device's details for. Optional but defaults to <see cref="TimeSpan.Zero"/> which means no-caching. Recommended value is half an hour.
|
/// Specifies how long clients can cache this device's details for. Optional but defaults to <see cref="TimeSpan.Zero"/> which means no-caching. Recommended value is half an hour.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>Specifiy <see cref="TimeSpan.Zero"/> to indicate no caching allowed.</para>
|
/// <para>Specify <see cref="TimeSpan.Zero"/> to indicate no caching allowed.</para>
|
||||||
/// <para>Also used to specify how often to rebroadcast alive notifications.</para>
|
/// <para>Also used to specify how often to rebroadcast alive notifications.</para>
|
||||||
/// <para>The UPnP/SSDP specifications indicate this should not be less than 1800 seconds (half an hour), but this is not enforced by this library.</para>
|
/// <para>The UPnP/SSDP specifications indicate this should not be less than 1800 seconds (half an hour), but this is not enforced by this library.</para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
@ -50,7 +50,7 @@ namespace Rssdp
|
||||||
public IPAddress SubnetMask { get; set; }
|
public IPAddress SubnetMask { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The base URL to use for all relative url's provided in other propertise (and those of child devices). Optional.
|
/// The base URL to use for all relative url's provided in other properties (and those of child devices). Optional.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>Defines the base URL. Used to construct fully-qualified URLs. All relative URLs that appear elsewhere in the description are combined with this base URL. If URLBase is empty or not given, the base URL is the URL from which the device description was retrieved (which is the preferred implementation; use of URLBase is no longer recommended). Specified by UPnP vendor. Single URL.</para>
|
/// <para>Defines the base URL. Used to construct fully-qualified URLs. All relative URLs that appear elsewhere in the description are combined with this base URL. If URLBase is empty or not given, the base URL is the URL from which the device description was retrieved (which is the preferred implementation; use of URLBase is no longer recommended). Specified by UPnP vendor. Single URL.</para>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user