diff options
Diffstat (limited to 'MediaBrowser.Controller')
4 files changed, 21 insertions, 29 deletions
diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs index b47ae164a..7e6b65b48 100644 --- a/MediaBrowser.Controller/Drawing/ImageManager.cs +++ b/MediaBrowser.Controller/Drawing/ImageManager.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Extensions; +using System.Globalization; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.TV; @@ -59,11 +60,6 @@ namespace MediaBrowser.Controller.Drawing private readonly ILogger _logger; /// <summary> - /// The _protobuf serializer - /// </summary> - private readonly IProtobufSerializer _protobufSerializer; - - /// <summary> /// The _kernel /// </summary> private readonly Kernel _kernel; @@ -77,12 +73,10 @@ namespace MediaBrowser.Controller.Drawing /// Initializes a new instance of the <see cref="ImageManager" /> class. /// </summary> /// <param name="kernel">The kernel.</param> - /// <param name="protobufSerializer">The protobuf serializer.</param> /// <param name="logger">The logger.</param> /// <param name="appPaths">The app paths.</param> - public ImageManager(Kernel kernel, IProtobufSerializer protobufSerializer, ILogger logger, IServerApplicationPaths appPaths) + public ImageManager(Kernel kernel, ILogger logger, IServerApplicationPaths appPaths) { - _protobufSerializer = protobufSerializer; _logger = logger; _kernel = kernel; @@ -298,6 +292,8 @@ namespace MediaBrowser.Controller.Drawing return _cachedImagedSizes.GetOrAdd(name, keyName => GetImageSize(keyName, imagePath)); } + protected readonly CultureInfo UsCulture = new CultureInfo("en-US"); + /// <summary> /// Gets the size of the image. /// </summary> @@ -307,11 +303,11 @@ namespace MediaBrowser.Controller.Drawing private ImageSize GetImageSize(string keyName, string imagePath) { // Now check the file system cache - var fullCachePath = ImageSizeCache.GetResourcePath(keyName, ".pb"); + var fullCachePath = ImageSizeCache.GetResourcePath(keyName, ".txt"); try { - var result = _protobufSerializer.DeserializeFromFile<int[]>(fullCachePath); + var result = File.ReadAllText(fullCachePath).Split('|').Select(i => double.Parse(i, UsCulture)).ToArray(); return new ImageSize { Width = result[0], Height = result[1] }; } @@ -325,7 +321,7 @@ namespace MediaBrowser.Controller.Drawing var size = ImageHeader.GetDimensions(imagePath, _logger); // Update the file system cache - Task.Run(() => _protobufSerializer.SerializeToFile(new[] { size.Width, size.Height }, fullCachePath)); + Task.Run(() => File.WriteAllText(fullCachePath, size.Width.ToString(UsCulture) + @"|" + size.Height.ToString(UsCulture))); return new ImageSize { Width = size.Width, Height = size.Height }; } diff --git a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs b/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs index eac10d522..2c1019288 100644 --- a/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs +++ b/MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs @@ -21,13 +21,13 @@ namespace MediaBrowser.Controller.Providers.MediaInfo public abstract class BaseFFProbeProvider<T> : BaseFFMpegProvider<T> where T : BaseItem { - protected BaseFFProbeProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IProtobufSerializer protobufSerializer) + protected BaseFFProbeProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IJsonSerializer jsonSerializer) : base(logManager, configurationManager, mediaEncoder) { - ProtobufSerializer = protobufSerializer; + JsonSerializer = jsonSerializer; } - protected readonly IProtobufSerializer ProtobufSerializer; + protected readonly IJsonSerializer JsonSerializer; /// <summary> /// Gets or sets the FF probe cache. @@ -135,14 +135,14 @@ namespace MediaBrowser.Controller.Providers.MediaInfo var resourceName = item.Id + "_" + lastDateModified.Ticks + "_" + MediaEncoder.Version; // Forumulate the cache file path - var cacheFilePath = cache.GetResourcePath(resourceName, ".pb"); + var cacheFilePath = cache.GetResourcePath(resourceName, ".js"); cancellationToken.ThrowIfCancellationRequested(); // Avoid File.Exists by just trying to deserialize try { - return ProtobufSerializer.DeserializeFromFile<MediaInfoResult>(cacheFilePath); + return JsonSerializer.DeserializeFromFile<MediaInfoResult>(cacheFilePath); } catch (FileNotFoundException) { @@ -161,7 +161,7 @@ namespace MediaBrowser.Controller.Providers.MediaInfo var info = await MediaEncoder.GetMediaInfo(inputPath, type, cancellationToken).ConfigureAwait(false); - ProtobufSerializer.SerializeToFile(info, cacheFilePath); + JsonSerializer.SerializeToFile(info, cacheFilePath); return info; } diff --git a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs b/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs index e767d5196..479a2b1af 100644 --- a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs +++ b/MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs @@ -18,8 +18,8 @@ namespace MediaBrowser.Controller.Providers.MediaInfo /// </summary> public class FFProbeAudioInfoProvider : BaseFFProbeProvider<Audio> { - public FFProbeAudioInfoProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IProtobufSerializer protobufSerializer) - : base(logManager, configurationManager, mediaEncoder, protobufSerializer) + public FFProbeAudioInfoProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IJsonSerializer jsonSerializer) + : base(logManager, configurationManager, mediaEncoder, jsonSerializer) { } diff --git a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs b/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs index 07b71576b..74c641374 100644 --- a/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs +++ b/MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs @@ -21,8 +21,8 @@ namespace MediaBrowser.Controller.Providers.MediaInfo /// </summary> public class FFProbeVideoInfoProvider : BaseFFProbeProvider<Video> { - public FFProbeVideoInfoProvider(IIsoManager isoManager, IBlurayExaminer blurayExaminer, IProtobufSerializer protobufSerializer, ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder) - : base(logManager, configurationManager, mediaEncoder, protobufSerializer) + public FFProbeVideoInfoProvider(IIsoManager isoManager, IBlurayExaminer blurayExaminer, IJsonSerializer jsonSerializer, ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder) + : base(logManager, configurationManager, mediaEncoder, jsonSerializer) { if (isoManager == null) { @@ -32,10 +32,6 @@ namespace MediaBrowser.Controller.Providers.MediaInfo { throw new ArgumentNullException("blurayExaminer"); } - if (protobufSerializer == null) - { - throw new ArgumentNullException("protobufSerializer"); - } _blurayExaminer = blurayExaminer; _isoManager = isoManager; @@ -323,19 +319,19 @@ namespace MediaBrowser.Controller.Providers.MediaInfo // Get the path to the cache file var cacheName = item.Id + "_" + item.DateModified.Ticks; - var cacheFile = bdInfoCache.GetResourcePath(cacheName, ".pb"); + var cacheFile = bdInfoCache.GetResourcePath(cacheName, ".js"); BlurayDiscInfo result; try { - result = ProtobufSerializer.DeserializeFromFile<BlurayDiscInfo>(cacheFile); + result = JsonSerializer.DeserializeFromFile<BlurayDiscInfo>(cacheFile); } catch (FileNotFoundException) { result = GetBDInfo(inputPath); - ProtobufSerializer.SerializeToFile(result, cacheFile); + JsonSerializer.SerializeToFile(result, cacheFile); } cancellationToken.ThrowIfCancellationRequested(); |
