glitch-soc/mastodon forked from tootsuite/mastodon
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Audio uploads feature #161
Merged
beatrix-bitrot
merged 5 commits into
glitch-soc:master
from
DJSundog:audio-uploads-feature
Oct 8, 2017
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
96ba348
adding support for audio uploads, transcoded to mp4 videos
DJSundog 6ca03a7
add faststart to audio transcoding
DJSundog 979b0d6
update indentation
DJSundog e10cff8
update indentation
DJSundog 85d5da8
raise Mastodon::ValidationError if audio file duration is over 60 secs
DJSundog
Jump to file or symbol
Failed to load files and symbols.
Diff settings
| @@ -0,0 +1,21 @@ | ||
| +# frozen_string_literal: true | ||
| + | ||
| +module Paperclip | ||
| + class AudioTranscoder < Paperclip::Processor | ||
| + def make | ||
| + 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] > 60.0 | ||
| + raise Mastodon::ValidationError, "Audio uploads must be less than 60 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.type = MediaAttachment.types[:video] | ||
| + | ||
| + final_file | ||
| + end | ||
| + end | ||
| +end |