aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Drawing/ImageManager.cs20
-rw-r--r--MediaBrowser.Controller/Providers/MediaInfo/BaseFFProbeProvider.cs12
-rw-r--r--MediaBrowser.Controller/Providers/MediaInfo/FFProbeAudioInfoProvider.cs4
-rw-r--r--MediaBrowser.Controller/Providers/MediaInfo/FFProbeVideoInfoProvider.cs14
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();