Sha256: 96e0f895ebc799e00d50b61d5d919c70fee0e492e625d8dc9784920ef762d7ff
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
module AviGlitch # Frame is the struct of the frame data and meta-data. # You can access this class through AviGlitch::Frames. # To modify the binary data, operate the +data+ property. class Frame AVIIF_LIST = 0x00000001 AVIIF_KEYFRAME = 0x00000010 AVIIF_NO_TIME = 0x00000100 attr_accessor :data attr_reader :id, :flag ## # Creates a new AviGlitch::Frame object. # # The arguments are: # [+data+] just data, without meta-data # [+id+] id for the stream number and content type code # (like "00dc") # [+flag+] flag that describes the chunk type (taken from idx1) # def initialize data, id, flag @data = data @id = id @flag = flag end ## # Returns if it is a video frame and also a key frame. def is_keyframe? is_videoframe? && @flag & AVIIF_KEYFRAME != 0 end ## # Alias for is_keyframe? alias_method :is_iframe?, :is_keyframe? ## # Returns if it is a video frame and also not a key frame. def is_deltaframe? is_videoframe? && @flag & AVIIF_KEYFRAME == 0 end ## # Alias for is_deltaframe? alias_method :is_pframe?, :is_deltaframe? ## # Returns if it is a video frame. def is_videoframe? @id[2, 2] == 'db' || @id[2, 2] == 'dc' end ## # Returns if it is an audio frame. def is_audioframe? @id[2, 2] == 'wb' end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aviglitch-0.1.1 | lib/aviglitch/frame.rb |
aviglitch-0.1.0 | lib/aviglitch/frame.rb |
aviglitch-0.0.3 | lib/aviglitch/frame.rb |