diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs | 166 |
1 files changed, 147 insertions, 19 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs b/MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs index 211c77107..1d9be2e0d 100644 --- a/MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs +++ b/MediaBrowser.Server.Implementations/Persistence/MediaStreamColumns.cs @@ -21,14 +21,18 @@ namespace MediaBrowser.Server.Implementations.Persistence AddPixelFormatColumnCommand(); AddBitDepthCommand(); AddIsAnamorphicColumn(); - AddIsCabacColumn(); AddKeyFramesColumn(); AddRefFramesCommand(); AddCodecTagColumn(); AddCommentColumn(); + AddNalColumn(); + AddIsAvcColumn(); + AddTitleColumn(); + AddTimeBaseColumn(); + AddCodecTimeBaseColumn(); } - private void AddCommentColumn() + private void AddIsAvcColumn() { using (var cmd = _connection.CreateCommand()) { @@ -42,7 +46,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "Comment", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "IsAvc", StringComparison.OrdinalIgnoreCase)) { return; } @@ -54,12 +58,12 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column Comment TEXT"); + builder.AppendLine("add column IsAvc BIT NULL"); _connection.RunQueries(new[] { builder.ToString() }, _logger); } - private void AddCodecTagColumn() + private void AddTimeBaseColumn() { using (var cmd = _connection.CreateCommand()) { @@ -73,7 +77,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "CodecTag", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "TimeBase", StringComparison.OrdinalIgnoreCase)) { return; } @@ -85,12 +89,12 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column CodecTag TEXT"); + builder.AppendLine("add column TimeBase TEXT"); _connection.RunQueries(new[] { builder.ToString() }, _logger); } - private void AddPixelFormatColumnCommand() + private void AddCodecTimeBaseColumn() { using (var cmd = _connection.CreateCommand()) { @@ -104,7 +108,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "PixelFormat", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "CodecTimeBase", StringComparison.OrdinalIgnoreCase)) { return; } @@ -116,12 +120,12 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column PixelFormat TEXT"); + builder.AppendLine("add column CodecTimeBase TEXT"); _connection.RunQueries(new[] { builder.ToString() }, _logger); } - private void AddBitDepthCommand() + private void AddTitleColumn() { using (var cmd = _connection.CreateCommand()) { @@ -135,7 +139,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "BitDepth", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "Title", StringComparison.OrdinalIgnoreCase)) { return; } @@ -147,12 +151,12 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column BitDepth INT NULL"); + builder.AppendLine("add column Title TEXT"); _connection.RunQueries(new[] { builder.ToString() }, _logger); } - private void AddRefFramesCommand() + private void AddNalColumn() { using (var cmd = _connection.CreateCommand()) { @@ -166,7 +170,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "RefFrames", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "NalLengthSize", StringComparison.OrdinalIgnoreCase)) { return; } @@ -178,12 +182,74 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column RefFrames INT NULL"); + builder.AppendLine("add column NalLengthSize TEXT"); + + _connection.RunQueries(new[] { builder.ToString() }, _logger); + } + + private void AddCommentColumn() + { + 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, "Comment", StringComparison.OrdinalIgnoreCase)) + { + return; + } + } + } + } + } + + var builder = new StringBuilder(); + + builder.AppendLine("alter table mediastreams"); + builder.AppendLine("add column Comment TEXT"); + + _connection.RunQueries(new[] { builder.ToString() }, _logger); + } + + private void AddCodecTagColumn() + { + 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, "CodecTag", StringComparison.OrdinalIgnoreCase)) + { + return; + } + } + } + } + } + + var builder = new StringBuilder(); + + builder.AppendLine("alter table mediastreams"); + builder.AppendLine("add column CodecTag TEXT"); _connection.RunQueries(new[] { builder.ToString() }, _logger); } - private void AddIsCabacColumn() + private void AddPixelFormatColumnCommand() { using (var cmd = _connection.CreateCommand()) { @@ -197,7 +263,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { var name = reader.GetString(1); - if (string.Equals(name, "IsCabac", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(name, "PixelFormat", StringComparison.OrdinalIgnoreCase)) { return; } @@ -209,7 +275,69 @@ namespace MediaBrowser.Server.Implementations.Persistence var builder = new StringBuilder(); builder.AppendLine("alter table mediastreams"); - builder.AppendLine("add column IsCabac BIT NULL"); + builder.AppendLine("add column PixelFormat TEXT"); + + _connection.RunQueries(new[] { builder.ToString() }, _logger); + } + + private void AddBitDepthCommand() + { + 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, "BitDepth", StringComparison.OrdinalIgnoreCase)) + { + return; + } + } + } + } + } + + var builder = new StringBuilder(); + + builder.AppendLine("alter table mediastreams"); + builder.AppendLine("add column BitDepth INT NULL"); + + _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); } |
