Documentation
¶
Index ¶
- Constants
- Variables
- func DecodeAlawTo(lpcm []byte, alaw []byte) (n int, err error)
- func DecodeUlawTo(lpcm []byte, ulaw []byte) (n int, err error)
- func EncodeAlawTo(alaw []byte, lpcm []byte) (n int, err error)
- func EncodeUlawTo(ulaw []byte, lpcm []byte) (n int, err error)
- func WavWrite(w io.Writer, audio []byte, opts WavWriteOpts) (int, error)
- func WavWriteVoipPCM(w io.Writer, audio []byte) (int, error)
- type MonitorPCMReader
- type MonitorPCMStereo
- type MonitorPCMWriter
- type OpusDecoder
- type OpusEncoder
- type PCMDecoder
- type PCMDecoderBuffer
- type PCMDecoderReader
- type PCMDecoderWriter
- type PCMEncoder
- type PCMEncoderWriter
- type WavReader
- type WavWriteOpts
- type WavWriter
Constants ¶
View Source
const ( // ITU-T G.711.0 codec supports frame lengths of 40, 80, 160, 240 and 320 samples per frame. FrameSize = 3200 ReadBuffer = 160 // TODO: this type should defined once. For now we have this on sdp package as well FORMAT_TYPE_ULAW = 0 FORMAT_TYPE_ALAW = 8 FORMAT_TYPE_OPUS = 96 )
View Source
const (
WavAudioFormatPCM = 1
)
Variables ¶
View Source
var (
RecordingFlushSize = 4096
)
Functions ¶
Types ¶
type MonitorPCMReader ¶
type MonitorPCMReader struct {
// contains filtered or unexported fields
}
func (*MonitorPCMReader) Flush ¶
func (m *MonitorPCMReader) Flush() error
func (*MonitorPCMReader) StartTime ¶
func (m *MonitorPCMReader) StartTime(t time.Time)
Monitoring starts with first packet arrived, but you can shift with start time. Ex stream are not continious
type MonitorPCMStereo ¶
type MonitorPCMStereo struct {
MonitorPCMReader
MonitorPCMWriter
PCMFileRead *os.File
PCMFileWrite *os.File
// contains filtered or unexported fields
}
func (*MonitorPCMStereo) Close ¶
func (m *MonitorPCMStereo) Close() error
func (*MonitorPCMStereo) Flush ¶
func (m *MonitorPCMStereo) Flush() error
type MonitorPCMWriter ¶
type MonitorPCMWriter struct {
// contains filtered or unexported fields
}
func (*MonitorPCMWriter) Flush ¶
func (m *MonitorPCMWriter) Flush() error
type OpusDecoder ¶
type OpusDecoder struct {
}
type OpusEncoder ¶
type OpusEncoder struct {
}
type PCMDecoder ¶
type PCMDecoder struct {
// DecoderTo Must know size in advance!
DecoderTo func(lpcm []byte, encoded []byte) (int, error)
// contains filtered or unexported fields
}
func NewPCMDecoder ¶
func NewPCMDecoder(codec uint8) (*PCMDecoder, error)
PCM decoder is streamer implementing io.Reader. It reads from underhood reader and returns decoded codec data This constructor uses default codec supported by media package.
type PCMDecoderBuffer ¶
type PCMDecoderBuffer struct {
PCMDecoderWriter
// contains filtered or unexported fields
}
func (*PCMDecoderBuffer) ReadAll ¶
func (d *PCMDecoderBuffer) ReadAll() []byte
func (*PCMDecoderBuffer) ReadFull ¶
func (d *PCMDecoderBuffer) ReadFull() []byte
type PCMDecoderReader ¶
type PCMDecoderReader struct {
PCMDecoder
Source io.Reader
BufSize int
// contains filtered or unexported fields
}
func NewPCMDecoderReader ¶
func NewPCMDecoderReader(codec uint8, reader io.Reader) (*PCMDecoderReader, error)
type PCMDecoderWriter ¶
type PCMDecoderWriter struct {
PCMDecoder
Writer io.Writer
// DecodeBuf should be increased if you are writing bigger chunk of samples
DecodeBuf int
// contains filtered or unexported fields
}
func NewPCMDecoderWriter ¶
func NewPCMDecoderWriter(codec uint8, writer io.Writer) (*PCMDecoderWriter, error)
type PCMEncoder ¶
type PCMEncoder struct {
EncoderTo func(encoded []byte, lpcm []byte) (int, error)
// contains filtered or unexported fields
}
func NewPCMEncoder ¶
func NewPCMEncoder(payloadType uint8) (*PCMEncoder, error)
PCMEncoder encodes data from pcm to codec and passes to writer
type PCMEncoderWriter ¶
type PCMEncoderWriter struct {
PCMEncoder
Writer io.Writer
BufSize int
// contains filtered or unexported fields
}
func NewPCMEncoderWriter ¶
func NewPCMEncoderWriter(payloadType uint8, writer io.Writer) (*PCMEncoderWriter, error)
type WavReader ¶
func NewWavReader ¶
func (*WavReader) ReadHeaders ¶
ReadHeaders reads until data chunk
type WavWriteOpts ¶
type WavWriter ¶
type WavWriter struct {
SampleRate int
BitDepth int
NumChans int
AudioFormat int
W io.WriteSeeker
// contains filtered or unexported fields
}
func NewWavWriter ¶
func NewWavWriter(w io.WriteSeeker) *WavWriter
Click to show internal directories.
Click to hide internal directories.