mp4io

package
v0.0.0-...-21b3653 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TFHD_BASE_DATA_OFFSET     = 0x01
	TFHD_STSD_ID              = 0x02
	TFHD_DEFAULT_DURATION     = 0x08
	TFHD_DEFAULT_SIZE         = 0x10
	TFHD_DEFAULT_FLAGS        = 0x20
	TFHD_DURATION_IS_EMPTY    = 0x010000
	TFHD_DEFAULT_BASE_IS_MOOF = 0x020000
)
View Source
const (
	TRUN_DATA_OFFSET        = 0x01
	TRUN_FIRST_SAMPLE_FLAGS = 0x04
	TRUN_SAMPLE_DURATION    = 0x100
	TRUN_SAMPLE_SIZE        = 0x200
	TRUN_SAMPLE_FLAGS       = 0x400
	TRUN_SAMPLE_CTS         = 0x800
)
View Source
const (
	MP4ESDescrTag          = 3
	MP4DecConfigDescrTag   = 4
	MP4DecSpecificDescrTag = 5
)
View Source
const AVC1 = Tag(0x61766331)
View Source
const AVCC = Tag(0x61766343)
View Source
const CTTS = Tag(0x63747473)
View Source
const DINF = Tag(0x64696e66)
View Source
const DREF = Tag(0x64726566)
View Source
const EDTS = Tag(0x65647473)
View Source
const ELST = Tag(0x656c7374)
View Source
const ESDS = Tag(0x65736473)
View Source
const FREE = Tag(0x66726565)
View Source
const FTYP = Tag(0x66747970)
View Source
const HDLR = Tag(0x68646c72)
View Source
const LenCompositionOffsetEntry = 8
View Source
const LenSampleToChunkEntry = 12
View Source
const LenSegmentIndexEntry = 12
View Source
const LenTimeToSampleEntry = 8
View Source
const LenTrackFragRunEntry = 16
View Source
const MDAT = Tag(0x6d646174)
View Source
const MDHD = Tag(0x6d646864)
View Source
const MDIA = Tag(0x6d646961)
View Source
const MEHD = Tag(0x6D656864)
View Source
const MFHD = Tag(0x6d666864)
View Source
const MINF = Tag(0x6d696e66)
View Source
const MOOF = Tag(0x6d6f6f66)
View Source
const MOOV = Tag(0x6d6f6f76)
View Source
const MP4A = Tag(0x6d703461)
View Source
const MVEX = Tag(0x6d766578)
View Source
const MVHD = Tag(0x6d766864)
View Source
const SBGP = Tag(0x73626770)
View Source
const SDTP = Tag(0x73647470)
View Source
const SGPD = Tag(0x73677064)
View Source
const SIDX = Tag(0x73696478)
View Source
const SMHD = Tag(0x736d6864)
View Source
const STBL = Tag(0x7374626c)
View Source
const STCO = Tag(0x7374636f)
View Source
const STSC = Tag(0x73747363)
View Source
const STSD = Tag(0x73747364)
View Source
const STSS = Tag(0x73747373)
View Source
const STSZ = Tag(0x7374737a)
View Source
const STTS = Tag(0x73747473)
View Source
const STYP = Tag(0x73747970)
View Source
const TFDT = Tag(0x74666474)
View Source
const TFHD = Tag(0x74666864)
View Source
const TKHD = Tag(0x746b6864)
View Source
const TRAF = Tag(0x74726166)
View Source
const TRAK = Tag(0x7472616b)
View Source
const TREX = Tag(0x74726578)
View Source
const TRUN = Tag(0x7472756e)
View Source
const URL = Tag(0x75726c20)
View Source
const VMHD = Tag(0x766d6864)

Variables

This section is empty.

Functions

func FprintAtom

func FprintAtom(out io.Writer, root Atom)

func GetFixed16

func GetFixed16(b []byte) float64

func GetFixed32

func GetFixed32(b []byte) float64

func GetTime32

func GetTime32(b []byte) (t time.Time)

func GetTime64

func GetTime64(b []byte) (t time.Time)

func PrintAtom

func PrintAtom(root Atom)

func PutCompositionOffsetEntry

func PutCompositionOffsetEntry(b []byte, self CompositionOffsetEntry)

func PutFixed16

func PutFixed16(b []byte, f float64)

func PutFixed32

func PutFixed32(b []byte, f float64)

func PutSampleToChunkEntry

func PutSampleToChunkEntry(b []byte, self SampleToChunkEntry)

func PutTime32

func PutTime32(b []byte, t time.Time)

func PutTime64

func PutTime64(b []byte, t time.Time)

func PutTimeToSampleEntry

func PutTimeToSampleEntry(b []byte, self TimeToSampleEntry)

func PutTrackFragRunEntry

func PutTrackFragRunEntry(b []byte, self TrackFragRunEntry)

Types

type AVC1Conf

type AVC1Conf struct {
	Data []byte
	AtomPos
}

func (AVC1Conf) Children

func (self AVC1Conf) Children() (r []Atom)

func (AVC1Conf) Len

func (self AVC1Conf) Len() (n int)

func (AVC1Conf) Marshal

func (self AVC1Conf) Marshal(b []byte) (n int)

func (AVC1Conf) Tag

func (self AVC1Conf) Tag() Tag

func (*AVC1Conf) Unmarshal

func (self *AVC1Conf) Unmarshal(b []byte, offset int) (n int, err error)

type AVC1Desc

type AVC1Desc struct {
	DataRefIdx           int16
	Version              int16
	Revision             int16
	Vendor               int32
	TemporalQuality      int32
	SpatialQuality       int32
	Width                int16
	Height               int16
	HorizontalResolution float64
	VorizontalResolution float64
	FrameCount           int16
	CompressorName       [32]byte
	Depth                int16
	ColorTableId         int16
	Conf                 *AVC1Conf
	Unknowns             []Atom
	AtomPos
}

func (AVC1Desc) Children

func (self AVC1Desc) Children() (r []Atom)

func (AVC1Desc) Len

func (self AVC1Desc) Len() (n int)

func (AVC1Desc) Marshal

func (self AVC1Desc) Marshal(b []byte) (n int)

func (AVC1Desc) Tag

func (self AVC1Desc) Tag() Tag

func (*AVC1Desc) Unmarshal

func (self *AVC1Desc) Unmarshal(b []byte, offset int) (n int, err error)

type Atom

type Atom interface {
	Pos() (int, int)
	Tag() Tag
	Marshal([]byte) int
	Unmarshal([]byte, int) (int, error)
	Len() int
	Children() []Atom
}

func FindChildren

func FindChildren(root Atom, tag Tag) Atom

func FindChildrenByName

func FindChildrenByName(root Atom, tag string) Atom

func ReadFileAtoms

func ReadFileAtoms(r io.ReadSeeker) (atoms []Atom, err error)

type AtomPos

type AtomPos struct {
	Offset int
	Size   int
}

func (AtomPos) Pos

func (self AtomPos) Pos() (int, int)

type ChunkOffset

type ChunkOffset struct {
	Version uint8
	Flags   uint32
	Entries []uint32
	AtomPos
}

func (ChunkOffset) Children

func (self ChunkOffset) Children() (r []Atom)

func (ChunkOffset) Len

func (self ChunkOffset) Len() (n int)

func (ChunkOffset) Marshal

func (self ChunkOffset) Marshal(b []byte) (n int)

func (ChunkOffset) String

func (self ChunkOffset) String() string

func (ChunkOffset) Tag

func (self ChunkOffset) Tag() Tag

func (*ChunkOffset) Unmarshal

func (self *ChunkOffset) Unmarshal(b []byte, offset int) (n int, err error)

type CompositionOffset

type CompositionOffset struct {
	Version uint8
	Flags   uint32
	Entries []CompositionOffsetEntry
	AtomPos
}

func (CompositionOffset) Children

func (self CompositionOffset) Children() (r []Atom)

func (CompositionOffset) Len

func (self CompositionOffset) Len() (n int)

func (CompositionOffset) Marshal

func (self CompositionOffset) Marshal(b []byte) (n int)

func (CompositionOffset) String

func (self CompositionOffset) String() string

func (CompositionOffset) Tag

func (self CompositionOffset) Tag() Tag

func (*CompositionOffset) Unmarshal

func (self *CompositionOffset) Unmarshal(b []byte, offset int) (n int, err error)

type CompositionOffsetEntry

type CompositionOffsetEntry struct {
	Count  uint32
	Offset uint32
}

func GetCompositionOffsetEntry

func GetCompositionOffsetEntry(b []byte) (self CompositionOffsetEntry)

type DataInfo

type DataInfo struct {
	Refer    *DataRefer
	Unknowns []Atom
	AtomPos
}

func (DataInfo) Children

func (self DataInfo) Children() (r []Atom)

func (DataInfo) Len

func (self DataInfo) Len() (n int)

func (DataInfo) Marshal

func (self DataInfo) Marshal(b []byte) (n int)

func (DataInfo) Tag

func (self DataInfo) Tag() Tag

func (*DataInfo) Unmarshal

func (self *DataInfo) Unmarshal(b []byte, offset int) (n int, err error)

type DataRefer

type DataRefer struct {
	Version uint8
	Flags   uint32
	Url     *DataReferUrl
	AtomPos
}

func (DataRefer) Children

func (self DataRefer) Children() (r []Atom)

func (DataRefer) Len

func (self DataRefer) Len() (n int)

func (DataRefer) Marshal

func (self DataRefer) Marshal(b []byte) (n int)

func (DataRefer) Tag

func (self DataRefer) Tag() Tag

func (*DataRefer) Unmarshal

func (self *DataRefer) Unmarshal(b []byte, offset int) (n int, err error)

type DataReferUrl

type DataReferUrl struct {
	Version uint8
	Flags   uint32
	AtomPos
}

func (DataReferUrl) Children

func (self DataReferUrl) Children() (r []Atom)

func (DataReferUrl) Len

func (self DataReferUrl) Len() (n int)

func (DataReferUrl) Marshal

func (self DataReferUrl) Marshal(b []byte) (n int)

func (DataReferUrl) Tag

func (self DataReferUrl) Tag() Tag

func (*DataReferUrl) Unmarshal

func (self *DataReferUrl) Unmarshal(b []byte, offset int) (n int, err error)

type Dummy

type Dummy struct {
	Data []byte
	Tag_ Tag
	AtomPos
}

func (Dummy) Children

func (self Dummy) Children() []Atom

func (Dummy) Len

func (self Dummy) Len() int

func (Dummy) Marshal

func (self Dummy) Marshal(b []byte) int

func (Dummy) Tag

func (self Dummy) Tag() Tag

func (*Dummy) Unmarshal

func (self *Dummy) Unmarshal(b []byte, offset int) (n int, err error)

type Edit

type Edit struct {
	EditList *EditList
	Unknowns []Atom
	AtomPos
}

func (Edit) Children

func (self Edit) Children() (r []Atom)

func (Edit) Len

func (self Edit) Len() (n int)

func (Edit) Marshal

func (self Edit) Marshal(b []byte) (n int)

func (Edit) Tag

func (self Edit) Tag() Tag

func (*Edit) Unmarshal

func (self *Edit) Unmarshal(b []byte, offset int) (n int, err error)

type EditList

type EditList struct {
	Version uint8
	Flags   uint32
	Entries []EditListEntry
	AtomPos
}

func (EditList) Children

func (self EditList) Children() (r []Atom)

func (EditList) Len

func (self EditList) Len() (n int)

func (EditList) Marshal

func (self EditList) Marshal(b []byte) (n int)

func (EditList) Tag

func (self EditList) Tag() Tag

func (*EditList) Unmarshal

func (self *EditList) Unmarshal(b []byte, offset int) (n int, err error)

type EditListEntry

type EditListEntry struct {
	TrackDuration     uint64
	MediaTime         int64
	MediaRateInteger  int16
	MediaRateFraction int16
}

type ElemStreamDesc

type ElemStreamDesc struct {
	DecConfig []byte
	TrackId   uint16
	AtomPos
}

func (ElemStreamDesc) Children

func (self ElemStreamDesc) Children() []Atom

func (ElemStreamDesc) Len

func (self ElemStreamDesc) Len() (n int)

func (ElemStreamDesc) Marshal

func (self ElemStreamDesc) Marshal(b []byte) (n int)

func (ElemStreamDesc) String

func (self ElemStreamDesc) String() string

func (ElemStreamDesc) Tag

func (self ElemStreamDesc) Tag() Tag

func (*ElemStreamDesc) Unmarshal

func (self *ElemStreamDesc) Unmarshal(b []byte, offset int) (n int, err error)

type FileType

type FileType struct {
	MajorVersion     uint32
	MinorVersion     uint32
	CompatibleBrands []uint32
	AtomPos
}

func (FileType) Children

func (self FileType) Children() (r []Atom)

func (FileType) Len

func (self FileType) Len() (n int)

func (FileType) Marshal

func (self FileType) Marshal(b []byte) (n int)

func (FileType) Tag

func (self FileType) Tag() Tag

func (*FileType) Unmarshal

func (self *FileType) Unmarshal(b []byte, offset int) (n int, err error)

type FreeSpace

type FreeSpace struct {
	Data []uint8
	AtomPos
}

func (FreeSpace) Children

func (self FreeSpace) Children() (r []Atom)

func (FreeSpace) Len

func (self FreeSpace) Len() (n int)

func (FreeSpace) Marshal

func (self FreeSpace) Marshal(b []byte) (n int)

func (FreeSpace) Tag

func (self FreeSpace) Tag() Tag

func (*FreeSpace) Unmarshal

func (self *FreeSpace) Unmarshal(b []byte, offset int) (n int, err error)

type HandlerRefer

type HandlerRefer struct {
	Version uint8
	Flags   uint32
	Type    [4]byte
	SubType [4]byte
	Name    []byte
	AtomPos
}

func (HandlerRefer) Children

func (self HandlerRefer) Children() (r []Atom)

func (HandlerRefer) Len

func (self HandlerRefer) Len() (n int)

func (HandlerRefer) Marshal

func (self HandlerRefer) Marshal(b []byte) (n int)

func (HandlerRefer) Tag

func (self HandlerRefer) Tag() Tag

func (*HandlerRefer) Unmarshal

func (self *HandlerRefer) Unmarshal(b []byte, offset int) (n int, err error)

type MP4ADesc

type MP4ADesc struct {
	DataRefIdx       int16
	Version          int16
	RevisionLevel    int16
	Vendor           int32
	NumberOfChannels int16
	SampleSize       int16
	CompressionId    int16
	SampleRate       float64
	Conf             *ElemStreamDesc
	Unknowns         []Atom
	AtomPos
}

func (MP4ADesc) Children

func (self MP4ADesc) Children() (r []Atom)

func (MP4ADesc) Len

func (self MP4ADesc) Len() (n int)

func (MP4ADesc) Marshal

func (self MP4ADesc) Marshal(b []byte) (n int)

func (MP4ADesc) Tag

func (self MP4ADesc) Tag() Tag

func (*MP4ADesc) Unmarshal

func (self *MP4ADesc) Unmarshal(b []byte, offset int) (n int, err error)

type Media

type Media struct {
	Header   *MediaHeader
	Handler  *HandlerRefer
	Info     *MediaInfo
	Unknowns []Atom
	AtomPos
}

func (Media) Children

func (self Media) Children() (r []Atom)

func (Media) Len

func (self Media) Len() (n int)

func (Media) Marshal

func (self Media) Marshal(b []byte) (n int)

func (Media) Tag

func (self Media) Tag() Tag

func (*Media) Unmarshal

func (self *Media) Unmarshal(b []byte, offset int) (n int, err error)

type MediaHeader

type MediaHeader struct {
	Version    uint8
	Flags      uint32
	CreateTime time.Time
	ModifyTime time.Time
	TimeScale  int32
	Duration   int32
	Language   int16
	Quality    int16
	AtomPos
}

func (MediaHeader) Children

func (self MediaHeader) Children() (r []Atom)

func (MediaHeader) Len

func (self MediaHeader) Len() (n int)

func (MediaHeader) Marshal

func (self MediaHeader) Marshal(b []byte) (n int)

func (MediaHeader) Tag

func (self MediaHeader) Tag() Tag

func (*MediaHeader) Unmarshal

func (self *MediaHeader) Unmarshal(b []byte, offset int) (n int, err error)

type MediaInfo

type MediaInfo struct {
	Sound    *SoundMediaInfo
	Video    *VideoMediaInfo
	Data     *DataInfo
	Sample   *SampleTable
	Unknowns []Atom
	AtomPos
}

func (MediaInfo) Children

func (self MediaInfo) Children() (r []Atom)

func (MediaInfo) Len

func (self MediaInfo) Len() (n int)

func (MediaInfo) Marshal

func (self MediaInfo) Marshal(b []byte) (n int)

func (MediaInfo) Tag

func (self MediaInfo) Tag() Tag

func (*MediaInfo) Unmarshal

func (self *MediaInfo) Unmarshal(b []byte, offset int) (n int, err error)

type Movie

type Movie struct {
	Header      *MovieHeader
	MovieExtend *MovieExtend
	Tracks      []*Track
	Unknowns    []Atom
	AtomPos
}

func (Movie) Children

func (self Movie) Children() (r []Atom)

func (Movie) Len

func (self Movie) Len() (n int)

func (Movie) Marshal

func (self Movie) Marshal(b []byte) (n int)

func (Movie) Tag

func (self Movie) Tag() Tag

func (*Movie) Unmarshal

func (self *Movie) Unmarshal(b []byte, offset int) (n int, err error)

type MovieExtend

type MovieExtend struct {
	Header   *MovieExtendHeader
	Tracks   []*TrackExtend
	Unknowns []Atom
	AtomPos
}

func (MovieExtend) Children

func (self MovieExtend) Children() (r []Atom)

func (MovieExtend) Len

func (self MovieExtend) Len() (n int)

func (MovieExtend) Marshal

func (self MovieExtend) Marshal(b []byte) (n int)

func (MovieExtend) Tag

func (self MovieExtend) Tag() Tag

func (*MovieExtend) Unmarshal

func (self *MovieExtend) Unmarshal(b []byte, offset int) (n int, err error)

type MovieExtendHeader

type MovieExtendHeader struct {
	Version  uint8
	Duration uint64
	AtomPos
}

func (MovieExtendHeader) Children

func (self MovieExtendHeader) Children() (r []Atom)

func (MovieExtendHeader) Len

func (self MovieExtendHeader) Len() (n int)

func (MovieExtendHeader) Marshal

func (self MovieExtendHeader) Marshal(b []byte) (n int)

func (MovieExtendHeader) Tag

func (self MovieExtendHeader) Tag() Tag

func (*MovieExtendHeader) Unmarshal

func (self *MovieExtendHeader) Unmarshal(b []byte, offset int) (n int, err error)

type MovieFrag

type MovieFrag struct {
	Header   *MovieFragHeader
	Tracks   []*TrackFrag
	Unknowns []Atom
	AtomPos
}

func (MovieFrag) Children

func (self MovieFrag) Children() (r []Atom)

func (MovieFrag) Len

func (self MovieFrag) Len() (n int)

func (MovieFrag) Marshal

func (self MovieFrag) Marshal(b []byte) (n int)

func (MovieFrag) Tag

func (self MovieFrag) Tag() Tag

func (*MovieFrag) Unmarshal

func (self *MovieFrag) Unmarshal(b []byte, offset int) (n int, err error)

type MovieFragHeader

type MovieFragHeader struct {
	Version uint8
	Flags   uint32
	Seqnum  uint32
	AtomPos
}

func (MovieFragHeader) Children

func (self MovieFragHeader) Children() (r []Atom)

func (MovieFragHeader) Len

func (self MovieFragHeader) Len() (n int)

func (MovieFragHeader) Marshal

func (self MovieFragHeader) Marshal(b []byte) (n int)

func (MovieFragHeader) Tag

func (self MovieFragHeader) Tag() Tag

func (*MovieFragHeader) Unmarshal

func (self *MovieFragHeader) Unmarshal(b []byte, offset int) (n int, err error)

type MovieHeader

type MovieHeader struct {
	Version           uint8
	Flags             uint32
	CreateTime        time.Time
	ModifyTime        time.Time
	TimeScale         int32
	Duration          int32
	PreferredRate     float64
	PreferredVolume   float64
	Matrix            [9]int32
	PreviewTime       time.Time
	PreviewDuration   time.Time
	PosterTime        time.Time
	SelectionTime     time.Time
	SelectionDuration time.Time
	CurrentTime       time.Time
	NextTrackId       int32
	AtomPos
}

func (MovieHeader) Children

func (self MovieHeader) Children() (r []Atom)

func (MovieHeader) Len

func (self MovieHeader) Len() (n int)

func (MovieHeader) Marshal

func (self MovieHeader) Marshal(b []byte) (n int)

func (MovieHeader) String

func (self MovieHeader) String() string

func (MovieHeader) Tag

func (self MovieHeader) Tag() Tag

func (*MovieHeader) Unmarshal

func (self *MovieHeader) Unmarshal(b []byte, offset int) (n int, err error)

type ParseError

type ParseError struct {
	Debug  string
	Offset int
	// contains filtered or unexported fields
}

func (*ParseError) Error

func (self *ParseError) Error() string

type SampleDependency

type SampleDependency struct {
	Version    uint8
	EntryCount int
	Entries    []*SampleDependencyEntry
	AtomPos
}

func (SampleDependency) Children

func (self SampleDependency) Children() (r []Atom)

func (SampleDependency) Len

func (self SampleDependency) Len() (n int)

func (SampleDependency) Marshal

func (self SampleDependency) Marshal(b []byte) (n int)

func (SampleDependency) Tag

func (self SampleDependency) Tag() Tag

func (*SampleDependency) Unmarshal

func (self *SampleDependency) Unmarshal(b []byte, offset int) (n int, err error)

type SampleDependencyEntry

type SampleDependencyEntry struct {
	IsLeading           uint8
	SampleDependsOn     uint8
	SampleIsDependedOn  uint8
	SampleHasRedundancy uint8
}

type SampleDesc

type SampleDesc struct {
	Version  uint8
	AVC1Desc *AVC1Desc
	MP4ADesc *MP4ADesc
	Unknowns []Atom
	AtomPos
}

func (SampleDesc) Children

func (self SampleDesc) Children() (r []Atom)

func (SampleDesc) Len

func (self SampleDesc) Len() (n int)

func (SampleDesc) Marshal

func (self SampleDesc) Marshal(b []byte) (n int)

func (SampleDesc) Tag

func (self SampleDesc) Tag() Tag

func (*SampleDesc) Unmarshal

func (self *SampleDesc) Unmarshal(b []byte, offset int) (n int, err error)

type SampleGroupDescription

type SampleGroupDescription struct {
	Version              uint8
	GroupingType         uint32
	DefaultLength        uint32
	DefaultSampleDescIdx uint32
	EntryCount           uint32
	Entries              []*SampleGroupDescriptionEntry
	AtomPos
}

func (SampleGroupDescription) Children

func (self SampleGroupDescription) Children() (r []Atom)

func (SampleGroupDescription) Len

func (self SampleGroupDescription) Len() (n int)

func (SampleGroupDescription) Marshal

func (self SampleGroupDescription) Marshal(b []byte) (n int)

func (SampleGroupDescription) Tag

func (self SampleGroupDescription) Tag() Tag

func (*SampleGroupDescription) Unmarshal

func (self *SampleGroupDescription) Unmarshal(b []byte, offset int) (n int, err error)

type SampleGroupDescriptionEntry

type SampleGroupDescriptionEntry struct {
	Length  uint32
	Payload int16
}

type SampleSize

type SampleSize struct {
	Version    uint8
	Flags      uint32
	SampleSize uint32
	Entries    []uint32
	AtomPos
}

func (SampleSize) Children

func (self SampleSize) Children() (r []Atom)

func (SampleSize) Len

func (self SampleSize) Len() (n int)

func (SampleSize) Marshal

func (self SampleSize) Marshal(b []byte) (n int)

func (SampleSize) String

func (self SampleSize) String() string

func (SampleSize) Tag

func (self SampleSize) Tag() Tag

func (*SampleSize) Unmarshal

func (self *SampleSize) Unmarshal(b []byte, offset int) (n int, err error)

type SampleTable

type SampleTable struct {
	SampleDesc             *SampleDesc
	TimeToSample           *TimeToSample
	CompositionOffset      *CompositionOffset
	SampleToChunk          *SampleToChunk
	SyncSample             *SyncSample
	ChunkOffset            *ChunkOffset
	SampleSize             *SampleSize
	SampleGroupDescription *SampleGroupDescription
	SampleDependency       *SampleDependency
	AtomPos
}

func (SampleTable) Children

func (self SampleTable) Children() (r []Atom)

func (SampleTable) Len

func (self SampleTable) Len() (n int)

func (SampleTable) Marshal

func (self SampleTable) Marshal(b []byte) (n int)

func (SampleTable) Tag

func (self SampleTable) Tag() Tag

func (*SampleTable) Unmarshal

func (self *SampleTable) Unmarshal(b []byte, offset int) (n int, err error)

type SampleToChunk

type SampleToChunk struct {
	Version uint8
	Flags   uint32
	Entries []SampleToChunkEntry
	AtomPos
}

func (SampleToChunk) Children

func (self SampleToChunk) Children() (r []Atom)

func (SampleToChunk) Len

func (self SampleToChunk) Len() (n int)

func (SampleToChunk) Marshal

func (self SampleToChunk) Marshal(b []byte) (n int)

func (SampleToChunk) String

func (self SampleToChunk) String() string

func (SampleToChunk) Tag

func (self SampleToChunk) Tag() Tag

func (*SampleToChunk) Unmarshal

func (self *SampleToChunk) Unmarshal(b []byte, offset int) (n int, err error)

type SampleToChunkEntry

type SampleToChunkEntry struct {
	FirstChunk      uint32
	SamplesPerChunk uint32
	SampleDescId    uint32
}

func GetSampleToChunkEntry

func GetSampleToChunkEntry(b []byte) (self SampleToChunkEntry)

type SampleToGroup

type SampleToGroup struct {
	Version               uint8
	GroupingType          uint32
	GroupingTypeParameter uint32
	EntryCount            uint32
	Entries               []*SampleToGroupEntry
	AtomPos
}

func (SampleToGroup) Children

func (self SampleToGroup) Children() (r []Atom)

func (SampleToGroup) Len

func (self SampleToGroup) Len() (n int)

func (SampleToGroup) Marshal

func (self SampleToGroup) Marshal(b []byte) (n int)

func (SampleToGroup) Tag

func (self SampleToGroup) Tag() Tag

func (*SampleToGroup) Unmarshal

func (self *SampleToGroup) Unmarshal(b []byte, offset int) (n int, err error)

type SampleToGroupEntry

type SampleToGroupEntry struct {
	SampleCount           uint32
	GroupDescriptionIndex uint32
}

type SegmentIndex

type SegmentIndex struct {
	Version          uint8
	TrackId          uint32
	TimeScale        uint32
	PresentationTime uint64
	FirstOffset      uint64

	Entries []*SegmentIndexEntry
	AtomPos
	// contains filtered or unexported fields
}

func (SegmentIndex) Children

func (self SegmentIndex) Children() (r []Atom)

func (SegmentIndex) Len

func (self SegmentIndex) Len() (n int)

func (SegmentIndex) Marshal

func (self SegmentIndex) Marshal(b []byte) (n int)

func (SegmentIndex) Tag

func (self SegmentIndex) Tag() Tag

func (*SegmentIndex) Unmarshal

func (self *SegmentIndex) Unmarshal(b []byte, offset int) (n int, err error)

type SegmentIndexEntry

type SegmentIndexEntry struct {
	ReferenceTypeIsSIDX bool
	ReferenceSize       uint32
	Duration            uint32
	StartsWithSAP       bool
	SAPType             uint8
	SAPDeltaTime        uint32
}

type SegmentType

type SegmentType struct {
	MajorVersion     uint32
	MinorVersion     uint32
	CompatibleBrands []uint32
	AtomPos
}

func (SegmentType) Children

func (self SegmentType) Children() (r []Atom)

func (SegmentType) Len

func (self SegmentType) Len() (n int)

func (SegmentType) Marshal

func (self SegmentType) Marshal(b []byte) (n int)

func (SegmentType) Tag

func (self SegmentType) Tag() Tag

func (*SegmentType) Unmarshal

func (self *SegmentType) Unmarshal(b []byte, offset int) (n int, err error)

type SoundMediaInfo

type SoundMediaInfo struct {
	Version uint8
	Flags   uint32
	Balance int16
	AtomPos
}

func (SoundMediaInfo) Children

func (self SoundMediaInfo) Children() (r []Atom)

func (SoundMediaInfo) Len

func (self SoundMediaInfo) Len() (n int)

func (SoundMediaInfo) Marshal

func (self SoundMediaInfo) Marshal(b []byte) (n int)

func (SoundMediaInfo) Tag

func (self SoundMediaInfo) Tag() Tag

func (*SoundMediaInfo) Unmarshal

func (self *SoundMediaInfo) Unmarshal(b []byte, offset int) (n int, err error)

type SyncSample

type SyncSample struct {
	Version uint8
	Flags   uint32
	Entries []uint32
	AtomPos
}

func (SyncSample) Children

func (self SyncSample) Children() (r []Atom)

func (SyncSample) Len

func (self SyncSample) Len() (n int)

func (SyncSample) Marshal

func (self SyncSample) Marshal(b []byte) (n int)

func (SyncSample) String

func (self SyncSample) String() string

func (SyncSample) Tag

func (self SyncSample) Tag() Tag

func (*SyncSample) Unmarshal

func (self *SyncSample) Unmarshal(b []byte, offset int) (n int, err error)

type Tag

type Tag uint32

func StringToTag

func StringToTag(tag string) Tag

func (Tag) String

func (self Tag) String() string

type TimeToSample

type TimeToSample struct {
	Version uint8
	Flags   uint32
	Entries []TimeToSampleEntry
	AtomPos
}

func (TimeToSample) Children

func (self TimeToSample) Children() (r []Atom)

func (TimeToSample) Len

func (self TimeToSample) Len() (n int)

func (TimeToSample) Marshal

func (self TimeToSample) Marshal(b []byte) (n int)

func (TimeToSample) String

func (self TimeToSample) String() string

func (TimeToSample) Tag

func (self TimeToSample) Tag() Tag

func (*TimeToSample) Unmarshal

func (self *TimeToSample) Unmarshal(b []byte, offset int) (n int, err error)

type TimeToSampleEntry

type TimeToSampleEntry struct {
	Count    uint32
	Duration uint32
}

func GetTimeToSampleEntry

func GetTimeToSampleEntry(b []byte) (self TimeToSampleEntry)

type Track

type Track struct {
	Header   *TrackHeader
	Media    *Media
	Edit     *Edit
	Unknowns []Atom
	AtomPos
}

func (Track) Children

func (self Track) Children() (r []Atom)

func (*Track) GetAVC1Conf

func (self *Track) GetAVC1Conf() (conf *AVC1Conf)

func (*Track) GetElemStreamDesc

func (self *Track) GetElemStreamDesc() (esds *ElemStreamDesc)

func (Track) Len

func (self Track) Len() (n int)

func (Track) Marshal

func (self Track) Marshal(b []byte) (n int)

func (Track) Tag

func (self Track) Tag() Tag

func (*Track) Unmarshal

func (self *Track) Unmarshal(b []byte, offset int) (n int, err error)

type TrackExtend

type TrackExtend struct {
	Version               uint8
	Flags                 uint32
	TrackId               uint32
	DefaultSampleDescIdx  uint32
	DefaultSampleDuration uint32
	DefaultSampleSize     uint32
	DefaultSampleFlags    uint32
	AtomPos
}

func (TrackExtend) Children

func (self TrackExtend) Children() (r []Atom)

func (TrackExtend) Len

func (self TrackExtend) Len() (n int)

func (TrackExtend) Marshal

func (self TrackExtend) Marshal(b []byte) (n int)

func (TrackExtend) Tag

func (self TrackExtend) Tag() Tag

func (*TrackExtend) Unmarshal

func (self *TrackExtend) Unmarshal(b []byte, offset int) (n int, err error)

type TrackFrag

type TrackFrag struct {
	Header        *TrackFragHeader
	DecodeTime    *TrackFragDecodeTime
	SampleToGroup *SampleToGroup
	Run           *TrackFragRun
	Unknowns      []Atom
	AtomPos
}

func (TrackFrag) Children

func (self TrackFrag) Children() (r []Atom)

func (TrackFrag) Len

func (self TrackFrag) Len() (n int)

func (TrackFrag) Marshal

func (self TrackFrag) Marshal(b []byte) (n int)

func (TrackFrag) Tag

func (self TrackFrag) Tag() Tag

func (*TrackFrag) Unmarshal

func (self *TrackFrag) Unmarshal(b []byte, offset int) (n int, err error)

type TrackFragDecodeTime

type TrackFragDecodeTime struct {
	Version uint8
	Flags   uint32
	Time    time.Time
	AtomPos
}

func (TrackFragDecodeTime) Children

func (self TrackFragDecodeTime) Children() (r []Atom)

func (TrackFragDecodeTime) Len

func (self TrackFragDecodeTime) Len() (n int)

func (TrackFragDecodeTime) Marshal

func (self TrackFragDecodeTime) Marshal(b []byte) (n int)

func (TrackFragDecodeTime) Tag

func (self TrackFragDecodeTime) Tag() Tag

func (*TrackFragDecodeTime) Unmarshal

func (self *TrackFragDecodeTime) Unmarshal(b []byte, offset int) (n int, err error)

type TrackFragHeader

type TrackFragHeader struct {
	Version         uint8
	Flags           uint32
	TrackId         uint32
	BaseDataOffset  uint64
	StsdId          uint32
	DefaultDuration uint32
	DefaultSize     uint32
	DefaultFlags    uint32
	AtomPos
}

func (TrackFragHeader) Children

func (self TrackFragHeader) Children() (r []Atom)

func (TrackFragHeader) Len

func (self TrackFragHeader) Len() (n int)

func (TrackFragHeader) Marshal

func (self TrackFragHeader) Marshal(b []byte) (n int)

func (TrackFragHeader) String

func (self TrackFragHeader) String() string

func (TrackFragHeader) Tag

func (self TrackFragHeader) Tag() Tag

func (*TrackFragHeader) Unmarshal

func (self *TrackFragHeader) Unmarshal(b []byte, offset int) (n int, err error)

type TrackFragRun

type TrackFragRun struct {
	Version          uint8
	Flags            uint32
	DataOffset       uint32
	FirstSampleFlags uint32
	SampleCount      uint32
	Entries          []TrackFragRunEntry
	AtomPos
}

func (TrackFragRun) Children

func (self TrackFragRun) Children() (r []Atom)

func (TrackFragRun) Len

func (self TrackFragRun) Len() (n int)

func (TrackFragRun) Marshal

func (self TrackFragRun) Marshal(b []byte) (n int)

func (TrackFragRun) String

func (self TrackFragRun) String() string

func (TrackFragRun) Tag

func (self TrackFragRun) Tag() Tag

func (*TrackFragRun) Unmarshal

func (self *TrackFragRun) Unmarshal(b []byte, offset int) (n int, err error)

type TrackFragRunEntry

type TrackFragRunEntry struct {
	Duration uint32
	Size     uint32
	Flags    uint32
	Cts      uint32
}

func GetTrackFragRunEntry

func GetTrackFragRunEntry(b []byte) (self TrackFragRunEntry)

type TrackHeader

type TrackHeader struct {
	Version        uint8
	Flags          uint32
	CreateTime     time.Time
	ModifyTime     time.Time
	TrackId        int32
	Duration       int32
	Layer          int16
	AlternateGroup int16
	Volume         float64
	Matrix         [9]int32
	TrackWidth     float64
	TrackHeight    float64
	AtomPos
}

func (TrackHeader) Children

func (self TrackHeader) Children() (r []Atom)

func (TrackHeader) Len

func (self TrackHeader) Len() (n int)

func (TrackHeader) Marshal

func (self TrackHeader) Marshal(b []byte) (n int)

func (TrackHeader) Tag

func (self TrackHeader) Tag() Tag

func (*TrackHeader) Unmarshal

func (self *TrackHeader) Unmarshal(b []byte, offset int) (n int, err error)

type VideoMediaInfo

type VideoMediaInfo struct {
	Version      uint8
	Flags        uint32
	GraphicsMode int16
	Opcolor      [3]int16
	AtomPos
}

func (VideoMediaInfo) Children

func (self VideoMediaInfo) Children() (r []Atom)

func (VideoMediaInfo) Len

func (self VideoMediaInfo) Len() (n int)

func (VideoMediaInfo) Marshal

func (self VideoMediaInfo) Marshal(b []byte) (n int)

func (VideoMediaInfo) Tag

func (self VideoMediaInfo) Tag() Tag

func (*VideoMediaInfo) Unmarshal

func (self *VideoMediaInfo) Unmarshal(b []byte, offset int) (n int, err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL