|
@@ -93,9 +93,9 @@ namespace MediaBrowser.MediaEncoding.Attachments
|
|
|
|
|
|
await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
- if (!Directory.Exists(outputPath))
|
|
|
+ try
|
|
|
{
|
|
|
- try
|
|
|
+ if (!Directory.Exists(outputPath))
|
|
|
{
|
|
|
await ExtractAllAttachmentsInternal(
|
|
|
_mediaEncoder.GetInputArgument(inputFile, mediaSource),
|
|
@@ -103,10 +103,10 @@ namespace MediaBrowser.MediaEncoding.Attachments
|
|
|
false,
|
|
|
cancellationToken).ConfigureAwait(false);
|
|
|
}
|
|
|
- finally
|
|
|
- {
|
|
|
- semaphore.Release();
|
|
|
- }
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ semaphore.Release();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -120,26 +120,26 @@ namespace MediaBrowser.MediaEncoding.Attachments
|
|
|
|
|
|
await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
- if (!File.Exists(Path.Join(outputPath, id)))
|
|
|
+ try
|
|
|
{
|
|
|
- try
|
|
|
+ if (!File.Exists(Path.Join(outputPath, id)))
|
|
|
{
|
|
|
await ExtractAllAttachmentsInternal(
|
|
|
inputArgument,
|
|
|
outputPath,
|
|
|
true,
|
|
|
cancellationToken).ConfigureAwait(false);
|
|
|
- }
|
|
|
- finally
|
|
|
- {
|
|
|
+
|
|
|
if (Directory.Exists(outputPath))
|
|
|
{
|
|
|
File.Create(Path.Join(outputPath, id));
|
|
|
}
|
|
|
-
|
|
|
- semaphore.Release();
|
|
|
}
|
|
|
}
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ semaphore.Release();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private async Task ExtractAllAttachmentsInternal(
|