aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
diff options
context:
space:
mode:
authorBaronGreenback <jimcartlidge@yahoo.co.uk>2020-09-05 20:49:04 +0100
committerGitHub <noreply@github.com>2020-09-05 20:49:04 +0100
commit8439860b2aa38f4f0e8fa243f8efaa9b5a0d0c0b (patch)
tree577b5eb958178ccc71e74083cf9871c889ce09fe /MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
parente33824d28667df0344420d42032fbb01e9f8f659 (diff)
parent9cffa66a015c5200e461f396cd408949591d9552 (diff)
Merge branch 'master' into Plugins
Diffstat (limited to 'MediaBrowser.MediaEncoding/Subtitles/AssParser.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/AssParser.cs33
1 files changed, 17 insertions, 16 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
index 0e2d70017c..86b87fddd8 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1591
+
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -13,6 +15,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
+ /// <inheritdoc />
public SubtitleTrackInfo Parse(Stream stream, CancellationToken cancellationToken)
{
var trackInfo = new SubtitleTrackInfo();
@@ -22,7 +25,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
string line;
while (reader.ReadLine() != "[Events]")
- { }
+ {
+ }
var headers = ParseFieldHeaders(reader.ReadLine());
@@ -35,7 +39,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
continue;
}
- if (line.StartsWith("["))
+ if (line[0] == '[')
{
break;
}
@@ -62,7 +66,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
return trackInfo;
}
- long GetTicks(string time)
+ private long GetTicks(ReadOnlySpan<char> time)
{
return TimeSpan.TryParseExact(time, @"h\:mm\:ss\.ff", _usCulture, out var span)
? span.Ticks : 0;
@@ -72,22 +76,19 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
var fields = line.Substring(8).Split(',').Select(x => x.Trim()).ToList();
- var result = new Dictionary<string, int> {
- {"Start", fields.IndexOf("Start")},
- {"End", fields.IndexOf("End")},
- {"Text", fields.IndexOf("Text")}
- };
- return result;
+ return new Dictionary<string, int>
+ {
+ { "Start", fields.IndexOf("Start") },
+ { "End", fields.IndexOf("End") },
+ { "Text", fields.IndexOf("Text") }
+ };
}
- /// <summary>
- /// Credit: https://github.com/SubtitleEdit/subtitleedit/blob/master/src/Logic/SubtitleFormats/AdvancedSubStationAlpha.cs
- /// </summary>
private void RemoteNativeFormatting(SubtitleTrackEvent p)
{
- int indexOfBegin = p.Text.IndexOf('{');
+ int indexOfBegin = p.Text.IndexOf('{', StringComparison.Ordinal);
string pre = string.Empty;
- while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
+ while (indexOfBegin >= 0 && p.Text.IndexOf('}', StringComparison.Ordinal) > indexOfBegin)
{
string s = p.Text.Substring(indexOfBegin);
if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
@@ -115,10 +116,10 @@ namespace MediaBrowser.MediaEncoding.Subtitles
pre = s.Substring(0, 5) + "}";
}
- int indexOfEnd = p.Text.IndexOf('}');
+ int indexOfEnd = p.Text.IndexOf('}', StringComparison.Ordinal);
p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
- indexOfBegin = p.Text.IndexOf('{');
+ indexOfBegin = p.Text.IndexOf('{', StringComparison.Ordinal);
}
p.Text = pre + p.Text;