aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Common.Implementations/Updates/InstallationManager.cs2
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs10
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs3
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs21
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/server.json3
-rw-r--r--MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs14
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs8
-rw-r--r--MediaBrowser.WebDashboard/Api/PackageCreator.cs9
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj23
-rw-r--r--MediaBrowser.XbmcMetadata/EntryPoint.cs6
11 files changed, 60 insertions, 41 deletions
diff --git a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
index 264e63b47..23785083b 100644
--- a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
+++ b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs
@@ -195,7 +195,7 @@ namespace MediaBrowser.Common.Implementations.Updates
cacheLength = TimeSpan.FromMinutes(3);
break;
default:
- cacheLength = TimeSpan.FromHours(3);
+ cacheLength = TimeSpan.FromHours(24);
break;
}
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index 340af3ac1..ab1492391 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs
@@ -362,8 +362,8 @@ namespace MediaBrowser.Model.Dlna
MediaStream videoStream = item.VideoStream;
// TODO: This doesn't accout for situation of device being able to handle media bitrate, but wifi connection not fast enough
- bool isEligibleForDirectPlay = IsEligibleForDirectPlay(item, GetBitrateForDirectPlayCheck(item, options), subtitleStream, options);
- bool isEligibleForDirectStream = IsEligibleForDirectPlay(item, options.GetMaxBitrate(), subtitleStream, options);
+ bool isEligibleForDirectPlay = IsEligibleForDirectPlay(item, GetBitrateForDirectPlayCheck(item, options), subtitleStream, options, PlayMethod.DirectPlay);
+ bool isEligibleForDirectStream = IsEligibleForDirectPlay(item, options.GetMaxBitrate(), subtitleStream, options, PlayMethod.DirectStream);
_logger.Debug("Profile: {0}, Path: {1}, isEligibleForDirectPlay: {2}, isEligibleForDirectStream: {3}",
options.Profile.Name ?? "Unknown Profile",
@@ -706,7 +706,8 @@ namespace MediaBrowser.Model.Dlna
private bool IsEligibleForDirectPlay(MediaSourceInfo item,
int? maxBitrate,
MediaStream subtitleStream,
- VideoOptions options)
+ VideoOptions options,
+ PlayMethod playMethod)
{
if (subtitleStream != null)
{
@@ -714,6 +715,7 @@ namespace MediaBrowser.Model.Dlna
if (subtitleProfile.Method != SubtitleDeliveryMethod.External && subtitleProfile.Method != SubtitleDeliveryMethod.Embed)
{
+ _logger.Debug("Not eligible for {0} due to unsupported subtitles", playMethod);
return false;
}
}
@@ -781,7 +783,7 @@ namespace MediaBrowser.Model.Dlna
return true;
}
- _logger.Debug("Audio Bitrate exceeds DirectPlay limit");
+ _logger.Debug("Bitrate exceeds DirectPlay limit");
return false;
}
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index de41a0f96..c3d1ec080 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -330,12 +330,11 @@ namespace MediaBrowser.Providers.Manager
protected async Task SaveItem(MetadataResult<TItemType> result, ItemUpdateType reason, CancellationToken cancellationToken)
{
- await result.Item.UpdateToRepository(reason, cancellationToken).ConfigureAwait(false);
-
if (result.Item.SupportsPeople)
{
await LibraryManager.UpdatePeople(result.Item as BaseItem, result.People);
}
+ await result.Item.UpdateToRepository(reason, cancellationToken).ConfigureAwait(false);
}
public bool CanRefresh(IHasMetadata item)
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
index af7fc3df4..c05f1b64b 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
@@ -138,7 +138,7 @@ namespace MediaBrowser.Providers.MediaInfo
if (item.IsShortcut)
{
FetchShortcutInfo(item);
- return Task.FromResult(ItemUpdateType.MetadataEdit);
+ return Task.FromResult(ItemUpdateType.MetadataImport);
}
var prober = new FFProbeVideoInfo(_logger, _isoManager, _mediaEncoder, _itemRepo, _blurayExaminer, _localization, _appPaths, _json, _encodingManager, _fileSystem, _config, _subtitleManager, _chapterManager, _libraryManager);
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index c3793b3a3..bdc94b88b 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -345,7 +345,7 @@ namespace MediaBrowser.Server.Implementations.Library
try
{
- await UpdateItem(season, ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
+ await UpdateItem(season, ItemUpdateType.MetadataDownload, cancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
{
@@ -2071,10 +2071,17 @@ namespace MediaBrowser.Server.Implementations.Library
public List<PersonInfo> GetPeople(BaseItem item)
{
- return item.People ?? GetPeople(new InternalPeopleQuery
+ var people = GetPeople(new InternalPeopleQuery
{
ItemId = item.Id
});
+
+ if (people.Count > 0)
+ {
+ return people;
+ }
+
+ return item.People ?? new List<PersonInfo>();
}
public List<Person> GetPeopleItems(InternalPeopleQuery query)
@@ -2106,15 +2113,9 @@ namespace MediaBrowser.Server.Implementations.Library
.ToList();
}
- public async Task UpdatePeople(BaseItem item, List<PersonInfo> people)
+ public Task UpdatePeople(BaseItem item, List<PersonInfo> people)
{
- await ItemRepository.UpdatePeople(item.Id, people).ConfigureAwait(false);
-
- if (item.People != null)
- {
- item.People = null;
- await item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
- }
+ return ItemRepository.UpdatePeople(item.Id, people);
}
}
}
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json
index 55e754085..aa9fafb1b 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/server.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json
@@ -1466,5 +1466,6 @@
"TabHomeScreen": "Home Screen",
"HeaderDisplay": "Display",
"HeaderNavigation": "Navigation",
- "LegendTheseSettingsShared": "These settings are shared on all devices"
+ "LegendTheseSettingsShared": "These settings are shared on all devices",
+ "OptionEnableAutomaticServerUpdates": "Enable automatic server updates"
}
diff --git a/MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs b/MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs
index 6272fe926..175dbbc01 100644
--- a/MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs
+++ b/MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs
@@ -210,6 +210,13 @@ namespace MediaBrowser.Server.Implementations.Sync
},
new ProfileCondition
{
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.AudioBitrate,
+ Value = "320000",
+ IsRequired = true
+ },
+ new ProfileCondition
+ {
Condition = ProfileConditionType.Equals,
Property = ProfileConditionValue.IsSecondaryAudio,
Value = "false",
@@ -232,6 +239,13 @@ namespace MediaBrowser.Server.Implementations.Sync
},
new ProfileCondition
{
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.AudioBitrate,
+ Value = "320000",
+ IsRequired = true
+ },
+ new ProfileCondition
+ {
Condition = ProfileConditionType.Equals,
Property = ProfileConditionValue.IsSecondaryAudio,
Value = "false",
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 6eed91b6c..2346e15d3 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -1,5 +1,4 @@
-using System.Text;
-using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
@@ -16,6 +15,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Text;
using System.Threading.Tasks;
using WebMarkupMin.Core.Minifiers;
@@ -324,6 +324,10 @@ namespace MediaBrowser.WebDashboard.Api
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "webcomponentsjs", "webcomponents-lite.js"), Path.Combine(path, "bower_components", "webcomponentsjs", "webcomponents-lite.js"));
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js"), Path.Combine(path, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js"));
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "velocity", "velocity.min.js"), Path.Combine(path, "bower_components", "velocity", "velocity.min.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "requirejs", "require.js"), Path.Combine(path, "bower_components", "requirejs", "require.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "fastclick", "lib", "fastclick.js"), Path.Combine(path, "bower_components", "fastclick", "lib", "fastclick.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "jquery", "dist", "jquery.min.js"), Path.Combine(path, "bower_components", "jquery", "dist", "jquery.min.js"));
+
CopyDirectory(Path.Combine(creator.DashboardUIPath, "bower_components", "swipebox", "src", "css"), Path.Combine(path, "bower_components", "swipebox", "src", "css"));
CopyDirectory(Path.Combine(creator.DashboardUIPath, "bower_components", "swipebox", "src", "js"), Path.Combine(path, "bower_components", "swipebox", "src", "js"));
CopyDirectory(Path.Combine(creator.DashboardUIPath, "bower_components", "swipebox", "src", "img"), Path.Combine(path, "bower_components", "swipebox", "src", "img"));
diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
index 6cc838ac4..f50147552 100644
--- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs
+++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
@@ -443,11 +443,6 @@ namespace MediaBrowser.WebDashboard.Api
"bower_components/webcomponentsjs/webcomponents-lite.js" + versionString
};
- if (string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase))
- {
- files.Insert(0, "cordova.js");
- }
-
var tags = files.Select(s => string.Format("<script src=\"{0}\"></script>", s)).ToArray();
builder.Append(string.Join(string.Empty, tags));
@@ -493,9 +488,9 @@ namespace MediaBrowser.WebDashboard.Api
var memoryStream = new MemoryStream();
var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
- await AppendResource(memoryStream, "thirdparty/jquery-2.1.1.min.js", newLineBytes).ConfigureAwait(false);
+ await AppendResource(memoryStream, "bower_components/jquery/dist/jquery.min.js", newLineBytes).ConfigureAwait(false);
- await AppendResource(memoryStream, "thirdparty/require.js", newLineBytes).ConfigureAwait(false);
+ await AppendResource(memoryStream, "bower_components/requirejs/require.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.min.js", newLineBytes).ConfigureAwait(false);
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 09d4766e9..18d379ca4 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -87,6 +87,15 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
+ <Content Include="dashboard-ui\bower_components\fastclick\lib\fastclick.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="dashboard-ui\bower_components\jquery\dist\jquery.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="dashboard-ui\bower_components\requirejs\require.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\bower_components\swipebox\src\css\swipebox.min.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -258,7 +267,7 @@
<Content Include="dashboard-ui\cordova\back.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\cordova\ios\actionsheet.js">
+ <Content Include="dashboard-ui\cordova\actionsheet.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\cordova\ios\orientation.js">
@@ -297,6 +306,9 @@
<Content Include="dashboard-ui\thirdparty\paper-button-style.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\thirdparty\paper-ie10.css">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\thirdparty\social-share-kit-1.0.4\.gitignore" />
<Content Include="dashboard-ui\thirdparty\social-share-kit-1.0.4\dist\css\social-share-kit.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -1099,9 +1111,6 @@
<Content Include="dashboard-ui\thirdparty\cast_sender.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\thirdparty\fastclick.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\thirdparty\filesystem.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1117,9 +1126,6 @@
<Content Include="dashboard-ui\thirdparty\headroom.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\thirdparty\jquery-2.1.1.min.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\thirdparty\jquery.unveil-custom.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1753,9 +1759,6 @@
<Content Include="dashboard-ui\thirdparty\jstree3.0.8\themes\default\throbber.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\thirdparty\require.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\tvupcoming.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
diff --git a/MediaBrowser.XbmcMetadata/EntryPoint.cs b/MediaBrowser.XbmcMetadata/EntryPoint.cs
index c3bc6e30f..1c68a5046 100644
--- a/MediaBrowser.XbmcMetadata/EntryPoint.cs
+++ b/MediaBrowser.XbmcMetadata/EntryPoint.cs
@@ -36,7 +36,7 @@ namespace MediaBrowser.XbmcMetadata
void _libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
{
- if (e.UpdateReason == ItemUpdateType.ImageUpdate)
+ if (e.UpdateReason >= ItemUpdateType.ImageUpdate)
{
var person = e.Item as Person;
@@ -57,7 +57,7 @@ namespace MediaBrowser.XbmcMetadata
foreach (var item in items)
{
- SaveMetadataForItem(item, ItemUpdateType.MetadataEdit);
+ SaveMetadataForItem(item, e.UpdateReason);
}
}
}
@@ -71,7 +71,7 @@ namespace MediaBrowser.XbmcMetadata
if (!string.IsNullOrWhiteSpace(_config.GetNfoConfiguration().UserId))
{
- SaveMetadataForItem(item, ItemUpdateType.MetadataEdit);
+ SaveMetadataForItem(item, ItemUpdateType.MetadataDownload);
}
}
}