class BMFF::Box::CompactSampleSize
vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2 autoindent:
Attributes
entry_size[RW]
field_size[RW]
reserved1[RW]
sample_count[RW]
Public Instance Methods
parse_data()
click to toggle source
Calls superclass method
BMFF::Box::Full#parse_data
# File lib/bmff/box/compact_sample_size.rb, line 8 def parse_data super @reserved1 = io.get_uint24 @field_size = io.get_uint8 @sample_count = io.get_uint32 @entry_size = [] i = 0 while i < @sample_count case @field_size when 4 tmp = io.get_uint8 @entry_size << (tmp >> 4) i += 1 @entry_size << (tmp & 0x0F) if i < @sample_count when 8 @entry_size << io.get_uint8 when 16 @entry_size << io.get_uint16 else raise ArgumentError, "Unsupported field_size" end i += 1 end end