Class: BMFF::Box::TrackFragmentRandomAccess

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

Overview

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

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

#length_size_of_sample_numObject

Returns the value of attribute length_size_of_sample_num.



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

def length_size_of_sample_num
  @length_size_of_sample_num
end

#length_size_of_traf_numObject

Returns the value of attribute length_size_of_traf_num.



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

def length_size_of_traf_num
  @length_size_of_traf_num
end

#length_size_of_trun_numObject

Returns the value of attribute length_size_of_trun_num.



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

def length_size_of_trun_num
  @length_size_of_trun_num
end

#moof_offsetObject

Returns the value of attribute moof_offset.



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

def moof_offset
  @moof_offset
end

#number_of_entryObject

Returns the value of attribute number_of_entry.



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

def number_of_entry
  @number_of_entry
end

#reserved1Object

Returns the value of attribute reserved1.



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

def reserved1
  @reserved1
end

#sample_numberObject

Returns the value of attribute sample_number.



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

def sample_number
  @sample_number
end

#timeObject

Returns the value of attribute time.



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

def time
  @time
end

#track_idObject

Returns the value of attribute track_id.



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

def track_id
  @track_id
end

#traf_numberObject

Returns the value of attribute traf_number.



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

def traf_number
  @traf_number
end

#trun_numberObject

Returns the value of attribute trun_number.



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

def trun_number
  @trun_number
end

Instance Method Details

#parse_dataObject



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

def parse_data
  super
  @track_id = io.get_uint32
  tmp = io.get_uint32
  @reserved1 = (tmp >> 6)
  @length_size_of_traf_num = (tmp >> 4) & 0x03
  @length_size_of_trun_num = (tmp >> 2) & 0x03
  @length_size_of_sample_num = (tmp & 0x03)
  @number_of_entry = io.get_uint32
  @time = []
  @moof_offset = []
  @traf_number = []
  @trun_number = []
  @sample_number = []
  @number_of_entry.times do
    if version == 1
      @time << io.get_uint64
      @moof_offset << io.get_uint64
    else
      @time << io.get_uint32
      @moof_offset << io.get_uint32
    end
    @traf_number << get_variable_size_uint((@length_size_of_traf_num + 1) * 8)
    @trun_number << get_variable_size_uint((@length_size_of_trun_num + 1) * 8)
    @sample_number << get_variable_size_uint((@length_size_of_sample_num + 1) * 8)
  end
end