Fixed single quotes escape in subtitle file path

Former-commit-id: 975bd75c5d
This commit is contained in:
alex6dj 2021-10-03 11:07:15 -04:00
parent 21da31c4c1
commit 0c74351d83
2 changed files with 7 additions and 7 deletions

View file

@ -353,10 +353,10 @@ public void Builder_BuildString_SubtitleHardBurnFilterFixedPaths()
.OutputToFile("output.mp4", false, opt => opt .OutputToFile("output.mp4", false, opt => opt
.WithVideoFilters(filterOptions => filterOptions .WithVideoFilters(filterOptions => filterOptions
.HardBurnSubtitle(SubtitleHardBurnOptions .HardBurnSubtitle(SubtitleHardBurnOptions
.Create(subtitlePath: @"sample( \ : [ ] , ).srt")))) .Create(subtitlePath: @"sample( \ : [ ] , ' ).srt"))))
.Arguments; .Arguments;
Assert.AreEqual(@"-i ""input.mp4"" -vf ""subtitles='sample( \\ \: \[ \] \, ).srt'"" ""output.mp4""", Assert.AreEqual(@"-i ""input.mp4"" -vf ""subtitles='sample( \\ \: \[ \] \, '\\\'' ).srt'"" ""output.mp4""",
str); str);
} }

View file

@ -7,11 +7,11 @@ internal static class StringExtensions
{ {
private static Dictionary<char, string> CharactersSubstitution { get; } = new Dictionary<char, string> private static Dictionary<char, string> CharactersSubstitution { get; } = new Dictionary<char, string>
{ {
{'\\', @"\\"}, { '\\', @"\\" },
{':', @"\:"}, { ':', @"\:" },
{'[', @"\["}, { '[', @"\[" },
{']', @"\]"}, { ']', @"\]" },
// {'\'', @"\'"} TODO: Quotes need to be escaped but i failed miserably { '\'', @"'\\\''" }
}; };
/// <summary> /// <summary>