From 916b5bd4adec8af8b0f0f7dc56925aa70823a1cc Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 25 Sep 2023 17:07:52 +0200 Subject: [PATCH] Fix division by zero in video in bitrate computation code (#27129) --- lib/paperclip/transcoder.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/paperclip/transcoder.rb b/lib/paperclip/transcoder.rb index ed5425a3b..d2d946d3a 100644 --- a/lib/paperclip/transcoder.rb +++ b/lib/paperclip/transcoder.rb @@ -43,7 +43,8 @@ module Paperclip unless eligible_to_passthrough?(metadata) size_limit_in_bits = MediaAttachment::VIDEO_LIMIT * 8 desired_bitrate = (metadata.width * metadata.height * 30 * BITS_PER_PIXEL).floor - maximum_bitrate = (size_limit_in_bits / metadata.duration).floor - 192_000 # Leave some space for the audio stream + duration = [metadata.duration, 1].max + maximum_bitrate = (size_limit_in_bits / duration).floor - 192_000 # Leave some space for the audio stream bitrate = [desired_bitrate, maximum_bitrate].min @output_options['b:v'] = bitrate