|
@@ -1035,6 +1035,16 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
|
|
if (exitCode == -1)
|
|
|
{
|
|
|
_logger.LogError("ffmpeg image extraction failed for {ProcessDescription}", processDescription);
|
|
|
+ // Cleanup temp folder here, because the targetDirectory is not returned and the cleanup for failed ffmpeg process is not possible for caller.
|
|
|
+ // Ideally the ffmpeg should not write any files if it fails, but it seems like it is not guaranteed.
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Directory.Delete(targetDirectory, true);
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ _logger.LogError(e, "Failed to delete ffmpeg temp directory {TargetDirectory}", targetDirectory);
|
|
|
+ }
|
|
|
|
|
|
throw new FfmpegException(string.Format(CultureInfo.InvariantCulture, "ffmpeg image extraction failed for {0}", processDescription));
|
|
|
}
|