aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-06-04 16:27:46 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-06-04 16:27:46 -0400
commit7990f9ca50c21be298d8fa90ce70015a80b976c3 (patch)
treea73baba29a1eed79446f4042ccf41d5c9cf78c56
parent9ffb82d96a405fdb35cdd925d8ddbba716592fef (diff)
update connect
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs6
-rw-r--r--MediaBrowser.Controller/LiveTv/ILiveTvItem.cs1
-rw-r--r--MediaBrowser.Providers/Music/FanArtArtistProvider.cs2
-rw-r--r--MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs45
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json3
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj6
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<string>();
}
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
- {
- Url = "http://bot.whatismyipaddress.com/"
-
- }).ConfigureAwait(false))
+ try
{
- 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 @@
<Content Include="dashboard-ui\css\images\clients\androidtv-tile.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\css\images\clients\chromecast.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\css\images\empty.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -123,6 +126,9 @@
<Content Include="dashboard-ui\thirdparty\cordova\android\localassetmanager.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\thirdparty\velocity.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\voice\voice.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>