diff options
author | ThibG <thib@sitedethib.com> | 2020-03-22 17:59:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-22 17:59:47 +0100 |
commit | d101438b9d1bd827c191605cb21d58f83de2124d (patch) | |
tree | b36d73f45175add7aa114bb42fca5a528a9b24a4 /lib/paperclip/video_transcoder.rb | |
parent | 7115b0b8c99b7e88aee264be75945e592dec33e4 (diff) | |
parent | 9da4bd098cac88c3e44157765adcff01445ba31a (diff) |
Merge pull request #1305 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'lib/paperclip/video_transcoder.rb')
-rw-r--r-- | lib/paperclip/video_transcoder.rb | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/paperclip/video_transcoder.rb b/lib/paperclip/video_transcoder.rb index 66f7feda5..4d9544231 100644 --- a/lib/paperclip/video_transcoder.rb +++ b/lib/paperclip/video_transcoder.rb @@ -5,12 +5,22 @@ module Paperclip # to check when uploaded videos are actually gifv's class VideoTranscoder < Paperclip::Processor def make - meta = ::Av.cli.identify(@file.path) + movie = FFMPEG::Movie.new(@file.path) - attachment.instance.type = MediaAttachment.types[:gifv] unless meta[:audio_encode] - options[:format] = File.extname(attachment.instance.file_file_name)[1..-1] if options[:keep_same_format] + attachment.instance.type = MediaAttachment.types[:gifv] unless movie.audio_codec - Paperclip::Transcoder.make(file, options, attachment) + Paperclip::Transcoder.make(file, actual_options(movie), attachment) + end + + private + + def actual_options(movie) + opts = options[:passthrough_options] + if opts && opts[:video_codecs].include?(movie.video_codec) && opts[:audio_codecs].include?(movie.audio_codec) && opts[:colorspaces].include?(movie.colorspace) + opts[:options] + else + options + end end end end |