mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
						commit
						d4004bcaf5
					
				@ -126,7 +126,6 @@ namespace Emby.Dlna
 | 
				
			|||||||
            var builder = new StringBuilder();
 | 
					            var builder = new StringBuilder();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            builder.AppendLine("No matching device profile found. The default will need to be used.");
 | 
					            builder.AppendLine("No matching device profile found. The default will need to be used.");
 | 
				
			||||||
            builder.AppendFormat(CultureInfo.InvariantCulture, "DeviceDescription:{0}", profile.DeviceDescription ?? string.Empty).AppendLine();
 | 
					 | 
				
			||||||
            builder.AppendFormat(CultureInfo.InvariantCulture, "FriendlyName:{0}", profile.FriendlyName ?? string.Empty).AppendLine();
 | 
					            builder.AppendFormat(CultureInfo.InvariantCulture, "FriendlyName:{0}", profile.FriendlyName ?? string.Empty).AppendLine();
 | 
				
			||||||
            builder.AppendFormat(CultureInfo.InvariantCulture, "Manufacturer:{0}", profile.Manufacturer ?? string.Empty).AppendLine();
 | 
					            builder.AppendFormat(CultureInfo.InvariantCulture, "Manufacturer:{0}", profile.Manufacturer ?? string.Empty).AppendLine();
 | 
				
			||||||
            builder.AppendFormat(CultureInfo.InvariantCulture, "ManufacturerUrl:{0}", profile.ManufacturerUrl ?? string.Empty).AppendLine();
 | 
					            builder.AppendFormat(CultureInfo.InvariantCulture, "ManufacturerUrl:{0}", profile.ManufacturerUrl ?? string.Empty).AppendLine();
 | 
				
			||||||
@ -141,17 +140,9 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        private bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
 | 
					        private bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.DeviceDescription))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (deviceInfo.DeviceDescription == null || !IsRegexMatch(deviceInfo.DeviceDescription, profileInfo.DeviceDescription))
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.FriendlyName))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.FriendlyName))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.FriendlyName == null || !IsRegexMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName))
 | 
					                if (deviceInfo.FriendlyName == null || !IsRegexOrSubstringMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -159,7 +150,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.Manufacturer))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.Manufacturer))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.Manufacturer == null || !IsRegexMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer))
 | 
					                if (deviceInfo.Manufacturer == null || !IsRegexOrSubstringMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -167,7 +158,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.ManufacturerUrl))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.ManufacturerUrl))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.ManufacturerUrl == null || !IsRegexMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl))
 | 
					                if (deviceInfo.ManufacturerUrl == null || !IsRegexOrSubstringMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -175,7 +166,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.ModelDescription))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.ModelDescription))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.ModelDescription == null || !IsRegexMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription))
 | 
					                if (deviceInfo.ModelDescription == null || !IsRegexOrSubstringMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -183,7 +174,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.ModelName))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.ModelName))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.ModelName == null || !IsRegexMatch(deviceInfo.ModelName, profileInfo.ModelName))
 | 
					                if (deviceInfo.ModelName == null || !IsRegexOrSubstringMatch(deviceInfo.ModelName, profileInfo.ModelName))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -191,7 +182,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.ModelNumber))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.ModelNumber))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.ModelNumber == null || !IsRegexMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber))
 | 
					                if (deviceInfo.ModelNumber == null || !IsRegexOrSubstringMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -199,7 +190,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.ModelUrl))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.ModelUrl))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.ModelUrl == null || !IsRegexMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl))
 | 
					                if (deviceInfo.ModelUrl == null || !IsRegexOrSubstringMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -207,7 +198,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (!string.IsNullOrEmpty(profileInfo.SerialNumber))
 | 
					            if (!string.IsNullOrEmpty(profileInfo.SerialNumber))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (deviceInfo.SerialNumber == null || !IsRegexMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber))
 | 
					                if (deviceInfo.SerialNumber == null || !IsRegexOrSubstringMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -216,11 +207,11 @@ namespace Emby.Dlna
 | 
				
			|||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private bool IsRegexMatch(string input, string pattern)
 | 
					        private bool IsRegexOrSubstringMatch(string input, string pattern)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                return Regex.IsMatch(input, pattern);
 | 
					                return input.Contains(pattern, StringComparison.OrdinalIgnoreCase) || Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            catch (ArgumentException ex)
 | 
					            catch (ArgumentException ex)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -511,8 +502,7 @@ namespace Emby.Dlna
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        public string GetServerDescriptionXml(IHeaderDictionary headers, string serverUuId, string serverAddress)
 | 
					        public string GetServerDescriptionXml(IHeaderDictionary headers, string serverUuId, string serverAddress)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var profile = GetProfile(headers) ??
 | 
					            var profile = GetDefaultProfile();
 | 
				
			||||||
                          GetDefaultProfile();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var serverId = _appHost.SystemId;
 | 
					            var serverId = _appHost.SystemId;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1431,10 +1431,6 @@ namespace Emby.Server.Implementations
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public virtual void EnableLoopback(string appName)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private bool _disposed = false;
 | 
					        private bool _disposed = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -68,12 +68,6 @@ namespace Emby.Server.Implementations.Udp
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    _logger.LogError(ex, "Error sending response message");
 | 
					                    _logger.LogError(ex, "Error sending response message");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					 | 
				
			||||||
                var parts = messageText.Split('|');
 | 
					 | 
				
			||||||
                if (parts.Length > 1)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    _appHost.EnableLoopback(parts[1]);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
				
			|||||||
@ -114,8 +114,6 @@ namespace MediaBrowser.Controller
 | 
				
			|||||||
        /// <exception cref="NotSupportedException"><see cref="CanLaunchWebBrowser"/> is false.</exception>
 | 
					        /// <exception cref="NotSupportedException"><see cref="CanLaunchWebBrowser"/> is false.</exception>
 | 
				
			||||||
        void LaunchUrl(string url);
 | 
					        void LaunchUrl(string url);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void EnableLoopback(string appName);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        IEnumerable<WakeOnLanInfo> GetWakeOnLanInfo();
 | 
					        IEnumerable<WakeOnLanInfo> GetWakeOnLanInfo();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        string ExpandVirtualPath(string path);
 | 
					        string ExpandVirtualPath(string path);
 | 
				
			||||||
 | 
				
			|||||||
@ -37,12 +37,6 @@ namespace MediaBrowser.Model.Dlna
 | 
				
			|||||||
        /// <value>The model description.</value>
 | 
					        /// <value>The model description.</value>
 | 
				
			||||||
        public string ModelDescription { get; set; }
 | 
					        public string ModelDescription { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Gets or sets the device description.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        /// <value>The device description.</value>
 | 
					 | 
				
			||||||
        public string DeviceDescription { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Gets or sets the model URL.
 | 
					        /// Gets or sets the model URL.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -109,7 +109,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 | 
				
			|||||||
                item.ParentIndexNumber = info.ParentIndexNumber;
 | 
					                item.ParentIndexNumber = info.ParentIndexNumber;
 | 
				
			||||||
                item.IndexNumberEnd = info.IndexNumberEnd;
 | 
					                item.IndexNumberEnd = info.IndexNumberEnd;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (response.External_Ids.Tvdb_Id > 0)
 | 
					                if (response.External_Ids != null && response.External_Ids.Tvdb_Id > 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    item.SetProviderId(MetadataProvider.Tvdb, response.External_Ids.Tvdb_Id.Value.ToString(CultureInfo.InvariantCulture));
 | 
					                    item.SetProviderId(MetadataProvider.Tvdb, response.External_Ids.Tvdb_Id.Value.ToString(CultureInfo.InvariantCulture));
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
@ -75,7 +75,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    result.Item.Overview = seasonInfo.Overview;
 | 
					                    result.Item.Overview = seasonInfo.Overview;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (seasonInfo.External_Ids.Tvdb_Id > 0)
 | 
					                    if (seasonInfo.External_Ids != null && seasonInfo.External_Ids.Tvdb_Id > 0)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        result.Item.SetProviderId(MetadataProvider.Tvdb, seasonInfo.External_Ids.Tvdb_Id.Value.ToString(CultureInfo.InvariantCulture));
 | 
					                        result.Item.SetProviderId(MetadataProvider.Tvdb, seasonInfo.External_Ids.Tvdb_Id.Value.ToString(CultureInfo.InvariantCulture));
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
				
			|||||||
@ -92,7 +92,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 | 
				
			|||||||
                remoteResult.SetProviderId(MetadataProvider.Tmdb, obj.Id.ToString(_usCulture));
 | 
					                remoteResult.SetProviderId(MetadataProvider.Tmdb, obj.Id.ToString(_usCulture));
 | 
				
			||||||
                remoteResult.SetProviderId(MetadataProvider.Imdb, obj.External_Ids.Imdb_Id);
 | 
					                remoteResult.SetProviderId(MetadataProvider.Imdb, obj.External_Ids.Imdb_Id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (obj.External_Ids.Tvdb_Id > 0)
 | 
					                if (obj.External_Ids != null && obj.External_Ids.Tvdb_Id > 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    remoteResult.SetProviderId(MetadataProvider.Tvdb, obj.External_Ids.Tvdb_Id.Value.ToString(_usCulture));
 | 
					                    remoteResult.SetProviderId(MetadataProvider.Tvdb, obj.External_Ids.Tvdb_Id.Value.ToString(_usCulture));
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user