aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Persistence
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-10 21:57:11 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-10 21:57:11 -0400
commit2070f1c54d7e180cb2c1d61f9849556fc5c50924 (patch)
tree0a2681b28b22aba68df196fa6de290ffdc119468 /MediaBrowser.Server.Implementations/Persistence
parentff4b4f863ef5bbf613b24c34ffc0b4df76b152ca (diff)
update translations
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs43
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteProviderInfoRepository.cs47
2 files changed, 85 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
index 1e7d9fe823..4bcd4a46dd 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
@@ -40,7 +40,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
// Add PixelFormat column
- createTableCommand += "(ItemId GUID, StreamIndex INT, StreamType TEXT, Codec TEXT, Language TEXT, ChannelLayout TEXT, Profile TEXT, AspectRatio TEXT, Path TEXT, IsInterlaced BIT, BitRate INT NULL, Channels INT NULL, SampleRate INT NULL, IsDefault BIT, IsForced BIT, IsExternal BIT, Height INT NULL, Width INT NULL, AverageFrameRate FLOAT NULL, RealFrameRate FLOAT NULL, Level FLOAT NULL, PixelFormat TEXT, BitDepth INT NULL, PRIMARY KEY (ItemId, StreamIndex))";
+ createTableCommand += "(ItemId GUID, StreamIndex INT, StreamType TEXT, Codec TEXT, Language TEXT, ChannelLayout TEXT, Profile TEXT, AspectRatio TEXT, Path TEXT, IsInterlaced BIT, BitRate INT NULL, Channels INT NULL, SampleRate INT NULL, IsDefault BIT, IsForced BIT, IsExternal BIT, Height INT NULL, Width INT NULL, AverageFrameRate FLOAT NULL, RealFrameRate FLOAT NULL, Level FLOAT NULL, PixelFormat TEXT, BitDepth INT NULL, IsAnamorphic BIT NULL, RefFrames INT NULL, PRIMARY KEY (ItemId, StreamIndex))";
string[] queries = {
@@ -59,6 +59,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
AddPixelFormatColumnCommand();
AddBitDepthCommand();
AddIsAnamorphicColumn();
+ AddRefFramesCommand();
PrepareStatements();
@@ -127,6 +128,37 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.RunQueries(new[] { builder.ToString() }, _logger);
}
+ private void AddRefFramesCommand()
+ {
+ using (var cmd = _connection.CreateCommand())
+ {
+ cmd.CommandText = "PRAGMA table_info(mediastreams)";
+
+ using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult))
+ {
+ while (reader.Read())
+ {
+ if (!reader.IsDBNull(1))
+ {
+ var name = reader.GetString(1);
+
+ if (string.Equals(name, "RefFrames", StringComparison.OrdinalIgnoreCase))
+ {
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ var builder = new StringBuilder();
+
+ builder.AppendLine("alter table mediastreams");
+ builder.AppendLine("add column RefFrames INT NULL");
+
+ _connection.RunQueries(new[] { builder.ToString() }, _logger);
+ }
+
private void AddIsAnamorphicColumn()
{
using (var cmd = _connection.CreateCommand())
@@ -183,7 +215,8 @@ namespace MediaBrowser.Server.Implementations.Persistence
"Level",
"PixelFormat",
"BitDepth",
- "IsAnamorphic"
+ "IsAnamorphic",
+ "RefFrames"
};
/// <summary>
@@ -357,6 +390,11 @@ namespace MediaBrowser.Server.Implementations.Persistence
item.IsAnamorphic = reader.GetBoolean(23);
}
+ if (!reader.IsDBNull(24))
+ {
+ item.RefFrames = reader.GetInt32(24);
+ }
+
return item;
}
@@ -421,6 +459,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveStreamCommand.GetParameter(21).Value = stream.PixelFormat;
_saveStreamCommand.GetParameter(22).Value = stream.BitDepth;
_saveStreamCommand.GetParameter(23).Value = stream.IsAnamorphic;
+ _saveStreamCommand.GetParameter(24).Value = stream.RefFrames;
_saveStreamCommand.Transaction = transaction;
_saveStreamCommand.ExecuteNonQuery();
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteProviderInfoRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteProviderInfoRepository.cs
index b99a84c5c5..f4820f432c 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteProviderInfoRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteProviderInfoRepository.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Configuration;
+using System.Text;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
@@ -51,7 +52,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
string[] queries = {
- "create table if not exists MetadataStatus (ItemId GUID PRIMARY KEY, ItemName TEXT, ItemType TEXT, SeriesName TEXT, DateLastMetadataRefresh datetime, DateLastImagesRefresh datetime, LastStatus TEXT, LastErrorMessage TEXT, MetadataProvidersRefreshed TEXT, ImageProvidersRefreshed TEXT)",
+ "create table if not exists MetadataStatus (ItemId GUID PRIMARY KEY, ItemName TEXT, ItemType TEXT, SeriesName TEXT, DateLastMetadataRefresh datetime, DateLastImagesRefresh datetime, LastStatus TEXT, LastErrorMessage TEXT, MetadataProvidersRefreshed TEXT, ImageProvidersRefreshed TEXT, ItemDateModified DateTimeNull)",
"create index if not exists idx_MetadataStatus on MetadataStatus(ItemId)",
//pragmas
@@ -62,6 +63,8 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.RunQueries(queries, _logger);
+ AddItemDateModifiedCommand();
+
PrepareStatements();
_shrinkMemoryTimer = new SqliteShrinkMemoryTimer(_connection, _writeLock, _logger);
@@ -78,9 +81,41 @@ namespace MediaBrowser.Server.Implementations.Persistence
"LastStatus",
"LastErrorMessage",
"MetadataProvidersRefreshed",
- "ImageProvidersRefreshed"
+ "ImageProvidersRefreshed",
+ "ItemDateModified"
};
+ private void AddItemDateModifiedCommand()
+ {
+ using (var cmd = _connection.CreateCommand())
+ {
+ cmd.CommandText = "PRAGMA table_info(MetadataStatus)";
+
+ using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult))
+ {
+ while (reader.Read())
+ {
+ if (!reader.IsDBNull(1))
+ {
+ var name = reader.GetString(1);
+
+ if (string.Equals(name, "ItemDateModified", StringComparison.OrdinalIgnoreCase))
+ {
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ var builder = new StringBuilder();
+
+ builder.AppendLine("alter table MetadataStatus");
+ builder.AppendLine("add column ItemDateModified DateTime NULL");
+
+ _connection.RunQueries(new[] { builder.ToString() }, _logger);
+ }
+
/// <summary>
/// The _write lock
/// </summary>
@@ -183,6 +218,11 @@ namespace MediaBrowser.Server.Implementations.Persistence
result.ImageProvidersRefreshed = reader.GetString(9).Split('|').Where(i => !string.IsNullOrEmpty(i)).Select(i => new Guid(i)).ToList();
}
+ if (!reader.IsDBNull(10))
+ {
+ result.ItemDateModified = reader.GetDateTime(10).ToUniversalTime();
+ }
+
return result;
}
@@ -213,6 +253,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveStatusCommand.GetParameter(7).Value = status.LastErrorMessage;
_saveStatusCommand.GetParameter(8).Value = string.Join("|", status.MetadataProvidersRefreshed.ToArray());
_saveStatusCommand.GetParameter(9).Value = string.Join("|", status.ImageProvidersRefreshed.ToArray());
+ _saveStatusCommand.GetParameter(10).Value = status.ItemDateModified;
_saveStatusCommand.Transaction = transaction;