aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs2
-rw-r--r--MediaBrowser.Dlna/DlnaManager.cs2
-rw-r--r--MediaBrowser.Model/ApiClient/IServerEvents.cs4
-rw-r--r--MediaBrowser.Model/Sync/SyncJobStatus.cs9
-rw-r--r--MediaBrowser.Model/System/SystemInfo.cs6
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json14
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs24
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs1
-rw-r--r--MediaBrowser.Server.Startup.Common/ApplicationHost.cs3
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Model.Signed.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
14 files changed, 61 insertions, 23 deletions
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
index e0ea6eb9a..362b9c3bc 100644
--- a/MediaBrowser.Controller/Sync/ISyncManager.cs
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Querying;
@@ -15,6 +14,7 @@ namespace MediaBrowser.Controller.Sync
{
event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated;
event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled;
+ event EventHandler<GenericEventArgs<SyncJob>> SyncJobUpdated;
/// <summary>
/// Creates the job.
diff --git a/MediaBrowser.Dlna/DlnaManager.cs b/MediaBrowser.Dlna/DlnaManager.cs
index 0bce849ce..f0f295c83 100644
--- a/MediaBrowser.Dlna/DlnaManager.cs
+++ b/MediaBrowser.Dlna/DlnaManager.cs
@@ -515,7 +515,7 @@ namespace MediaBrowser.Dlna
public void Run()
{
- DumpProfiles();
+ //DumpProfiles();
}
private void DumpProfiles()
diff --git a/MediaBrowser.Model/ApiClient/IServerEvents.cs b/MediaBrowser.Model/ApiClient/IServerEvents.cs
index b74d43ee0..cc51ce4c6 100644
--- a/MediaBrowser.Model/ApiClient/IServerEvents.cs
+++ b/MediaBrowser.Model/ApiClient/IServerEvents.cs
@@ -135,5 +135,9 @@ namespace MediaBrowser.Model.ApiClient
/// Occurs when [synchronize job created].
/// </summary>
event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated;
+ /// <summary>
+ /// Occurs when [synchronize job cancelled].
+ /// </summary>
+ event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled;
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobStatus.cs b/MediaBrowser.Model/Sync/SyncJobStatus.cs
index 961ccf544..6c0068a8a 100644
--- a/MediaBrowser.Model/Sync/SyncJobStatus.cs
+++ b/MediaBrowser.Model/Sync/SyncJobStatus.cs
@@ -4,8 +4,11 @@ namespace MediaBrowser.Model.Sync
public enum SyncJobStatus
{
Queued = 0,
- InProgress = 1,
- Completed = 2,
- CompletedWithError = 3
+ Converting = 1,
+ Transferring = 2,
+ Completed = 3,
+ CompletedWithError = 4,
+ Failed = 5,
+ Cancelled = 6
}
}
diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs
index ce081d5f2..8c1fc759f 100644
--- a/MediaBrowser.Model/System/SystemInfo.cs
+++ b/MediaBrowser.Model/System/SystemInfo.cs
@@ -39,6 +39,12 @@ namespace MediaBrowser.Model.System
public bool HasPendingRestart { get; set; }
/// <summary>
+ /// Gets or sets a value indicating whether [supports synchronize].
+ /// </summary>
+ /// <value><c>true</c> if [supports synchronize]; otherwise, <c>false</c>.</value>
+ public bool SupportsSync { get; set; }
+
+ /// <summary>
/// Gets or sets a value indicating whether this instance is network deployed.
/// </summary>
/// <value><c>true</c> if this instance is network deployed; otherwise, <c>false</c>.</value>
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
index 51e6ddc0e..b5624625f 100644
--- a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
+++ b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
@@ -75,6 +75,12 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
_taskManager.TaskCompleted += _taskManager_TaskCompleted;
_syncManager.SyncJobCreated += _syncManager_SyncJobCreated;
+ _syncManager.SyncJobCancelled += _syncManager_SyncJobCancelled;
+ }
+
+ void _syncManager_SyncJobCancelled(object sender, GenericEventArgs<SyncJob> e)
+ {
+ _sessionManager.SendMessageToUserDeviceSessions(e.Argument.TargetId, "SyncJobCancelled", e.Argument, CancellationToken.None);
}
void _syncManager_SyncJobCreated(object sender, GenericEventArgs<SyncJobCreationResult> e)
@@ -189,6 +195,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
_appHost.HasPendingRestartChanged -= kernel_HasPendingRestartChanged;
_syncManager.SyncJobCreated -= _syncManager_SyncJobCreated;
+ _syncManager.SyncJobCancelled -= _syncManager_SyncJobCancelled;
}
}
}
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
index b494adfd8..1349881a4 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
@@ -19,7 +19,7 @@
"PinCodeResetComplete": "The pin code has been reset.",
"PasswordResetConfirmation": "Are you sure you wish to reset the password?",
"PinCodeResetConfirmation": "Are you sure you wish to reset the pin code?",
- "HeaderPinCodeReset": "Reset Pin Code",
+ "HeaderPinCodeReset": "Reset Pin Code",
"PasswordSaved": "Password saved.",
"PasswordMatchError": "Password and password confirmation must match.",
"OptionRelease": "Official Release",
@@ -48,10 +48,13 @@
"LabelFailed": "(failed)",
"ButtonHelp": "Help",
"ButtonSave": "Save",
- "SyncJobStatusQueued": "Queued",
- "SyncJobStatusInProgress": "In-Progress",
- "SyncJobStatusCompleted": "Synced",
- "SyncJobStatusCompletedWithError": "Synced with errors",
+ "SyncJobStatusQueued": "Queued",
+ "SyncJobStatusConverting": "Converting",
+ "SyncJobStatusFailed": "Failed",
+ "SyncJobStatusCancelled": "Cancelled",
+ "SyncJobStatusCompleted": "Synced",
+ "SyncJobStatusTransferring": "Transferring",
+ "SyncJobStatusCompletedWithError": "Synced with errors",
"LabelCollection": "Collection",
"HeaderAddToCollection": "Add to Collection",
"NewCollectionNameExample": "Example: Star Wars Collection",
@@ -91,6 +94,7 @@
"HeaderSelectSubtitles": "Select Subtitles",
"ButtonMarkForRemoval": "Remove from device",
"ButtonUnmarkForRemoval": "Cancel removal from device",
+ "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.",
"LabelDefaultStream": "(Default)",
"LabelForcedStream": "(Forced)",
"LabelDefaultForcedStream": "(Default/Forced)",
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
index 328b8441a..6ef74d953 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
@@ -172,7 +172,23 @@ namespace MediaBrowser.Server.Implementations.Sync
job.Progress = null;
}
- if (pct >= 100)
+ if (jobItems.All(i => i.Status == SyncJobItemStatus.Queued))
+ {
+ job.Status = SyncJobStatus.Queued;
+ }
+ else if (jobItems.All(i => i.Status == SyncJobItemStatus.Failed))
+ {
+ job.Status = SyncJobStatus.Failed;
+ }
+ else if (jobItems.All(i => i.Status == SyncJobItemStatus.Cancelled))
+ {
+ job.Status = SyncJobStatus.Cancelled;
+ }
+ else if (jobItems.Any(i => i.Status == SyncJobItemStatus.Converting))
+ {
+ job.Status = SyncJobStatus.Converting;
+ }
+ else if (pct >= 100)
{
if (jobItems.Any(i => i.Status == SyncJobItemStatus.Failed))
{
@@ -183,13 +199,9 @@ namespace MediaBrowser.Server.Implementations.Sync
job.Status = SyncJobStatus.Completed;
}
}
- else if (pct.Equals(0) && jobItems.All(i => i.Status == SyncJobItemStatus.Queued))
- {
- job.Status = SyncJobStatus.Queued;
- }
else
{
- job.Status = SyncJobStatus.InProgress;
+ job.Status = SyncJobStatus.Transferring;
}
return _syncRepo.Update(job);
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index 6034390c6..627e94eb1 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -51,6 +51,7 @@ namespace MediaBrowser.Server.Implementations.Sync
public event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated;
public event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled;
+ public event EventHandler<GenericEventArgs<SyncJob>> SyncJobUpdated;
public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config)
{
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
index e3e0d1363..b72a10801 100644
--- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
+++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
@@ -1023,7 +1023,8 @@ namespace MediaBrowser.Server.Startup.Common
IsRunningAsService = IsRunningAsService,
SupportsRunningAsService = SupportsRunningAsService,
ServerName = FriendlyName,
- LocalAddress = LocalApiUrl
+ LocalAddress = LocalApiUrl,
+ SupportsSync = true
};
}
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index a9194c05c..37c4d9ba4 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.554</version>
+ <version>3.0.556</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.554" />
+ <dependency id="MediaBrowser.Common" version="3.0.556" />
<dependency id="NLog" version="3.1.0.0" />
<dependency id="SimpleInjector" version="2.6.1" />
</dependencies>
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index 5bbb13e19..a2472fb84 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.554</version>
+ <version>3.0.556</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec
index 124006492..24f94d22e 100644
--- a/Nuget/MediaBrowser.Model.Signed.nuspec
+++ b/Nuget/MediaBrowser.Model.Signed.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Model.Signed</id>
- <version>3.0.554</version>
+ <version>3.0.556</version>
<title>MediaBrowser.Model - Signed Edition</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index da3283c32..b50c59b59 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.554</version>
+ <version>3.0.556</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.554" />
+ <dependency id="MediaBrowser.Common" version="3.0.556" />
</dependencies>
</metadata>
<files>