Sha256: 28b8fe58b3713693a6858aaed9be602144105d25d0ff873b4b691ef5021bd714

Contents?: true

Size: 419 Bytes

Versions: 5

Compression:

Stored size: 419 Bytes

Contents

require_relative 'box'
require_relative '../../helpers/stream_view'

module FileData
  # Returns all boxes starting from the current position of a stream
  class BoxesReader
    def self.read(view)
      Enumerator.new do |e|
        view.seek view.start_pos
        until view.eof?
          box = Box.parse(view)

          e.yield box
          view.seek box.end_pos + 1
        end
      end.lazy
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
file_data-6.0.0 lib/file_data/formats/mpeg4/boxes_reader.rb
file_data-5.2.3 lib/file_data/formats/mpeg4/boxes_reader.rb
file_data-5.2.2 lib/file_data/formats/mpeg4/boxes_reader.rb
file_data-5.2.1 lib/file_data/formats/mpeg4/boxes_reader.rb
file_data-5.2.0 lib/file_data/formats/mpeg4/boxes_reader.rb