Extract media attachment one by one if the filename appears to be a path (#11812)

pull/11857/head
gnattu 1 month ago committed by GitHub
parent bcf884ccfa
commit 45e8872cc0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -88,6 +88,18 @@ namespace MediaBrowser.MediaEncoding.Attachments
MediaSourceInfo mediaSource, MediaSourceInfo mediaSource,
string outputPath, string outputPath,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{
var shouldExtractOneByOne = mediaSource.MediaAttachments.Any(a => a.FileName.Contains('/', StringComparison.OrdinalIgnoreCase) || a.FileName.Contains('\\', StringComparison.OrdinalIgnoreCase));
if (shouldExtractOneByOne)
{
var attachmentIndexes = mediaSource.MediaAttachments.Select(a => a.Index);
foreach (var i in attachmentIndexes)
{
var newName = Path.Join(outputPath, i.ToString(CultureInfo.InvariantCulture));
await ExtractAttachment(inputFile, mediaSource, i, newName, cancellationToken).ConfigureAwait(false);
}
}
else
{ {
using (await _semaphoreLocks.LockAsync(outputPath, cancellationToken).ConfigureAwait(false)) using (await _semaphoreLocks.LockAsync(outputPath, cancellationToken).ConfigureAwait(false))
{ {
@ -101,6 +113,7 @@ namespace MediaBrowser.MediaEncoding.Attachments
} }
} }
} }
}
public async Task ExtractAllAttachmentsExternal( public async Task ExtractAllAttachmentsExternal(
string inputArgument, string inputArgument,

Loading…
Cancel
Save