aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-05-27 07:42:49 -0400
committerGitHub <noreply@github.com>2017-05-27 07:42:49 -0400
commit772fb88aabb822aa0d0a4988b12bae8686fe0465 (patch)
treef49a12ab0ca543d9a1a3ea8494737330fd50ea2b
parent84077e824df3bda4f74e12b961d4e962b0e04a42 (diff)
parenta76bbcfebe82452178836301ce1d1833968c50bd (diff)
Merge pull request #2667 from MediaBrowser/dev
Dev
-rw-r--r--Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs5
-rw-r--r--Emby.Server.Implementations/IO/FileRefresher.cs12
-rw-r--r--Emby.Server.Implementations/Session/HttpSessionController.cs26
-rw-r--r--MediaBrowser.Api/Playback/UniversalAudioService.cs2
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs9
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs13
-rw-r--r--MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs1
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs11
-rw-r--r--MediaBrowser.Providers/Subtitles/SubtitleManager.cs5
-rw-r--r--SharedVersion.cs2
10 files changed, 52 insertions, 34 deletions
diff --git a/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs b/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
index a51ea5726..094bddfda 100644
--- a/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
+++ b/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
@@ -87,8 +87,9 @@ namespace Emby.Server.Implementations.HttpServer.SocketSharp
private void ProcessContext(HttpListenerContext context)
{
- //Task.Factory.StartNew(() => InitTask(context), TaskCreationOptions.DenyChildAttach | TaskCreationOptions.PreferFairness);
- Task.Run(() => InitTask(context, _disposeCancellationToken));
+ _logger.Info("thread id {0}", Thread.CurrentThread.ManagedThreadId);
+ InitTask(context, _disposeCancellationToken);
+ //Task.Run(() => InitTask(context, _disposeCancellationToken));
}
private Task InitTask(HttpListenerContext context, CancellationToken cancellationToken)
diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs
index 7b9083f00..9606b60b8 100644
--- a/Emby.Server.Implementations/IO/FileRefresher.cs
+++ b/Emby.Server.Implementations/IO/FileRefresher.cs
@@ -180,7 +180,7 @@ namespace Emby.Server.Implementations.IO
try
{
- await item.ChangedExternally().ConfigureAwait(false);
+ item.ChangedExternally();
}
catch (IOException ex)
{
@@ -282,11 +282,11 @@ namespace Emby.Server.Implementations.IO
return false;
}
}
- //catch (DirectoryNotFoundException)
- //{
- // // File may have been deleted
- // return false;
- //}
+ catch (DirectoryNotFoundException)
+ {
+ // File may have been deleted
+ return false;
+ }
catch (FileNotFoundException)
{
// File may have been deleted
diff --git a/Emby.Server.Implementations/Session/HttpSessionController.cs b/Emby.Server.Implementations/Session/HttpSessionController.cs
index 2acc3902f..92fa6c424 100644
--- a/Emby.Server.Implementations/Session/HttpSessionController.cs
+++ b/Emby.Server.Implementations/Session/HttpSessionController.cs
@@ -66,19 +66,19 @@ namespace Emby.Server.Implementations.Session
return SendMessage(name, new Dictionary<string, string>(), cancellationToken);
}
- private async Task SendMessage(string name,
+ private Task SendMessage(string name,
Dictionary<string, string> args,
CancellationToken cancellationToken)
{
var url = PostUrl + "/" + name + ToQueryString(args);
- await _httpClient.Post(new HttpRequestOptions
+ return _httpClient.Post(new HttpRequestOptions
{
Url = url,
CancellationToken = cancellationToken,
BufferContent = false
- }).ConfigureAwait(false);
+ });
}
public Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken)
@@ -159,8 +159,24 @@ namespace Emby.Server.Implementations.Session
public Task SendMessage<T>(string name, T data, CancellationToken cancellationToken)
{
- // Not supported or needed right now
- return Task.FromResult(true);
+ var url = PostUrl + "/" + name;
+
+ var options = new HttpRequestOptions
+ {
+ Url = url,
+ CancellationToken = cancellationToken,
+ BufferContent = false
+ };
+
+ options.RequestContent = _json.SerializeToString(data);
+ options.RequestContentType = "application/json";
+
+ return _httpClient.Post(new HttpRequestOptions
+ {
+ Url = url,
+ CancellationToken = cancellationToken,
+ BufferContent = false
+ });
}
private string ToQueryString(Dictionary<string, string> nvc)
diff --git a/MediaBrowser.Api/Playback/UniversalAudioService.cs b/MediaBrowser.Api/Playback/UniversalAudioService.cs
index c28014f9b..e5ece3984 100644
--- a/MediaBrowser.Api/Playback/UniversalAudioService.cs
+++ b/MediaBrowser.Api/Playback/UniversalAudioService.cs
@@ -61,7 +61,7 @@ namespace MediaBrowser.Api.Playback
{
}
- //[Authenticated]
+ [Authenticated]
public class UniversalAudioService : BaseApiService
{
public UniversalAudioService(IServerConfigurationManager serverConfigurationManager, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IDlnaManager dlnaManager, IDeviceManager deviceManager, ISubtitleEncoder subtitleEncoder, IMediaSourceManager mediaSourceManager, IZipClient zipClient, IJsonSerializer jsonSerializer, IAuthorizationContext authorizationContext, IImageProcessor imageProcessor, INetworkManager networkManager, IEnvironmentInfo environmentInfo)
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index a46ac9135..603e59338 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1854,10 +1854,13 @@ namespace MediaBrowser.Controller.Entities
/// Do whatever refreshing is necessary when the filesystem pertaining to this item has changed.
/// </summary>
/// <returns>Task.</returns>
- public virtual Task ChangedExternally()
+ public virtual void ChangedExternally()
{
- ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(FileSystem), RefreshPriority.High);
- return Task.FromResult(true);
+ ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(FileSystem)
+ {
+ ValidateChildren = true,
+
+ }, RefreshPriority.High);
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 28856b753..7566911a1 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1326,19 +1326,6 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
- /// Folders need to validate and refresh
- /// </summary>
- /// <returns>Task.</returns>
- public override async Task ChangedExternally()
- {
- var progress = new Progress<double>();
-
- await ValidateChildren(progress, CancellationToken.None).ConfigureAwait(false);
-
- await base.ChangedExternally().ConfigureAwait(false);
- }
-
- /// <summary>
/// Marks the played.
/// </summary>
/// <param name="user">The user.</param>
diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
index ed1e4325d..86cef628e 100644
--- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
@@ -15,6 +15,7 @@ namespace MediaBrowser.Controller.Providers
public bool ReplaceAllMetadata { get; set; }
public bool IsPostRecursiveRefresh { get; set; }
+ public bool ValidateChildren { get; set; }
public MetadataRefreshMode MetadataRefreshMode { get; set; }
public RemoteSearchResult SearchResult { get; set; }
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index f80b99c7a..16dfd8945 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -872,7 +872,7 @@ namespace MediaBrowser.Providers.Manager
if (!_isProcessingRefreshQueue)
{
_isProcessingRefreshQueue = true;
- Task.Run(() => StartProcessingRefreshQueue());
+ Task.Run(StartProcessingRefreshQueue);
}
}
}
@@ -897,6 +897,15 @@ namespace MediaBrowser.Providers.Manager
// Try to throttle this a little bit.
await Task.Delay(100).ConfigureAwait(false);
+ if (refreshItem.Item2.ValidateChildren)
+ {
+ var folder = item as Folder;
+ if (folder != null)
+ {
+ await folder.ValidateChildren(new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
+ }
+ }
+
var artist = item as MusicArtist;
var task = artist == null
? RefreshItem(item, refreshItem.Item2, CancellationToken.None)
diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
index b4c6aa02c..f7cd9dd13 100644
--- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
+++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
@@ -163,7 +163,7 @@ namespace MediaBrowser.Providers.Subtitles
Provider = provider.Name
}, _logger);
-
+
throw;
}
}
@@ -256,7 +256,8 @@ namespace MediaBrowser.Providers.Subtitles
_monitor.ReportFileSystemChangeComplete(path, false);
}
- return _libraryManager.GetItemById(itemId).ChangedExternally();
+ _libraryManager.GetItemById(itemId).ChangedExternally();
+ return Task.FromResult(true);
}
public Task<SubtitleResponse> GetRemoteSubtitles(string id, CancellationToken cancellationToken)
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 85273a33e..46ba93e6b 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,3 +1,3 @@
using System.Reflection;
-[assembly: AssemblyVersion("3.2.17.16")]
+[assembly: AssemblyVersion("3.2.17.17")]