diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-06-19 23:42:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-19 23:42:38 +0200 |
commit | f7f23b4a19a84371f44ec5297125e96ba81681a1 (patch) | |
tree | d93ad7318e34243d41bebbec6a4ee9afc0529326 /app/controllers/media_controller.rb | |
parent | e9a11dca1977308bd2b367362cde512fe093b3f7 (diff) |
Add audio uploads (#11123)
* Add audio uploads
Fix #4827
Accept uploads of OGG, WAV, FLAC, OPUS and MP3 files, and converts
them to OGG. Media attachments get a new `audio` type. In the UI,
audio uploads are displayed identically to video uploads.
* Improve code style
Diffstat (limited to 'app/controllers/media_controller.rb')
-rw-r--r-- | app/controllers/media_controller.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/app/controllers/media_controller.rb b/app/controllers/media_controller.rb index a245db2d1c9..d44b52d2624 100644 --- a/app/controllers/media_controller.rb +++ b/app/controllers/media_controller.rb @@ -7,6 +7,8 @@ class MediaController < ApplicationController before_action :set_media_attachment before_action :verify_permitted_status! + before_action :check_playable, only: :player + before_action :allow_iframing, only: :player content_security_policy only: :player do |p| p.frame_ancestors(false) @@ -18,8 +20,6 @@ class MediaController < ApplicationController def player @body_classes = 'player' - response.headers['X-Frame-Options'] = 'ALLOWALL' - raise ActiveRecord::RecordNotFound unless @media_attachment.video? || @media_attachment.gifv? end private @@ -34,4 +34,12 @@ class MediaController < ApplicationController # Reraise in order to get a 404 instead of a 403 error code raise ActiveRecord::RecordNotFound end + + def check_playable + not_found unless @media_attachment.larger_media_format? + end + + def allow_iframing + response.headers['X-Frame-Options'] = 'ALLOWALL' + end end |