aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Subtitles
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2023-05-22 22:48:09 +0200
committerBond_009 <bond.009@outlook.com>2023-06-28 17:07:57 +0200
commitb5f0760db8dba96e9edd67d4b9c914cf25c3d26a (patch)
treea60f87f379ddbfe2436d03b3b1a8f48cbc3b7490 /MediaBrowser.MediaEncoding/Subtitles
parentf954dc5c969ef5654c31bec7a81b0b92b38637ae (diff)
Use RegexGenerator where possible
Diffstat (limited to 'MediaBrowser.MediaEncoding/Subtitles')
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/AssWriter.cs7
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs7
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/SsaWriter.cs7
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs7
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs7
5 files changed, 25 insertions, 10 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/AssWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/AssWriter.cs
index 0d1cf6e258..7d7b80e99d 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/AssWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/AssWriter.cs
@@ -11,8 +11,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// ASS subtitle writer.
/// </summary>
- public class AssWriter : ISubtitleWriter
+ public partial class AssWriter : ISubtitleWriter
{
+ [GeneratedRegex(@"\n", RegexOptions.IgnoreCase)]
+ private static partial Regex NewLineRegex();
+
/// <inheritdoc />
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
@@ -40,7 +43,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var trackEvent = trackEvents[i];
var startTime = TimeSpan.FromTicks(trackEvent.StartPositionTicks).ToString(timeFormat, CultureInfo.InvariantCulture);
var endTime = TimeSpan.FromTicks(trackEvent.EndPositionTicks).ToString(timeFormat, CultureInfo.InvariantCulture);
- var text = Regex.Replace(trackEvent.Text, @"\n", "\\n", RegexOptions.IgnoreCase);
+ var text = NewLineRegex().Replace(trackEvent.Text, "\\n");
writer.WriteLine(
"Dialogue: 0,{0},{1},Default,{2}",
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs
index 143c010b71..86f77aa067 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/SrtWriter.cs
@@ -11,8 +11,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// SRT subtitle writer.
/// </summary>
- public class SrtWriter : ISubtitleWriter
+ public partial class SrtWriter : ISubtitleWriter
{
+ [GeneratedRegex(@"\\n", RegexOptions.IgnoreCase)]
+ private static partial Regex NewLineEscapedRegex();
+
/// <inheritdoc />
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
@@ -35,7 +38,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var text = trackEvent.Text;
// TODO: Not sure how to handle these
- text = Regex.Replace(text, @"\\n", " ", RegexOptions.IgnoreCase);
+ text = NewLineEscapedRegex().Replace(text, " ");
writer.WriteLine(text);
writer.WriteLine();
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SsaWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/SsaWriter.cs
index 6761cd3099..b5fd1ed935 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/SsaWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/SsaWriter.cs
@@ -11,8 +11,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// SSA subtitle writer.
/// </summary>
- public class SsaWriter : ISubtitleWriter
+ public partial class SsaWriter : ISubtitleWriter
{
+ [GeneratedRegex(@"\n", RegexOptions.IgnoreCase)]
+ private static partial Regex NewLineRegex();
+
/// <inheritdoc />
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
@@ -40,7 +43,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var trackEvent = trackEvents[i];
var startTime = TimeSpan.FromTicks(trackEvent.StartPositionTicks).ToString(timeFormat, CultureInfo.InvariantCulture);
var endTime = TimeSpan.FromTicks(trackEvent.EndPositionTicks).ToString(timeFormat, CultureInfo.InvariantCulture);
- var text = Regex.Replace(trackEvent.Text, @"\n", "\\n", RegexOptions.IgnoreCase);
+ var text = NewLineRegex().Replace(trackEvent.Text, "\\n");
writer.WriteLine(
"Dialogue: 0,{0},{1},Default,{2}",
diff --git a/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs
index e5c785bc57..ea45f2070a 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/TtmlWriter.cs
@@ -9,8 +9,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// TTML subtitle writer.
/// </summary>
- public class TtmlWriter : ISubtitleWriter
+ public partial class TtmlWriter : ISubtitleWriter
{
+ [GeneratedRegex(@"\\n", RegexOptions.IgnoreCase)]
+ private static partial Regex NewLineEscapeRegex();
+
/// <inheritdoc />
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
@@ -38,7 +41,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
var text = trackEvent.Text;
- text = Regex.Replace(text, @"\\n", "<br/>", RegexOptions.IgnoreCase);
+ text = NewLineEscapeRegex().Replace(text, "<br/>");
writer.WriteLine(
"<p begin=\"{0}\" dur=\"{1}\">{2}</p>",
diff --git a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
index 38ef57dee3..3e0f47b5ae 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/VttWriter.cs
@@ -10,8 +10,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
/// <summary>
/// Subtitle writer for the WebVTT format.
/// </summary>
- public class VttWriter : ISubtitleWriter
+ public partial class VttWriter : ISubtitleWriter
{
+ [GeneratedRegex(@"\\n", RegexOptions.IgnoreCase)]
+ private static partial Regex NewlineEscapeRegex();
+
/// <inheritdoc />
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
@@ -39,7 +42,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var text = trackEvent.Text;
// TODO: Not sure how to handle these
- text = Regex.Replace(text, @"\\n", " ", RegexOptions.IgnoreCase);
+ text = NewlineEscapeRegex().Replace(text, " ");
writer.WriteLine(text);
writer.WriteLine();