Browse Source

Backport pull request #12575 from jellyfin/release-10.9.z

Fix subtitle and attachment extraction when input path contains quotes

Original-merge: 3c3ebe834462bbb7630ca4fc0c106cc51ca80e50

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
dmitrylyzo 9 months ago
parent
commit
84b20afe1f

+ 2 - 2
MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

@@ -284,7 +284,7 @@ namespace MediaBrowser.MediaEncoding.Attachments
 
                 if (extractableAttachmentIds.Count > 0)
                 {
-                    await CacheAllAttachmentsInternal(mediaPath, inputFile, mediaSource, extractableAttachmentIds, cancellationToken).ConfigureAwait(false);
+                    await CacheAllAttachmentsInternal(mediaPath, _mediaEncoder.GetInputArgument(inputFile, mediaSource), mediaSource, extractableAttachmentIds, cancellationToken).ConfigureAwait(false);
                 }
             }
             catch (Exception ex)
@@ -323,7 +323,7 @@ namespace MediaBrowser.MediaEncoding.Attachments
 
             processArgs += string.Format(
                 CultureInfo.InvariantCulture,
-                " -i \"{0}\" -t 0 -f null null",
+                " -i {0} -t 0 -f null null",
                 inputFile);
 
             int exitCode;

+ 3 - 3
MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs

@@ -529,11 +529,11 @@ namespace MediaBrowser.MediaEncoding.Subtitles
             List<MediaStream> subtitleStreams,
             CancellationToken cancellationToken)
         {
-            var inputPath = mediaSource.Path;
+            var inputPath = _mediaEncoder.GetInputArgument(mediaSource.Path, mediaSource);
             var outputPaths = new List<string>();
             var args = string.Format(
                 CultureInfo.InvariantCulture,
-                "-i \"{0}\" -copyts",
+                "-i {0} -copyts",
                 inputPath);
 
             foreach (var subtitleStream in subtitleStreams)
@@ -704,7 +704,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
             var processArgs = string.Format(
                 CultureInfo.InvariantCulture,
-                "-i \"{0}\" -copyts -map 0:{1} -an -vn -c:s {2} \"{3}\"",
+                "-i {0} -copyts -map 0:{1} -an -vn -c:s {2} \"{3}\"",
                 inputPath,
                 subtitleStreamIndex,
                 outputCodec,