about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/models/media_attachment.rb27
-rw-r--r--lib/paperclip/audio_transcoder.rb12
2 files changed, 26 insertions, 13 deletions
diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb
index 6e1b37bac..7383be3b2 100644
--- a/app/models/media_attachment.rb
+++ b/app/models/media_attachment.rb
@@ -55,18 +55,35 @@ class MediaAttachment < ApplicationRecord
 
   AUDIO_STYLES = {
     original: {
-      format: 'mp4',
+      format: 'm4a',
       convert_options: {
         output: {
-          filter_complex: '"[0:a]compand,showwaves=s=640x360:mode=line,format=yuv420p[v]"',
-          map: '"[v]" -map 0:a', 
-          threads: 2,
-          vcodec: 'libx264',
+          vn: '',
           acodec: 'aac',
           movflags: '+faststart',
         },
       },
     },
+
+    small: {
+      format: 'png',
+      time: 0,
+      convert_options: {
+        output: {
+          filter_complex: '"showwavespic=s=400x100:colors=lime|green"',
+        },
+      },
+    },
+
+    thumb: {
+      format: 'png',
+      time: 0,
+      convert_options: {
+        output: {
+          filter_complex: '"showwavespic=s=400x100:colors=lime|green"',
+        },
+      },
+    },
   }.freeze
 
   VIDEO_STYLES = {
diff --git a/lib/paperclip/audio_transcoder.rb b/lib/paperclip/audio_transcoder.rb
index 323ec7bfe..3d79e8397 100644
--- a/lib/paperclip/audio_transcoder.rb
+++ b/lib/paperclip/audio_transcoder.rb
@@ -7,16 +7,12 @@ module Paperclip
 
       meta = ::Av.cli.identify(@file.path)
       # {:length=>"0:00:02.14", :duration=>2.14, :audio_encode=>"mp3", :audio_bitrate=>"44100 Hz", :audio_channels=>"mono"}
-      if meta[:duration] > max_aud_len
-        raise Mastodon::ValidationError, "Audio uploads must be less than #{max_aud_len} seconds in length."
-      end
-      
-      final_file = Paperclip::Transcoder.make(file, options, attachment)
-      
-      attachment.instance.file_file_name    = 'media.mp4'
-      attachment.instance.file_content_type = 'video/mp4'
+
+      attachment.instance.file_file_name    = 'media.m4a'
+      attachment.instance.file_content_type = 'audio/mp4'
       attachment.instance.type              = MediaAttachment.types[:video]
 
+      final_file = Paperclip::Transcoder.make(file, options, attachment)
       final_file
     end
   end