Fix division by zero in video in bitrate computation code (#27129)

This commit is contained in:
Claire 2023-09-25 17:07:52 +02:00 committed by GitHub
parent a001ae2f39
commit 06444c86c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -43,7 +43,8 @@ module Paperclip
unless eligible_to_passthrough?(metadata) unless eligible_to_passthrough?(metadata)
size_limit_in_bits = MediaAttachment::VIDEO_LIMIT * 8 size_limit_in_bits = MediaAttachment::VIDEO_LIMIT * 8
desired_bitrate = (metadata.width * metadata.height * 30 * BITS_PER_PIXEL).floor 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 bitrate = [desired_bitrate, maximum_bitrate].min
@output_options['b:v'] = bitrate @output_options['b:v'] = bitrate