aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-22 12:25:47 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-22 12:25:47 -0400
commit3b30a2aee09bb045e466486fc0fff8a11cc6de74 (patch)
tree051b157b6509631e077cf3c83153bead3a851ea3 /MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
parent414b1251c791dd914e51a5cfd7afeeaaf912e8a3 (diff)
detect anamorphic video
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs41
1 files changed, 40 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
index 58ca432bb..1e7d9fe82 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs
@@ -58,6 +58,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
AddPixelFormatColumnCommand();
AddBitDepthCommand();
+ AddIsAnamorphicColumn();
PrepareStatements();
@@ -126,6 +127,37 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.RunQueries(new[] { builder.ToString() }, _logger);
}
+ private void AddIsAnamorphicColumn()
+ {
+ 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, "IsAnamorphic", StringComparison.OrdinalIgnoreCase))
+ {
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ var builder = new StringBuilder();
+
+ builder.AppendLine("alter table mediastreams");
+ builder.AppendLine("add column IsAnamorphic BIT NULL");
+
+ _connection.RunQueries(new[] { builder.ToString() }, _logger);
+ }
+
private readonly string[] _saveColumns =
{
"ItemId",
@@ -150,7 +182,8 @@ namespace MediaBrowser.Server.Implementations.Persistence
"RealFrameRate",
"Level",
"PixelFormat",
- "BitDepth"
+ "BitDepth",
+ "IsAnamorphic"
};
/// <summary>
@@ -319,6 +352,11 @@ namespace MediaBrowser.Server.Implementations.Persistence
item.BitDepth = reader.GetInt32(22);
}
+ if (!reader.IsDBNull(23))
+ {
+ item.IsAnamorphic = reader.GetBoolean(23);
+ }
+
return item;
}
@@ -382,6 +420,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveStreamCommand.GetParameter(20).Value = stream.Level;
_saveStreamCommand.GetParameter(21).Value = stream.PixelFormat;
_saveStreamCommand.GetParameter(22).Value = stream.BitDepth;
+ _saveStreamCommand.GetParameter(23).Value = stream.IsAnamorphic;
_saveStreamCommand.Transaction = transaction;
_saveStreamCommand.ExecuteNonQuery();