diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-22 12:25:47 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-22 12:25:47 -0400 |
| commit | 3b30a2aee09bb045e466486fc0fff8a11cc6de74 (patch) | |
| tree | 051b157b6509631e077cf3c83153bead3a851ea3 /MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs | |
| parent | 414b1251c791dd914e51a5cfd7afeeaaf912e8a3 (diff) | |
detect anamorphic video
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/SqliteMediaStreamsRepository.cs | 41 |
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(); |
