...

Package riimage

import "github.com/dsoprea/go-utility/v2/image"
Overview
Index

Overview ▾

type MediaContext

MediaContext is an accessor that knows how to extract specific metadata from the media.

type MediaContext interface {
    // Exif returns the EXIF's root IFD.
    Exif() (rootIfd *exif.Ifd, data []byte, err error)
}

type MediaParser

MediaParser prescribes a specific structure for the parser types that are imported from other projects. We don't use it directly, but we use this to impose structure.

type MediaParser interface {
    // Parse parses a stream using an `io.ReadSeeker`. `mc` should *actually* be
    // a `ExifContext`.
    Parse(r io.ReadSeeker, size int) (mc MediaContext, err error)

    // ParseFile parses a stream using a file. `mc` should *actually* be a
    // `ExifContext`.
    ParseFile(filepath string) (mc MediaContext, err error)

    // ParseBytes parses a stream direct from bytes. `mc` should *actually* be
    // a `ExifContext`.
    ParseBytes(data []byte) (mc MediaContext, err error)

    // Parses the data to determine if it's a compatible format.
    LooksLikeFormat(data []byte) bool
}