Method: BMFF::Box::CompactSampleSize#parse_data

Defined in:
lib/bmff/box/compact_sample_size.rb

#parse_dataObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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