class MovieMasher::LayerRawVideo
a raw video layer
Public Instance Methods
__filter_trim_input()
click to toggle source
# File lib/graphs/layers.rb, line 114 def __filter_trim_input filter = nil raise 'no offset' unless @input[:offset] offset = @input[:offset] raise 'no length' unless @input[:length] length = @input[:length] trim_beginning = FloatUtil.gtr(offset, FloatUtil::ZERO) trim_end = FloatUtil.gtr(length, FloatUtil::ZERO) trim_end &&= (@input[:duration].to_f > (offset + length)) if trim_beginning || trim_end # start and duration look at timestamp and change it filter = FilterHash.new('trim', duration: FloatUtil.precision(length)) filter.hash[:start] = FloatUtil.precision(offset) if trim_beginning end filter end
initialize_chains()
click to toggle source
Calls superclass method
MovieMasher::Layer#initialize_chains
# File lib/graphs/layers.rb, line 83 def initialize_chains # puts "LayerRawVideo#initialize_chains" chain = Chain.new(nil, @job_input) @filter_movie = FilterSourceVideo.new(@input, @job_input) chain << @filter_movie # trim filter, if needed @trim_filter = __filter_trim_input chain << @trim_filter if @trim_filter # fps is placeholder since each output has its own rate @fps_filter = FilterHash.new('fps', fps: 0) chain << @fps_filter # set presentation timestamp filter @filter_timestamps = FilterSetpts.new chain << @filter_timestamps @chains << chain super # puts "LayerRawVideo.initialize_chains #{@chains}" end
layer_command(scope)
click to toggle source
Calls superclass method
MovieMasher::LayerRaw#layer_command
# File lib/graphs/layers.rb, line 102 def layer_command(scope) raise(Error::JobInput, 'layer_command with empty scope') unless scope output_type_is_not_video = (Type::VIDEO != scope[:mm_output][:type]) # puts "output_type_is_not_video = #{output_type_is_not_video}" @fps_filter.disabled = output_type_is_not_video @trim_filter.disabled = output_type_is_not_video if @trim_filter @filter_timestamps.disabled = output_type_is_not_video @fps_filter.hash[:fps] = scope[:mm_fps] super end