From 0d360d525ea8e123819a6c7f4fca71ce5acf46ca Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sun, 27 Oct 2013 19:27:25 +0100 Subject: [PATCH] SWF thumbnails: support for gnash Swfrender produced mostly black squares. Gnash handles SWF files much, much better than swfrender. --- src/Controllers/PostController.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Controllers/PostController.php b/src/Controllers/PostController.php index 3fb5d22c..d7deee04 100644 --- a/src/Controllers/PostController.php +++ b/src/Controllers/PostController.php @@ -673,14 +673,25 @@ class PostController break; case 'application/x-shockwave-flash': $srcImage = null; - exec('which swfrender', $tmp, $exitCode); + exec('which dump-gnash', $tmp, $exitCode); if ($exitCode == 0) { $tmpPath = tempnam(sys_get_temp_dir(), 'thumb') . '.png'; - exec('swfrender ' . $srcPath . ' -o ' . $tmpPath); + exec('dump-gnash --screenshot last --screenshot-file ' . $tmpPath . ' -1 -r1 --max-advances 15 ' . $srcPath); if (file_exists($tmpPath)) $srcImage = imagecreatefrompng($tmpPath); } + if (!$srcImage) + { + exec('which swfrender', $tmp, $exitCode); + if ($exitCode == 0) + { + $tmpPath = tempnam(sys_get_temp_dir(), 'thumb') . '.png'; + exec('swfrender ' . $srcPath . ' -o ' . $tmpPath); + if (file_exists($tmpPath)) + $srcImage = imagecreatefrompng($tmpPath); + } + } break; default: break;