diff options
author | Takeshi Umeda <noel.yoshiba@gmail.com> | 2020-07-20 05:28:27 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-19 22:28:27 +0200 |
commit | 7540e235a2b387ca08cf57f8942d1b190d242808 (patch) | |
tree | 3f2c9a3eb9b163b6aac34c2aeca70cf867e4831e /app/models | |
parent | 47931db1f50db3b6773fbb3cc4645fdb4a4692eb (diff) |
Fix movie width and frame_rate returning nil (#14357)
* Fix movie width and frame_rate returning nil * Add StreamValidationError and raise * Fix code style
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/remotable.rb | 2 | ||||
-rw-r--r-- | app/models/media_attachment.rb | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb index c6d0c7f1f..56b9c0164 100644 --- a/app/models/concerns/remotable.rb +++ b/app/models/concerns/remotable.rb @@ -29,7 +29,7 @@ module Remotable rescue Mastodon::UnexpectedResponseError, HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError => e Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}" raise e unless suppress_errors - rescue Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Paperclip::Error, Mastodon::DimensionsValidationError => e + rescue Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Paperclip::Error, Mastodon::DimensionsValidationError, Mastodon::StreamValidationError => e Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}" end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index 3f2e0ceb1..3d93ec75b 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -336,6 +336,7 @@ class MediaAttachment < ApplicationRecord return unless movie.valid? + raise Mastodon::StreamValidationError, 'Video has no video stream' if movie.width.nil? || movie.frame_rate.nil? raise Mastodon::DimensionsValidationError, "#{movie.width}x#{movie.height} videos are not supported" if movie.width * movie.height > MAX_VIDEO_MATRIX_LIMIT raise Mastodon::DimensionsValidationError, "#{movie.frame_rate.to_i}fps videos are not supported" if movie.frame_rate > MAX_VIDEO_FRAME_RATE end |