Class: FileData::KeysBoxParser

Inherits:
Object
  • Object
show all
Defined in:
lib/file_data/formats/mpeg4/box_parsers/keys_box.rb

Overview

Parser for the ‘keys’ box

Class Method Summary collapse

Class Method Details

.parse(view) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/file_data/formats/mpeg4/box_parsers/keys_box.rb', line 6

def self.parse(view)
  view.read_value(1) # version field
  view.read_value(3) # flags field

  entry_count = view.read_value(4)
  Array.new(entry_count) { |index| parse_key(view, index) }
end

.parse_key(view, index) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/file_data/formats/mpeg4/box_parsers/keys_box.rb', line 14

def self.parse_key(view, index)
  key_view = Helpers::SizedField.create_view(view, 4)
  namespace = key_view.read_ascii(4)
  value = key_view.read_ascii(key_view.remaining_bytes)

  Key.new(index + 1, namespace, value)
end