Documentation
¶
Overview ¶
Package mpeg4audio contains utilities to work with MPEG-4 audio codecs.
Index ¶
Constants ¶
const ( // MaxAccessUnitSize is the maximum size of an access unit. MaxAccessUnitSize = 5 * 1024 // SamplesPerAccessUnit is the number of samples contained inside an access unit. SamplesPerAccessUnit = 1024 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ADTSPacket ¶
type ADTSPacket struct {
Type ObjectType
SampleRate int
ChannelCount int
AU []byte
}
ADTSPacket is an ADTS frame. Specification: ISO 14496-3, Table 1.A.5
type ADTSPackets ¶
type ADTSPackets []*ADTSPacket
ADTSPackets is a group od ADTS packets.
func (ADTSPackets) Marshal ¶
func (ps ADTSPackets) Marshal() ([]byte, error)
Marshal encodes ADTS packets into an ADTS stream.
func (*ADTSPackets) Unmarshal ¶
func (ps *ADTSPackets) Unmarshal(buf []byte) error
Unmarshal decodes an ADTS stream into ADTS packets.
type AudioSpecificConfig ¶
type AudioSpecificConfig struct {
Type ObjectType
SampleRate int
ChannelCount int
// SBR / PS specific
ExtensionType ObjectType
ExtensionSampleRate int
FrameLengthFlag bool
DependsOnCoreCoder bool
CoreCoderDelay uint16
}
AudioSpecificConfig is an AudioSpecificConfig. Specification: ISO 14496-3, 1.6.2.1
func (AudioSpecificConfig) Marshal ¶
func (c AudioSpecificConfig) Marshal() ([]byte, error)
Marshal encodes a Config.
func (*AudioSpecificConfig) Unmarshal ¶
func (c *AudioSpecificConfig) Unmarshal(buf []byte) error
Unmarshal decodes a Config.
func (*AudioSpecificConfig) UnmarshalFromPos ¶
func (c *AudioSpecificConfig) UnmarshalFromPos(buf []byte, pos *int) error
UnmarshalFromPos decodes a Config.
type ObjectType ¶
type ObjectType int
ObjectType is a MPEG-4 Audio object type. Specification: ISO 14496-3, Table 1.17
const ( ObjectTypeAACLC ObjectType = 2 ObjectTypeSBR ObjectType = 5 ObjectTypePS ObjectType = 29 )
supported types.
type StreamMuxConfig ¶
type StreamMuxConfig struct {
NumSubFrames uint
Programs []*StreamMuxConfigProgram
OtherDataPresent bool
OtherDataLenBits uint32
CRCCheckPresent bool
CRCCheckSum uint8
}
StreamMuxConfig is a StreamMuxConfig. Specification: ISO 14496-3, Table 1.42
func (StreamMuxConfig) Marshal ¶
func (c StreamMuxConfig) Marshal() ([]byte, error)
Marshal encodes a StreamMuxConfig.
func (*StreamMuxConfig) Unmarshal ¶
func (c *StreamMuxConfig) Unmarshal(buf []byte) error
Unmarshal decodes a StreamMuxConfig.
type StreamMuxConfigLayer ¶
type StreamMuxConfigLayer struct {
AudioSpecificConfig *AudioSpecificConfig
FrameLengthType uint
LatmBufferFullness uint
FrameLength uint
CELPframeLengthTableIndex uint
HVXCframeLengthTableIndex bool
}
StreamMuxConfigLayer is a layer of a StreamMuxConfig.
type StreamMuxConfigProgram ¶
type StreamMuxConfigProgram struct {
Layers []*StreamMuxConfigLayer
}
StreamMuxConfigProgram is a program of a StreamMuxConfig.