diff --git a/app/Util/Media/Blurhash.php b/app/Util/Media/Blurhash.php index 2be054e02..c0cca59b9 100644 --- a/app/Util/Media/Blurhash.php +++ b/app/Util/Media/Blurhash.php @@ -7,19 +7,28 @@ use App\Media; class Blurhash { + const DEFAULT_HASH = 'U4Rfzst8?bt7ogayj[j[~pfQ9Goe%Mj[WBay'; + public static function generate(Media $media) { - if(!in_array($media->mime, ['image/png', 'image/jpeg'])) { - return; + if(!in_array($media->mime, ['image/png', 'image/jpeg', 'video/mp4'])) { + return self::DEFAULT_HASH; + } + + if($media->thumbnail_path == null) { + return self::DEFAULT_HASH; } $file = storage_path('app/' . $media->thumbnail_path); if(!is_file($file)) { - return; + return self::DEFAULT_HASH; } $image = imagecreatefromstring(file_get_contents($file)); + if(!$image) { + return self::DEFAULT_HASH; + } $width = imagesx($image); $height = imagesy($image); @@ -39,7 +48,7 @@ class Blurhash { $components_y = 4; $blurhash = BlurhashEngine::encode($pixels, $components_x, $components_y); if(strlen($blurhash) > 191) { - return; + return self::DEFAULT_HASH; } return $blurhash; }