浏览代码

rework collection editor

Luke Pulverenti 9 年之前
父节点
当前提交
a2c371ec60

+ 0 - 1
MediaBrowser.Api/Dlna/DlnaServerService.cs

@@ -108,7 +108,6 @@ namespace MediaBrowser.Api.Dlna
         private readonly IConnectionManager _connectionManager;
         private readonly IMediaReceiverRegistrar _mediaReceiverRegistrar;
 
-        // TODO: Add utf-8
         private const string XMLContentType = "text/xml; charset=UTF-8";
 
         public DlnaServerService(IDlnaManager dlnaManager, IContentDirectory contentDirectory, IConnectionManager connectionManager, IMediaReceiverRegistrar mediaReceiverRegistrar)

+ 2 - 2
MediaBrowser.Common.Implementations/Serialization/JsonSerializer.cs

@@ -1,7 +1,7 @@
-using MediaBrowser.Model.Serialization;
+using MediaBrowser.Common.IO;
+using MediaBrowser.Model.Serialization;
 using System;
 using System.IO;
-using MediaBrowser.Common.IO;
 
 namespace MediaBrowser.Common.Implementations.Serialization
 {

+ 0 - 14
MediaBrowser.Controller/Channels/IChannelFactory.cs

@@ -1,14 +0,0 @@
-using System.Collections.Generic;
-
-namespace MediaBrowser.Controller.Channels
-{
-    public interface IChannelFactory
-    {
-        IEnumerable<IChannel> GetChannels();
-    }
-
-    public interface IFactoryChannel
-    {
-        
-    }
-}

+ 1 - 1
MediaBrowser.Controller/Channels/IChannelManager.cs

@@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.Channels
         /// </summary>
         /// <param name="channels">The channels.</param>
         /// <param name="factories">The factories.</param>
-        void AddParts(IEnumerable<IChannel> channels, IEnumerable<IChannelFactory> factories);
+        void AddParts(IEnumerable<IChannel> channels);
 
         /// <summary>
         /// Gets the channel download path.

+ 0 - 1
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -77,7 +77,6 @@
     <Compile Include="Channels\ChannelParentalRating.cs" />
     <Compile Include="Channels\ChannelSearchInfo.cs" />
     <Compile Include="Channels\IChannel.cs" />
-    <Compile Include="Channels\IChannelFactory.cs" />
     <Compile Include="Channels\IChannelManager.cs" />
     <Compile Include="Channels\IChannelItem.cs" />
     <Compile Include="Channels\ChannelAudioItem.cs" />

+ 321 - 321
MediaBrowser.Dlna/Channels/DlnaChannelFactory.cs

@@ -18,325 +18,325 @@ using System.Threading.Tasks;
 
 namespace MediaBrowser.Dlna.Channels
 {
-    public class DlnaChannelFactory : IChannelFactory, IDisposable
-    {
-        private readonly IServerConfigurationManager _config;
-        private readonly ILogger _logger;
-        private readonly IHttpClient _httpClient;
-
-        private readonly IDeviceDiscovery _deviceDiscovery;
-
-        private readonly SemaphoreSlim _syncLock = new SemaphoreSlim(1, 1);
-        private List<Device> _servers = new List<Device>();
-
-        public static DlnaChannelFactory Instance;
-
-        private Func<List<string>> _localServersLookup;
-
-        public DlnaChannelFactory(IServerConfigurationManager config, IHttpClient httpClient, ILogger logger, IDeviceDiscovery deviceDiscovery)
-        {
-            _config = config;
-            _httpClient = httpClient;
-            _logger = logger;
-            _deviceDiscovery = deviceDiscovery;
-            Instance = this;
-        }
-
-        internal void Start(Func<List<string>> localServersLookup)
-        {
-            _localServersLookup = localServersLookup;
-
-            //deviceDiscovery.DeviceDiscovered += deviceDiscovery_DeviceDiscovered;
-            _deviceDiscovery.DeviceLeft += deviceDiscovery_DeviceLeft;
-        }
-
-        async void deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e)
-        {
-            string usn;
-            if (!e.Headers.TryGetValue("USN", out usn)) usn = string.Empty;
-
-            string nt;
-            if (!e.Headers.TryGetValue("NT", out nt)) nt = string.Empty;
-
-            string location;
-            if (!e.Headers.TryGetValue("Location", out location)) location = string.Empty;
-
-            if (!IsValid(nt, usn))
-            {
-                return;
-            }
-
-            if (_localServersLookup != null)
-            {
-                if (_localServersLookup().Any(i => usn.IndexOf(i, StringComparison.OrdinalIgnoreCase) != -1))
-                {
-                    // Don't add the local Dlna server to this
-                    return;
-                }
-            }
-
-            if (GetExistingServers(usn).Any())
-            {
-                return;
-            }
-
-            await _syncLock.WaitAsync().ConfigureAwait(false);
-
-            try
-            {
-                if (GetExistingServers(usn).Any())
-                {
-                    return;
-                }
-
-                var device = await Device.CreateuPnpDeviceAsync(new Uri(location), _httpClient, _config, _logger)
-                            .ConfigureAwait(false);
-
-                if (!_servers.Any(i => string.Equals(i.Properties.UUID, device.Properties.UUID, StringComparison.OrdinalIgnoreCase)))
-                {
-                    _servers.Add(device);
-                }
-            }
-            catch (Exception ex)
-            {
-
-            }
-            finally
-            {
-                _syncLock.Release();
-            }
-        }
-
-        async void deviceDiscovery_DeviceLeft(object sender, SsdpMessageEventArgs e)
-        {
-            string usn;
-            if (!e.Headers.TryGetValue("USN", out usn)) usn = String.Empty;
-
-            string nt;
-            if (!e.Headers.TryGetValue("NT", out nt)) nt = String.Empty;
-
-            if (!IsValid(nt, usn))
-            {
-                return;
-            }
-
-            if (!GetExistingServers(usn).Any())
-            {
-                return;
-            }
-
-            await _syncLock.WaitAsync().ConfigureAwait(false);
-
-            try
-            {
-                var list = _servers.ToList();
-
-                foreach (var device in GetExistingServers(usn).ToList())
-                {
-                    list.Remove(device);
-                }
-
-                _servers = list;
-            }
-            finally
-            {
-                _syncLock.Release();
-            }
-        }
-
-        private bool IsValid(string nt, string usn)
-        {
-            // It has to report that it's a media renderer
-            if (usn.IndexOf("ContentDirectory:", StringComparison.OrdinalIgnoreCase) == -1 &&
-                     nt.IndexOf("ContentDirectory:", StringComparison.OrdinalIgnoreCase) == -1 &&
-                     usn.IndexOf("MediaServer:", StringComparison.OrdinalIgnoreCase) == -1 &&
-                     nt.IndexOf("MediaServer:", StringComparison.OrdinalIgnoreCase) == -1)
-            {
-                return false;
-            }
-
-            return true;
-        }
-
-        private IEnumerable<Device> GetExistingServers(string usn)
-        {
-            return _servers
-                .Where(i => usn.IndexOf(i.Properties.UUID, StringComparison.OrdinalIgnoreCase) != -1);
-        }
-
-        public IEnumerable<IChannel> GetChannels()
-        {
-            //if (_servers.Count > 0)
-            //{
-            //    var service = _servers[0].Properties.Services
-            //        .FirstOrDefault(i => string.Equals(i.ServiceType, "urn:schemas-upnp-org:service:ContentDirectory:1", StringComparison.OrdinalIgnoreCase));
-
-            //    var controlUrl = service == null ? null : (_servers[0].Properties.BaseUrl.TrimEnd('/') + "/" + service.ControlUrl.TrimStart('/'));
-
-            //    if (!string.IsNullOrEmpty(controlUrl))
-            //    {
-            //        return new List<IChannel>
-            //    {
-            //        new ServerChannel(_servers.ToList(), _httpClient, _logger, controlUrl)
-            //    };
-            //    }
-            //}
-
-            return new List<IChannel>();
-        }
-
-        public void Dispose()
-        {
-            if (_deviceDiscovery != null)
-            {
-                _deviceDiscovery.DeviceDiscovered -= deviceDiscovery_DeviceDiscovered;
-                _deviceDiscovery.DeviceLeft -= deviceDiscovery_DeviceLeft;
-            }
-        }
-    }
-
-    public class ServerChannel : IChannel, IFactoryChannel
-    {
-        private readonly IHttpClient _httpClient;
-        private readonly ILogger _logger;
-        public  string ControlUrl { get; set; }
-        public List<Device> Servers { get; set; }
-
-        public ServerChannel(IHttpClient httpClient, ILogger logger)
-        {
-            _httpClient = httpClient;
-            _logger = logger;
-            Servers = new List<Device>();
-        }
-
-        public string Name
-        {
-            get { return "Devices"; }
-        }
-
-        public string Description
-        {
-            get { return string.Empty; }
-        }
-
-        public string DataVersion
-        {
-            get { return DateTime.UtcNow.Ticks.ToString(); }
-        }
-
-        public string HomePageUrl
-        {
-            get { return string.Empty; }
-        }
-
-        public ChannelParentalRating ParentalRating
-        {
-            get { return ChannelParentalRating.GeneralAudience; }
-        }
-
-        public InternalChannelFeatures GetChannelFeatures()
-        {
-            return new InternalChannelFeatures
-            {
-                ContentTypes = new List<ChannelMediaContentType>
-                {
-                    ChannelMediaContentType.Song,
-                    ChannelMediaContentType.Clip
-                },
-
-                MediaTypes = new List<ChannelMediaType>
-                {
-                    ChannelMediaType.Audio,
-                    ChannelMediaType.Video,
-                    ChannelMediaType.Photo
-                }
-            };
-        }
-
-        public bool IsEnabledFor(string userId)
-        {
-            return true;
-        }
-
-        public async Task<ChannelItemResult> GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken)
-        {
-            IEnumerable<ChannelItemInfo> items;
-
-            if (string.IsNullOrWhiteSpace(query.FolderId))
-            {
-                items = Servers.Select(i => new ChannelItemInfo
-                {
-                    FolderType = ChannelFolderType.Container,
-                    Id = GetServerId(i),
-                    Name = i.Properties.Name,
-                    Overview = i.Properties.ModelDescription,
-                    Type = ChannelItemType.Folder
-                });
-            }
-            else
-            {
-                var idParts = query.FolderId.Split('|');
-                var folderId = idParts.Length == 2 ? idParts[1] : null;
-
-                var result = await new ContentDirectoryBrowser(_httpClient, _logger).Browse(new ContentDirectoryBrowseRequest
-                {
-                    Limit = query.Limit,
-                    StartIndex = query.StartIndex,
-                    ParentId = folderId,
-                    ContentDirectoryUrl = ControlUrl
-
-                }, cancellationToken).ConfigureAwait(false);
-
-                items = result.Items.ToList();
-            }
-
-            var list = items.ToList();
-            var count = list.Count;
-
-            list = ApplyPaging(list, query).ToList();
-
-            return new ChannelItemResult
-            {
-                Items = list,
-                TotalRecordCount = count
-            };
-        }
-
-        private string GetServerId(Device device)
-        {
-            return device.Properties.UUID.GetMD5().ToString("N");
-        }
-
-        private IEnumerable<T> ApplyPaging<T>(IEnumerable<T> items, InternalChannelItemQuery query)
-        {
-            if (query.StartIndex.HasValue)
-            {
-                items = items.Skip(query.StartIndex.Value);
-            }
-
-            if (query.Limit.HasValue)
-            {
-                items = items.Take(query.Limit.Value);
-            }
-
-            return items;
-        }
-
-        public Task<DynamicImageResponse> GetChannelImage(ImageType type, CancellationToken cancellationToken)
-        {
-            // TODO: Implement
-            return Task.FromResult(new DynamicImageResponse
-            {
-                HasImage = false
-            });
-        }
-
-        public IEnumerable<ImageType> GetSupportedChannelImages()
-        {
-            return new List<ImageType>
-            {
-                ImageType.Primary
-            };
-        }
-    }
+    //public class DlnaChannelFactory : IChannelFactory, IDisposable
+    //{
+    //    private readonly IServerConfigurationManager _config;
+    //    private readonly ILogger _logger;
+    //    private readonly IHttpClient _httpClient;
+
+    //    private readonly IDeviceDiscovery _deviceDiscovery;
+
+    //    private readonly SemaphoreSlim _syncLock = new SemaphoreSlim(1, 1);
+    //    private List<Device> _servers = new List<Device>();
+
+    //    public static DlnaChannelFactory Instance;
+
+    //    private Func<List<string>> _localServersLookup;
+
+    //    public DlnaChannelFactory(IServerConfigurationManager config, IHttpClient httpClient, ILogger logger, IDeviceDiscovery deviceDiscovery)
+    //    {
+    //        _config = config;
+    //        _httpClient = httpClient;
+    //        _logger = logger;
+    //        _deviceDiscovery = deviceDiscovery;
+    //        Instance = this;
+    //    }
+
+    //    internal void Start(Func<List<string>> localServersLookup)
+    //    {
+    //        _localServersLookup = localServersLookup;
+
+    //        //deviceDiscovery.DeviceDiscovered += deviceDiscovery_DeviceDiscovered;
+    //        _deviceDiscovery.DeviceLeft += deviceDiscovery_DeviceLeft;
+    //    }
+
+    //    async void deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e)
+    //    {
+    //        string usn;
+    //        if (!e.Headers.TryGetValue("USN", out usn)) usn = string.Empty;
+
+    //        string nt;
+    //        if (!e.Headers.TryGetValue("NT", out nt)) nt = string.Empty;
+
+    //        string location;
+    //        if (!e.Headers.TryGetValue("Location", out location)) location = string.Empty;
+
+    //        if (!IsValid(nt, usn))
+    //        {
+    //            return;
+    //        }
+
+    //        if (_localServersLookup != null)
+    //        {
+    //            if (_localServersLookup().Any(i => usn.IndexOf(i, StringComparison.OrdinalIgnoreCase) != -1))
+    //            {
+    //                // Don't add the local Dlna server to this
+    //                return;
+    //            }
+    //        }
+
+    //        if (GetExistingServers(usn).Any())
+    //        {
+    //            return;
+    //        }
+
+    //        await _syncLock.WaitAsync().ConfigureAwait(false);
+
+    //        try
+    //        {
+    //            if (GetExistingServers(usn).Any())
+    //            {
+    //                return;
+    //            }
+
+    //            var device = await Device.CreateuPnpDeviceAsync(new Uri(location), _httpClient, _config, _logger)
+    //                        .ConfigureAwait(false);
+
+    //            if (!_servers.Any(i => string.Equals(i.Properties.UUID, device.Properties.UUID, StringComparison.OrdinalIgnoreCase)))
+    //            {
+    //                _servers.Add(device);
+    //            }
+    //        }
+    //        catch (Exception ex)
+    //        {
+
+    //        }
+    //        finally
+    //        {
+    //            _syncLock.Release();
+    //        }
+    //    }
+
+    //    async void deviceDiscovery_DeviceLeft(object sender, SsdpMessageEventArgs e)
+    //    {
+    //        string usn;
+    //        if (!e.Headers.TryGetValue("USN", out usn)) usn = String.Empty;
+
+    //        string nt;
+    //        if (!e.Headers.TryGetValue("NT", out nt)) nt = String.Empty;
+
+    //        if (!IsValid(nt, usn))
+    //        {
+    //            return;
+    //        }
+
+    //        if (!GetExistingServers(usn).Any())
+    //        {
+    //            return;
+    //        }
+
+    //        await _syncLock.WaitAsync().ConfigureAwait(false);
+
+    //        try
+    //        {
+    //            var list = _servers.ToList();
+
+    //            foreach (var device in GetExistingServers(usn).ToList())
+    //            {
+    //                list.Remove(device);
+    //            }
+
+    //            _servers = list;
+    //        }
+    //        finally
+    //        {
+    //            _syncLock.Release();
+    //        }
+    //    }
+
+    //    private bool IsValid(string nt, string usn)
+    //    {
+    //        // It has to report that it's a media renderer
+    //        if (usn.IndexOf("ContentDirectory:", StringComparison.OrdinalIgnoreCase) == -1 &&
+    //                 nt.IndexOf("ContentDirectory:", StringComparison.OrdinalIgnoreCase) == -1 &&
+    //                 usn.IndexOf("MediaServer:", StringComparison.OrdinalIgnoreCase) == -1 &&
+    //                 nt.IndexOf("MediaServer:", StringComparison.OrdinalIgnoreCase) == -1)
+    //        {
+    //            return false;
+    //        }
+
+    //        return true;
+    //    }
+
+    //    private IEnumerable<Device> GetExistingServers(string usn)
+    //    {
+    //        return _servers
+    //            .Where(i => usn.IndexOf(i.Properties.UUID, StringComparison.OrdinalIgnoreCase) != -1);
+    //    }
+
+    //    public IEnumerable<IChannel> GetChannels()
+    //    {
+    //        //if (_servers.Count > 0)
+    //        //{
+    //        //    var service = _servers[0].Properties.Services
+    //        //        .FirstOrDefault(i => string.Equals(i.ServiceType, "urn:schemas-upnp-org:service:ContentDirectory:1", StringComparison.OrdinalIgnoreCase));
+
+    //        //    var controlUrl = service == null ? null : (_servers[0].Properties.BaseUrl.TrimEnd('/') + "/" + service.ControlUrl.TrimStart('/'));
+
+    //        //    if (!string.IsNullOrEmpty(controlUrl))
+    //        //    {
+    //        //        return new List<IChannel>
+    //        //    {
+    //        //        new ServerChannel(_servers.ToList(), _httpClient, _logger, controlUrl)
+    //        //    };
+    //        //    }
+    //        //}
+
+    //        return new List<IChannel>();
+    //    }
+
+    //    public void Dispose()
+    //    {
+    //        if (_deviceDiscovery != null)
+    //        {
+    //            _deviceDiscovery.DeviceDiscovered -= deviceDiscovery_DeviceDiscovered;
+    //            _deviceDiscovery.DeviceLeft -= deviceDiscovery_DeviceLeft;
+    //        }
+    //    }
+    //}
+
+    //public class ServerChannel : IChannel, IFactoryChannel
+    //{
+    //    private readonly IHttpClient _httpClient;
+    //    private readonly ILogger _logger;
+    //    public  string ControlUrl { get; set; }
+    //    public List<Device> Servers { get; set; }
+
+    //    public ServerChannel(IHttpClient httpClient, ILogger logger)
+    //    {
+    //        _httpClient = httpClient;
+    //        _logger = logger;
+    //        Servers = new List<Device>();
+    //    }
+
+    //    public string Name
+    //    {
+    //        get { return "Devices"; }
+    //    }
+
+    //    public string Description
+    //    {
+    //        get { return string.Empty; }
+    //    }
+
+    //    public string DataVersion
+    //    {
+    //        get { return DateTime.UtcNow.Ticks.ToString(); }
+    //    }
+
+    //    public string HomePageUrl
+    //    {
+    //        get { return string.Empty; }
+    //    }
+
+    //    public ChannelParentalRating ParentalRating
+    //    {
+    //        get { return ChannelParentalRating.GeneralAudience; }
+    //    }
+
+    //    public InternalChannelFeatures GetChannelFeatures()
+    //    {
+    //        return new InternalChannelFeatures
+    //        {
+    //            ContentTypes = new List<ChannelMediaContentType>
+    //            {
+    //                ChannelMediaContentType.Song,
+    //                ChannelMediaContentType.Clip
+    //            },
+
+    //            MediaTypes = new List<ChannelMediaType>
+    //            {
+    //                ChannelMediaType.Audio,
+    //                ChannelMediaType.Video,
+    //                ChannelMediaType.Photo
+    //            }
+    //        };
+    //    }
+
+    //    public bool IsEnabledFor(string userId)
+    //    {
+    //        return true;
+    //    }
+
+    //    public async Task<ChannelItemResult> GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken)
+    //    {
+    //        IEnumerable<ChannelItemInfo> items;
+
+    //        if (string.IsNullOrWhiteSpace(query.FolderId))
+    //        {
+    //            items = Servers.Select(i => new ChannelItemInfo
+    //            {
+    //                FolderType = ChannelFolderType.Container,
+    //                Id = GetServerId(i),
+    //                Name = i.Properties.Name,
+    //                Overview = i.Properties.ModelDescription,
+    //                Type = ChannelItemType.Folder
+    //            });
+    //        }
+    //        else
+    //        {
+    //            var idParts = query.FolderId.Split('|');
+    //            var folderId = idParts.Length == 2 ? idParts[1] : null;
+
+    //            var result = await new ContentDirectoryBrowser(_httpClient, _logger).Browse(new ContentDirectoryBrowseRequest
+    //            {
+    //                Limit = query.Limit,
+    //                StartIndex = query.StartIndex,
+    //                ParentId = folderId,
+    //                ContentDirectoryUrl = ControlUrl
+
+    //            }, cancellationToken).ConfigureAwait(false);
+
+    //            items = result.Items.ToList();
+    //        }
+
+    //        var list = items.ToList();
+    //        var count = list.Count;
+
+    //        list = ApplyPaging(list, query).ToList();
+
+    //        return new ChannelItemResult
+    //        {
+    //            Items = list,
+    //            TotalRecordCount = count
+    //        };
+    //    }
+
+    //    private string GetServerId(Device device)
+    //    {
+    //        return device.Properties.UUID.GetMD5().ToString("N");
+    //    }
+
+    //    private IEnumerable<T> ApplyPaging<T>(IEnumerable<T> items, InternalChannelItemQuery query)
+    //    {
+    //        if (query.StartIndex.HasValue)
+    //        {
+    //            items = items.Skip(query.StartIndex.Value);
+    //        }
+
+    //        if (query.Limit.HasValue)
+    //        {
+    //            items = items.Take(query.Limit.Value);
+    //        }
+
+    //        return items;
+    //    }
+
+    //    public Task<DynamicImageResponse> GetChannelImage(ImageType type, CancellationToken cancellationToken)
+    //    {
+    //        // TODO: Implement
+    //        return Task.FromResult(new DynamicImageResponse
+    //        {
+    //            HasImage = false
+    //        });
+    //    }
+
+    //    public IEnumerable<ImageType> GetSupportedChannelImages()
+    //    {
+    //        return new List<ImageType>
+    //        {
+    //            ImageType.Primary
+    //        };
+    //    }
+    //}
 }

+ 0 - 2
MediaBrowser.Dlna/Main/DlnaEntryPoint.cs

@@ -81,8 +81,6 @@ namespace MediaBrowser.Dlna.Main
             ReloadComponents();
 
             _config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
-
-            DlnaChannelFactory.Instance.Start(() => _registeredServerIds);
         }
 
         void _config_NamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)

+ 0 - 3
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -483,9 +483,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
                 }
             }
 
-            // TODO: Output in webp for smaller sizes
-            // -f image2 -f webp
-
             // Use ffmpeg to sample 100 (we can drop this if required using thumbnail=50 for 50 frames) frames and pick the best thumbnail. Have a fall back just in case.
             var args = useIFrame ? string.Format("-i {0} -threads 1 -v quiet -vframes 1 -vf \"{2},thumbnail=30\" -f image2 \"{1}\"", inputPath, "-", vf) :
                 string.Format("-i {0} -threads 1 -v quiet -vframes 1 -vf \"{2}\" -f image2 \"{1}\"", inputPath, "-", vf);

+ 0 - 4
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -276,11 +276,7 @@ namespace MediaBrowser.Model.Configuration
 
             InsecureApps9 = new[]
             {
-                "Chromecast",
-                "iOS",
                 "Unknown app",
-                "iPad",
-                "iPhone",
                 "Windows Phone"
             };
 

+ 0 - 1
MediaBrowser.Model/Dlna/ConditionProcessor.cs

@@ -28,7 +28,6 @@ namespace MediaBrowser.Model.Dlna
                     // TODO: Implement
                     return true;
                 case ProfileConditionValue.Has64BitOffsets:
-                    // TODO: Implement
                     return true;
                 case ProfileConditionValue.IsAnamorphic:
                     return IsConditionSatisfied(condition, isAnamorphic);

+ 1 - 2
MediaBrowser.Providers/Omdb/OmdbImageProvider.cs

@@ -79,8 +79,7 @@ namespace MediaBrowser.Providers.Omdb
 
         public bool Supports(IHasImages item)
         {
-            // Save the http requests since we know it's not currently supported
-            // TODO: Check again periodically
+            // We'll hammer Omdb if we enable this
             if (item is Person)
             {
                 return false;

+ 3 - 18
MediaBrowser.Server.Implementations/Channels/ChannelManager.cs

@@ -31,7 +31,6 @@ namespace MediaBrowser.Server.Implementations.Channels
     public class ChannelManager : IChannelManager, IDisposable
     {
         private IChannel[] _channels;
-        private IChannelFactory[] _factories;
 
         private readonly IUserManager _userManager;
         private readonly IUserDataManager _userDataManager;
@@ -76,10 +75,9 @@ namespace MediaBrowser.Server.Implementations.Channels
             }
         }
 
-        public void AddParts(IEnumerable<IChannel> channels, IEnumerable<IChannelFactory> factories)
+        public void AddParts(IEnumerable<IChannel> channels)
         {
-            _channels = channels.Where(i => !(i is IFactoryChannel)).ToArray();
-            _factories = factories.ToArray();
+            _channels = channels.ToArray();
         }
 
         public string ChannelDownloadPath
@@ -99,20 +97,7 @@ namespace MediaBrowser.Server.Implementations.Channels
 
         private IEnumerable<IChannel> GetAllChannels()
         {
-            return _factories
-                .SelectMany(i =>
-                {
-                    try
-                    {
-                        return i.GetChannels().ToList();
-                    }
-                    catch (Exception ex)
-                    {
-                        _logger.ErrorException("Error getting channel list", ex);
-                        return new List<IChannel>();
-                    }
-                })
-                .Concat(_channels)
+            return _channels
                 .OrderBy(i => i.Name);
         }
 

+ 0 - 41
MediaBrowser.Server.Implementations/HttpServer/Security/AuthorizationContext.cs

@@ -69,47 +69,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
                 token = httpReq.QueryString["api_key"];
             }
 
-            // Hack until iOS is updated
-            // TODO: Remove
-            if (string.IsNullOrWhiteSpace(client))
-            {
-                var userAgent = httpReq.Headers["User-Agent"] ?? string.Empty;
-
-                if (userAgent.IndexOf("mediabrowserios", StringComparison.OrdinalIgnoreCase) != -1 ||
-                    userAgent.IndexOf("iphone", StringComparison.OrdinalIgnoreCase) != -1 ||
-                    userAgent.IndexOf("ipad", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    client = "iOS";
-                }
-
-                else if (userAgent.IndexOf("crKey", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    client = "Chromecast";
-                }
-            }
-
-            // Hack until iOS is updated
-            // TODO: Remove
-            if (string.IsNullOrWhiteSpace(device))
-            {
-                var userAgent = httpReq.Headers["User-Agent"] ?? string.Empty;
-
-                if (userAgent.IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    device = "iPhone";
-                }
-
-                else if (userAgent.IndexOf("iPad", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    device = "iPad";
-                }
-
-                else if (userAgent.IndexOf("crKey", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    device = "Chromecast";
-                }
-            }
-
             var info = new AuthorizationInfo
             {
                 Client = client,

+ 0 - 2
MediaBrowser.Server.Implementations/Sync/SyncManager.cs

@@ -962,8 +962,6 @@ namespace MediaBrowser.Server.Implementations.Sync
                 return false;
             }
 
-            // TODO: Make sure it hasn't been deleted
-
             return true;
         }
 

+ 1 - 1
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -790,7 +790,7 @@ namespace MediaBrowser.Server.Startup.Common
 
             SessionManager.AddParts(GetExports<ISessionControllerFactory>());
 
-            ChannelManager.AddParts(GetExports<IChannel>(), GetExports<IChannelFactory>());
+            ChannelManager.AddParts(GetExports<IChannel>());
 
             MediaSourceManager.AddParts(GetExports<IMediaSourceProvider>());
 

+ 0 - 3
MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

@@ -1005,9 +1005,6 @@
     <Content Include="dashboard-ui\scripts\dlnasettings.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="dashboard-ui\scripts\editcollectionitems.js">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="dashboard-ui\scripts\edititemsubtitles.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>