From 7990f9ca50c21be298d8fa90ce70015a80b976c3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 4 Jun 2015 16:27:46 -0400 Subject: [PATCH] update connect --- .../Playback/BaseStreamingService.cs | 6 +++ MediaBrowser.Controller/LiveTv/ILiveTvItem.cs | 1 + .../Music/FanArtArtistProvider.cs | 2 +- .../TV/FanArtTvUpdatesPostScanTask.cs | 2 +- .../Connect/ConnectEntryPoint.cs | 45 +++++++++++-------- .../LiveTv/LiveTvManager.cs | 2 + .../Localization/JavaScript/javascript.json | 3 +- .../MediaBrowser.WebDashboard.csproj | 6 +++ 8 files changed, 45 insertions(+), 22 deletions(-) diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index a19b66af6..c0917b8df 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1768,6 +1768,12 @@ namespace MediaBrowser.Api.Playback state.InputAudioSync = "1"; } + if (string.Equals(mediaSource.Container, "wma", StringComparison.OrdinalIgnoreCase)) + { + // Seeing some stuttering when transcoding wma to audio-only HLS + state.InputAudioSync = "1"; + } + var mediaStreams = mediaSource.MediaStreams; if (videoRequest != null) diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvItem.cs b/MediaBrowser.Controller/LiveTv/ILiveTvItem.cs index 313675fb7..36727f4ae 100644 --- a/MediaBrowser.Controller/LiveTv/ILiveTvItem.cs +++ b/MediaBrowser.Controller/LiveTv/ILiveTvItem.cs @@ -5,5 +5,6 @@ namespace MediaBrowser.Controller.LiveTv public interface ILiveTvItem : IHasId { string ServiceName { get; set; } + string ExternalId { get; set; } } } diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index 0ed654962..597c5c0bc 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -8,6 +8,7 @@ using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Providers; +using MediaBrowser.Providers.TV; using System; using System.Collections.Generic; using System.Globalization; @@ -17,7 +18,6 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Xml; -using MediaBrowser.Providers.TV; namespace MediaBrowser.Providers.Music { diff --git a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs index 115b80434..64c6488fb 100644 --- a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs @@ -130,7 +130,7 @@ namespace MediaBrowser.Providers.TV { var json = await reader.ReadToEndAsync().ConfigureAwait(false); - if (string.Equals(json, "null", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(json, "null", StringComparison.OrdinalIgnoreCase) || string.IsNullOrWhiteSpace(json)) { return new List(); } diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs index 6dc83bc74..770eaa41f 100644 --- a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs +++ b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Configuration; +using System.Linq; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Connect; using MediaBrowser.Controller.Plugins; @@ -38,34 +39,40 @@ namespace MediaBrowser.Server.Implementations.Connect _timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(5), TimeSpan.FromHours(3)); } + private readonly string[] _ipLookups = { "http://bot.whatismyipaddress.com", "https://connect.mediabrowser.tv/service/ip" }; + private async void TimerCallback(object state) { - try + foreach (var ipLookupUrl in _ipLookups) { - using (var stream = await _httpClient.Get(new HttpRequestOptions + try { - Url = "http://bot.whatismyipaddress.com/" - - }).ConfigureAwait(false)) - { - using (var reader = new StreamReader(stream)) + using (var stream = await _httpClient.Get(new HttpRequestOptions { - var address = await reader.ReadToEndAsync().ConfigureAwait(false); + Url = ipLookupUrl - if (IsValid(address)) + }).ConfigureAwait(false)) + { + using (var reader = new StreamReader(stream)) { - ((ConnectManager)_connectManager).OnWanAddressResolved(address); - CacheAddress(address); + var address = await reader.ReadToEndAsync().ConfigureAwait(false); + + if (IsValid(address)) + { + ((ConnectManager)_connectManager).OnWanAddressResolved(address); + CacheAddress(address); + return; + } } } } - } - catch (HttpException) - { - } - catch (Exception ex) - { - _logger.ErrorException("Error getting connection info", ex); + catch (HttpException) + { + } + catch (Exception ex) + { + _logger.ErrorException("Error getting connection info", ex); + } } } diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 6e6be03a4..f6c69d8d6 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -664,6 +664,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv var recording = (ILiveTvRecording)item; + recording.ExternalId = info.Id; + recording.ProgramId = _tvDtoService.GetInternalProgramId(serviceName, info.ProgramId).ToString("N"); recording.Audio = info.Audio; recording.ChannelType = info.ChannelType; diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index c4100f219..1ccf21119 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -800,5 +800,6 @@ "HeaderYouSaid": "You Said...", "MessageWeDidntRecognizeCommand": "We're sorry, we didn't recognize that command.", "MessageIfYouBlockedVoice": "If you denied voice access to the app you'll need to reconfigure before trying again.", - "MessageNoItemsFound": "No items found." + "MessageNoItemsFound": "No items found.", + "ButtonManageServer": "Manage Server" } diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index 71f1f3415..48cd3f234 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -90,6 +90,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -123,6 +126,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest