Class: BMFF::Box::LevelAssignment

Inherits:
Full
  • Object
show all
Defined in:
lib/bmff/box/level_assignment.rb

Overview

vim: set expandtab tabstop=2 shiftwidth=2 softtabstop=2 autoindent:

Defined Under Namespace

Classes: Level

Instance Attribute Summary collapse

Attributes inherited from Full

#flags, #version

Attributes inherited from Base

#io, #largesize, #offset, #parent, #size, #type, #usertype

Instance Method Summary collapse

Methods inherited from Base

#actual_size, #container?, #eob?, #parse, register_box, register_uuid_box, #remaining_size, #root, #seek_to_end

Instance Attribute Details

#level_countObject

Returns the value of attribute level_count.



5
6
7
# File 'lib/bmff/box/level_assignment.rb', line 5

def level_count
  @level_count
end

#levelsObject

Returns the value of attribute levels.



5
6
7
# File 'lib/bmff/box/level_assignment.rb', line 5

def levels
  @levels
end

Instance Method Details

#parse_dataObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/bmff/box/level_assignment.rb', line 13

def parse_data
  super
  @level_count = io.get_uint8
  @levels = []
  @level_count.times do
    level = Level.new
    level.track_id = io.get_uint32
    tmp = io.get_uint8
    level.padding_flag = (tmp >> 7)
    level.assignment_type = (tmp & 0x7F)
    case level.assignment_type
    when 0
      level.grouping_type = io.get_uint32
    when 1
      level.grouping_type = io.get_uint32
      level.grouping_type_parameter = io.get_uint32
    when 4
      level.sub_track_id = io.get_uint32
    end
    @levels << level
  end
end