Skip to content

Commit

Permalink
Revert 1f5cff4. Transcode videos. Fixes #186
Browse files Browse the repository at this point in the history
  • Loading branch information
jcoyne committed Aug 20, 2015
1 parent 299d863 commit 40dc601
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 32 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
module CurationConcerns
module GenericFile
module Derivatives
extend ActiveSupport::Concern

included do
# Using File and ServiceFile so that we can have two alternative
# sound encoding formats and two alternative video formats
# with unique RDF URIs.
# TODO: Is there a mime type ontology we should be using instead?
directly_contains_one :ogg, through: :files, type: ::RDF::URI("http://pcdm.org/use#ServiceFile"), class_name: "Hydra::PCDM::File"
directly_contains_one :mp3, through: :files, type: ::RDF::URI("http://pcdm.org/use#File"), class_name: "Hydra::PCDM::File"
directly_contains_one :mp4, through: :files, type: ::RDF::URI("http://pcdm.org/use#ServiceFile"), class_name: "Hydra::PCDM::File"
directly_contains_one :webm, through: :files, type: ::RDF::URI("http://pcdm.org/use#File"), class_name: "Hydra::PCDM::File"

makes_derivatives do |obj|
case obj.original_file.mime_type
when *pdf_mime_types
obj.transform_file :original_file, thumbnail: { format: 'jpg', size: '338x493' }
when *office_document_mime_types
obj.transform_file :original_file, { thumbnail: { format: 'jpg', size: '200x150>' } }, processor: :document
when *audio_mime_types
obj.transform_file :original_file, { mp3: { format: 'mp3' }, ogg: { format: 'ogg' } }, processor: :audio
when *video_mime_types
obj.transform_file :original_file, { webm: { format: 'webm' }, mp4: { format: 'mp4' }, thumbnail: { format: 'jpg' } }, processor: :video
when *image_mime_types
obj.transform_file :original_file, thumbnail: { format: 'jpg', size: '200x150>' }
end
end
end
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ module GenericFileBehavior
include Hydra::WithDepositor
include CurationConcerns::Serializers
include CurationConcerns::Noid
include CurationConcerns::GenericFile::Derivatives
include CurationConcerns::Permissions
include CurationConcerns::GenericFile::Export
include CurationConcerns::GenericFile::Characterization
Expand Down
32 changes: 0 additions & 32 deletions spec/test_app_templates/lib/generators/test_app_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,36 +20,4 @@ def remove_generic_work_specs
remove_file 'spec/controllers/curation_concerns/generic_works_controller_spec.rb'
remove_file 'spec/actors/curation_concerns/generic_work_actor_spec.rb'
end

def enable_av_transcoding
file_path = "app/models/generic_file.rb"
inject_into_file file_path, after: /include ::CurationConcerns::GenericFileBehavior/ do
%q(
directly_contains_one :ogg, through: :files, type: ::RDF::URI("http://pcdm.org/use#ServiceFile"), class_name: "Hydra::PCDM::File"
directly_contains_one :mp3, through: :files, type: ::RDF::URI("http://pcdm.org/use#File"), class_name: "Hydra::PCDM::File"
directly_contains_one :mp4, through: :files, type: ::RDF::URI("http://pcdm.org/use#ServiceFile"), class_name: "Hydra::PCDM::File"
directly_contains_one :webm, through: :files, type: ::RDF::URI("http://pcdm.org/use#File"), class_name: "Hydra::PCDM::File"
# This was taken directly from Sufia's GenericFile::Derivative.
makes_derivatives do |obj|
case obj.original_file.mime_type
when *pdf_mime_types
obj.transform_file :original_file, thumbnail: { format: 'jpg', size: '338x493' }
when *office_document_mime_types
obj.transform_file :original_file, { thumbnail: { format: 'jpg', size: '200x150>' } }, processor: :document
when *audio_mime_types
obj.transform_file :original_file, { mp3: { format: 'mp3' }, ogg: { format: 'ogg' } }, processor: :audio
when *video_mime_types
obj.transform_file :original_file, { webm: { format: 'webm' }, mp4: { format: 'mp4' }, thumbnail: { format: 'jpg' } }, processor: :video
when *image_mime_types
obj.transform_file :original_file, thumbnail: { format: 'jpg', size: '200x150>' }
end
end
)
end


end

end

0 comments on commit 40dc601

Please sign in to comment.