class Falcon::Profile
def [](name)
def [](name) find(name) end
def audio_bitrate_in_bits
def audio_bitrate_in_bits self.audio_bitrate.to_i * 1024 end
def detect(name)
def detect(name) name.is_a?(Falcon::Profile) ? name : find(name.to_s) end
def encode_options
def encode_options { :container => self.container, :video_codec => self.video_codec, :video_bitrate_in_bits => self.video_bitrate_in_bits.to_s, :fps => self.fps, :audio_codec => self.audio_codec.to_s, :audio_bitrate => self.audio_bitrate.to_s, :audio_bitrate_in_bits => self.audio_bitrate_in_bits.to_s, :audio_sample_rate => self.audio_sample_rate.to_s } end
def exists?(name)
def exists?(name) !find(name).nil? end
def find(name)
def find(name) @@all.detect { |p| p.name == name.to_s } end
def initialize(name, options = {})
def initialize(name, options = {}) options.assert_valid_keys(DEFAULTS.keys) options = DEFAULTS.merge(options) @name = name.to_s if self.class.exists?(@name) raise "Profile name: #{@name} already registered." end options.each do |key, value| send("#{key}=", value) end @@all << self end
def path(source, prefix = nil)
def path(source, prefix = nil) dirname = File.dirname(source) filename = File.basename(source, File.extname(source)) filename = [prefix, filename].compact.join('_') + '.' + extname Pathname.new(File.join(dirname, filename)) end
def update(options)
def update(options) options.each do |key, value| send("#{key}=", value) end end
def video_bitrate_in_bits
def video_bitrate_in_bits self.video_bitrate.to_i * 1024 end