From ea37e69fc41453ab5b23f37e3188caf0d6a54195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 19 Aug 2021 09:45:50 +0200 Subject: [PATCH] Properly log errors in Movie previews generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- lib/private/Preview/Generator.php | 1 + lib/private/Preview/Movie.php | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php index 2be08d1b2c4..440168633df 100644 --- a/lib/private/Preview/Generator.php +++ b/lib/private/Preview/Generator.php @@ -224,6 +224,7 @@ class Generator { $previewProviders = $this->previewManager->getProviders(); foreach ($previewProviders as $supportedMimeType => $providers) { + // Filter out providers that does not support this mime if (!preg_match($supportedMimeType, $mimeType)) { continue; } diff --git a/lib/private/Preview/Movie.php b/lib/private/Preview/Movie.php index 68157f1a87f..a8d013452e2 100644 --- a/lib/private/Preview/Movie.php +++ b/lib/private/Preview/Movie.php @@ -32,6 +32,7 @@ namespace OC\Preview; use OCP\Files\File; use OCP\IImage; +use Psr\Log\LoggerInterface; class Movie extends ProviderV2 { public static $avconvBinary; @@ -79,13 +80,13 @@ class Movie extends ProviderV2 { $cmd = self::$avconvBinary . ' -y -ss ' . escapeshellarg($second) . ' -i ' . escapeshellarg($absPath) . ' -an -f mjpeg -vframes 1 -vsync 1 ' . escapeshellarg($tmpPath) . - ' > /dev/null 2>&1'; + ' 2>&1'; } else { $cmd = self::$ffmpegBinary . ' -y -ss ' . escapeshellarg($second) . ' -i ' . escapeshellarg($absPath) . ' -f mjpeg -vframes 1' . ' ' . escapeshellarg($tmpPath) . - ' > /dev/null 2>&1'; + ' 2>&1'; } exec($cmd, $output, $returnCode); @@ -100,6 +101,10 @@ class Movie extends ProviderV2 { return $image; } } + + $logger = \OC::$server->get(LoggerInterface::class); + $logger->error('Movie preview generation failed Output: {output}', ['app' => 'core', 'output' => $output]); + unlink($tmpPath); return null; }