Class: TranscodingMachine::VideoFormat

Inherits:
MediaFormat show all
Defined in:
lib/transcoding_machine/media_format.rb

Instance Attribute Summary collapse

Attributes inherited from MediaFormat

#command, #criteria, #id, #mime_type, #priority, #suffix

Instance Method Summary collapse

Methods inherited from MediaFormat

best_match_for, #matches, type_cast_attribute_value

Constructor Details

#initialize(args) ⇒ VideoFormat

Returns a new instance of VideoFormat.



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/transcoding_machine/media_format.rb', line 70

def initialize(args)
  super
  @width = args[:width]
  @height = args[:height]
  
  case args[:aspect_ratio]
  when String
    @aspect_ratio = Server::MediaFileAttributes::ASPECT_RATIO_VALUES[args[:aspect_ratio]]
  when Float
    @aspect_ratio = args[:aspect_ratio]
  end
  
  @fixed_criteria << MediaFormatCriterium.new(:key => :video,
                                              :operator => :equals,
                                              :value => true)
  
  @fixed_criteria << MediaFormatCriterium.new(:key => :width,
                                              :operator => :equals,
                                              :value => @width)
  
  @fixed_criteria << MediaFormatCriterium.new(:key => :aspect_ratio,
                                              :operator => :equals,
                                              :value => @aspect_ratio)
end

Instance Attribute Details

#aspect_ratioObject (readonly)

Returns the value of attribute aspect_ratio.



69
70
71
# File 'lib/transcoding_machine/media_format.rb', line 69

def aspect_ratio
  @aspect_ratio
end

#heightObject (readonly)

Returns the value of attribute height.



69
70
71
# File 'lib/transcoding_machine/media_format.rb', line 69

def height
  @height
end

#widthObject (readonly)

Returns the value of attribute width.



69
70
71
# File 'lib/transcoding_machine/media_format.rb', line 69

def width
  @width
end

Instance Method Details

#can_transcode?(media_file_attributes) ⇒ Boolean

Returns:

  • (Boolean)


95
96
97
# File 'lib/transcoding_machine/media_format.rb', line 95

def can_transcode?(media_file_attributes)
  media_file_attributes.video? && media_file_attributes.width >= @width && media_file_attributes.aspect_ratio == @aspect_ratio
end