class FileData::KeysBoxParser

Parser for the 'keys' box

Public Class Methods

parse(view) click to toggle source
# 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) click to toggle source
# 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