From 947d895fe8c1d5c6af43873af143a84d6d049c12 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 00:47:23 -0500 Subject: [PATCH 1/9] stub out sat/ip discovery --- .../LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs index 95c04d61f..08c42bb46 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/SatIp/SatIpDiscovery.cs @@ -41,29 +41,21 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp void _deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e) { - //string server = null; - //if (e.Headers.TryGetValue("SERVER", out server) && server.IndexOf("HDHomeRun", StringComparison.OrdinalIgnoreCase) != -1) - //{ - // string location; - // if (e.Headers.TryGetValue("Location", out location)) - // { - // //_logger.Debug("HdHomerun found at {0}", location); + string st = null; + if (e.Headers.TryGetValue("ST", out st) && string.Equals(st, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase)) + { + string location; + if (e.Headers.TryGetValue("Location", out location) && !string.IsNullOrWhiteSpace(location)) + { + _logger.Debug("SAT IP found at {0}", location); - // // Just get the beginning of the url - // Uri uri; - // if (Uri.TryCreate(location, UriKind.Absolute, out uri)) - // { - // var apiUrl = location.Replace(uri.LocalPath, String.Empty, StringComparison.OrdinalIgnoreCase) - // .TrimEnd('/'); - - // //_logger.Debug("HdHomerun api url: {0}", apiUrl); - // AddDevice(apiUrl); - // } - // } - //} + // Just get the beginning of the url + AddDevice(location); + } + } } - private async void AddDevice(string url) + private async void AddDevice(string location) { await _semaphore.WaitAsync().ConfigureAwait(false); @@ -71,24 +63,24 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp { var options = GetConfiguration(); - if (options.TunerHosts.Any(i => - string.Equals(i.Type, SatIpHost.DeviceType, StringComparison.OrdinalIgnoreCase) && - UriEquals(i.Url, url))) - { - return; - } + //if (options.TunerHosts.Any(i => + // string.Equals(i.Type, SatIpHost.DeviceType, StringComparison.OrdinalIgnoreCase) && + // UriEquals(i.Url, url))) + //{ + // return; + //} - // Strip off the port - url = new Uri(url).GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped).TrimEnd('/'); + //// Strip off the port + //url = new Uri(url).GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped).TrimEnd('/'); - await TestUrl(url).ConfigureAwait(false); - - await _liveTvManager.SaveTunerHost(new TunerHostInfo - { - Type = SatIpHost.DeviceType, - Url = url + //await TestUrl(url).ConfigureAwait(false); - }).ConfigureAwait(false); + //await _liveTvManager.SaveTunerHost(new TunerHostInfo + //{ + // Type = SatIpHost.DeviceType, + // Url = url + + //}).ConfigureAwait(false); } catch (Exception ex) { From dc36859ae9f2f5dd7fd48171e01c48eb9d9ff0f0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 10:51:08 -0500 Subject: [PATCH 2/9] update game filters --- MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index 38e8e28ba..f62816082 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -113,6 +113,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest From 1dcdabe5e54782396aec85c3c311c6ea35463924 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 11:42:57 -0500 Subject: [PATCH 3/9] update episode filters --- MediaBrowser.Model/Configuration/UserConfiguration.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs index 819948909..d59974a2e 100644 --- a/MediaBrowser.Model/Configuration/UserConfiguration.cs +++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs @@ -42,8 +42,6 @@ namespace MediaBrowser.Model.Configuration public bool IncludeTrailersInSuggestions { get; set; } - public bool EnableCinemaMode { get; set; } - public string[] LatestItemsExcludes { get; set; } public string[] PlainFolderViews { get; set; } @@ -64,7 +62,6 @@ namespace MediaBrowser.Model.Configuration PlainFolderViews = new string[] { }; IncludeTrailersInSuggestions = true; - EnableCinemaMode = true; GroupedFolders = new string[] { }; } From 0069da65b9e69a1e1c23a95a0895dc0295685739 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 11:57:51 -0500 Subject: [PATCH 4/9] update music filters --- MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index f62816082..9de20cb39 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -514,9 +514,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest From f95e780a4d7ad217586ffc321d6a69fe3ab7a082 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 12:37:34 -0500 Subject: [PATCH 5/9] update linux ffmpeg --- .../FFMpeg/FFMpegDownloadInfo.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs b/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs index 3b83e65b2..60cb50e30 100644 --- a/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs +++ b/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs @@ -33,7 +33,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg case OperatingSystem.Linux: info.ArchiveType = "7z"; - info.Version = "20150917"; + info.Version = "20160215"; break; case OperatingSystem.Osx: @@ -119,12 +119,12 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg case Architecture.X86_X64: return new[] { - "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-2.8.0-64bit-static.7z" + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-git-20160215-64bit-static.7z" }; case Architecture.X86: return new[] { - "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-2.8.0-32bit-static.7z" + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-git-20160215-32bit-static.7z" }; case Architecture.Arm: return new[] From 600aa7686586d3cfd9fae05f70456a7b3badc1c9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 23:54:20 -0500 Subject: [PATCH 6/9] update recordings --- MediaBrowser.Api/PluginService.cs | 5 +++-- .../LiveTv/EmbyTV/EncodedRecorder.cs | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 2d7444f60..aead73def 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -208,7 +208,7 @@ namespace MediaBrowser.Api foreach (var plugin in result) { - var pkg = packages.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i.guid) && new Guid(plugin.Id).Equals(new Guid(i.guid))); + var pkg = packages.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i.guid) && string.Equals(i.guid.Replace("-", string.Empty), plugin.Id.Replace("-", string.Empty), StringComparison.OrdinalIgnoreCase)); if (pkg != null) { @@ -228,8 +228,9 @@ namespace MediaBrowser.Api .ToList(); } } - catch + catch (Exception ex) { + //Logger.ErrorException("Error getting plugin list", ex); // Play it safe here if (requireAppStoreEnabled) { diff --git a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs index b4ff79567..5f4d32732 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs @@ -91,6 +91,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV // Important - don't await the log task or we won't be able to kill ffmpeg when the user stops playback StartStreamingLog(process.StandardError.BaseStream, _logFileStream); + onStarted(); + // Wait for the file to exist before proceeeding while (!_hasExited) { From f7d046d00e30fee9086e68e0bc177de3fcefe6c0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 16 Feb 2016 11:15:36 -0500 Subject: [PATCH 7/9] enable shared components --- .../EntryPoints/UsageReporter.cs | 2 +- Nuget/MediaBrowser.Common.Internal.nuspec | 4 ++-- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Model.Signed.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs b/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs index 47c754643..be2817fd2 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints private readonly IHttpClient _httpClient; private readonly IUserManager _userManager; private readonly ILogger _logger; - private const string MbAdminUrl = "https://www.mb3admin.com/admin/"; + private const string MbAdminUrl = "http://www.mb3admin.com/admin/"; public UsageReporter(IApplicationHost applicationHost, IHttpClient httpClient, IUserManager userManager, ILogger logger) { diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index c4f2bd130..0bb8c830f 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.641 + 3.0.642 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Emby Theater and Emby Server. Not intended for plugin developer consumption. Copyright © Emby 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 984e03342..a290a424a 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.641 + 3.0.642 MediaBrowser.Common Emby Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index 2b0826670..2017cc1ae 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Model.Signed - 3.0.641 + 3.0.642 MediaBrowser.Model - Signed Edition Emby Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 80d3bc103..36c9ff415 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.641 + 3.0.642 Media Browser.Server.Core Emby Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Emby Server. Copyright © Emby 2013 - + From 5bf7e6d80c8b3c48f1dfec780a6e44d3623f4f32 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 16 Feb 2016 11:38:00 -0500 Subject: [PATCH 8/9] update libs --- .../MediaBrowser.Server.Implementations.csproj | 5 +++-- MediaBrowser.Server.Implementations/packages.config | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 2dee8a5ed..5f2fab457 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -45,8 +45,9 @@ False ..\packages\CommonIO.1.0.0.7\lib\net45\CommonIO.dll - - ..\packages\Emby.XmlTv.1.0.0.46\lib\net45\Emby.XmlTv.dll + + False + ..\packages\Emby.XmlTv.1.0.0.48\lib\net45\Emby.XmlTv.dll ..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index 98c27786f..816f85b42 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,7 +1,7 @@  - + From cc98b04c5d773ba7df480136ab53f0fef67e09c7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 16 Feb 2016 12:09:32 -0500 Subject: [PATCH 9/9] fix xbox one, ps4 not seeing dlna server --- MediaBrowser.Dlna/DlnaManager.cs | 4 +++- MediaBrowser.Dlna/Main/DlnaEntryPoint.cs | 12 ++++++------ MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs | 2 +- MediaBrowser.Dlna/Server/UpnpDevice.cs | 6 +++--- MediaBrowser.Dlna/Ssdp/SsdpHandler.cs | 6 +++--- .../HttpServer/ResponseFilter.cs | 1 + 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/MediaBrowser.Dlna/DlnaManager.cs b/MediaBrowser.Dlna/DlnaManager.cs index 63a36744f..dd5c4b77e 100644 --- a/MediaBrowser.Dlna/DlnaManager.cs +++ b/MediaBrowser.Dlna/DlnaManager.cs @@ -488,7 +488,9 @@ namespace MediaBrowser.Dlna var profile = GetProfile(headers) ?? GetDefaultProfile(); - return new DescriptionXmlBuilder(profile, serverUuId, serverAddress, _appHost.FriendlyName, serverUuId.GetMD5().ToString("N")).GetXml(); + var serverId = _appHost.SystemId; + + return new DescriptionXmlBuilder(profile, serverUuId, serverAddress, _appHost.FriendlyName, serverId).GetXml(); } public ImageStream GetIcon(string filename) diff --git a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs index d79ef9eaf..2133888b6 100644 --- a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs +++ b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs @@ -157,9 +157,9 @@ namespace MediaBrowser.Dlna.Main //} var addressString = address.ToString(); - var guid = addressString.GetMD5(); + var udn = addressString.GetMD5().ToString("N"); - var descriptorURI = "/dlna/" + guid.ToString("N") + "/description.xml"; + var descriptorURI = "/dlna/" + udn + "/description.xml"; var uri = new Uri(_appHost.GetLocalApiUrl(addressString) + descriptorURI); @@ -170,12 +170,12 @@ namespace MediaBrowser.Dlna.Main "urn:schemas-upnp-org:service:ContentDirectory:1", "urn:schemas-upnp-org:service:ConnectionManager:1", "urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1", - "uuid:" + guid.ToString("N") + "uuid:" + udn }; - _ssdpHandler.RegisterNotification(guid, uri, address, services); + _ssdpHandler.RegisterNotification(udn, uri, address, services); - _registeredServerIds.Add(guid.ToString("N")); + _registeredServerIds.Add(udn); } } @@ -240,7 +240,7 @@ namespace MediaBrowser.Dlna.Main { try { - _ssdpHandler.UnregisterNotification(new Guid(id)); + _ssdpHandler.UnregisterNotification(id); } catch (Exception ex) { diff --git a/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs b/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs index 281dee3e0..386370596 100644 --- a/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs +++ b/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs @@ -122,7 +122,7 @@ namespace MediaBrowser.Dlna.Server builder.Append("" + SecurityElement.Escape(_profile.SerialNumber) + ""); } - builder.Append("uuid:" + SecurityElement.Escape(_serverId) + ""); + builder.Append("uuid:" + SecurityElement.Escape(_serverUdn) + ""); builder.Append("" + SecurityElement.Escape(_serverAddress) + ""); if (!EnableAbsoluteUrls) diff --git a/MediaBrowser.Dlna/Server/UpnpDevice.cs b/MediaBrowser.Dlna/Server/UpnpDevice.cs index 870e3c24f..10eaeb053 100644 --- a/MediaBrowser.Dlna/Server/UpnpDevice.cs +++ b/MediaBrowser.Dlna/Server/UpnpDevice.cs @@ -8,10 +8,10 @@ namespace MediaBrowser.Dlna.Server public readonly Uri Descriptor; public readonly string Type; public readonly string USN; - public readonly Guid Uuid; + public readonly string Uuid; public readonly IPAddress Address; - public UpnpDevice(Guid aUuid, string aType, Uri aDescriptor, IPAddress address) + public UpnpDevice(string aUuid, string aType, Uri aDescriptor, IPAddress address) { Uuid = aUuid; Type = aType; @@ -25,7 +25,7 @@ namespace MediaBrowser.Dlna.Server } else { - USN = String.Format("uuid:{0}::{1}", Uuid.ToString("N"), Type); + USN = String.Format("uuid:{0}::{1}", Uuid, Type); } } } diff --git a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs index 82fc5e466..881f70165 100644 --- a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs +++ b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs @@ -36,7 +36,7 @@ namespace MediaBrowser.Dlna.Ssdp private Timer _notificationTimer; private bool _isDisposed; - private readonly ConcurrentDictionary> _devices = new ConcurrentDictionary>(); + private readonly ConcurrentDictionary> _devices = new ConcurrentDictionary>(); private readonly IApplicationHost _appHost; @@ -451,7 +451,7 @@ namespace MediaBrowser.Dlna.Ssdp SendDatagram(msg, _ssdpEndp, new IPEndPoint(dev.Address, 0), true); } - public void RegisterNotification(Guid uuid, Uri descriptionUri, IPAddress address, IEnumerable services) + public void RegisterNotification(string uuid, Uri descriptionUri, IPAddress address, IEnumerable services) { var list = _devices.GetOrAdd(uuid, new List()); @@ -461,7 +461,7 @@ namespace MediaBrowser.Dlna.Ssdp _logger.Debug("Registered mount {0} at {1}", uuid, descriptionUri); } - public void UnregisterNotification(Guid uuid) + public void UnregisterNotification(string uuid) { List dl; if (_devices.TryRemove(uuid, out dl)) diff --git a/MediaBrowser.Server.Implementations/HttpServer/ResponseFilter.cs b/MediaBrowser.Server.Implementations/HttpServer/ResponseFilter.cs index 4ef9d5277..f993d4437 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/ResponseFilter.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/ResponseFilter.cs @@ -61,6 +61,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer if (!hasOptions.Options.ContainsKey("Server")) { hasOptions.Options["Server"] = "Mono-HTTPAPI/1.1, UPnP/1.0 DLNADOC/1.50"; + //hasOptions.Options["Server"] = "Mono-HTTPAPI/1.1"; } // Content length has to be explicitly set on on HttpListenerResponse or it won't be happy