Sha256: 676952d142f029d771059f45e243b043810800f4a0e5d0a6ae8e8a47d373823d
Contents?: true
Size: 614 Bytes
Versions: 2
Compression:
Stored size: 614 Bytes
Contents
require 'file_data/file_types/jpeg' require_relative 'exif_stream' module FileData # Retrieves an ExifStream from a jpeg stream class ExifJpeg APP1_BYTES = [255, 225].freeze EXIF_ID = "Exif\0\0".bytes.to_a.freeze def initialize(stream) @stream = stream end def exif ExifStream.new(@stream) if seek_exif end def seek_exif Jpeg.new(@stream).each_section .select { |marker, _| exif_section?(marker) } .first end def exif_section?(marker) marker == APP1_BYTES && @stream.each_byte.take(EXIF_ID.size) == EXIF_ID end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
file_data-5.0.0 | lib/file_data/formats/exif/exif_jpeg.rb |
file_data-4.0.0 | lib/file_data/formats/exif/exif_jpeg.rb |