enc

package
v0.0.0-...-de6110c Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CastInit

func CastInit(encoder Encoder, cfg CastConfig, flags EncodeCastInitFlags) error

CastInit Initializes sending an encoder's output to a Shoutcast or Icecast server.

Types

type CastConfig

type CastConfig struct {
	Server      string
	Password    string
	ContentType EncodeType
	Name        string
	Url         string
	Genre       string
	Description string
	Headers     string
	Bitrate     uint32
}

type EncodeCastInitFlags

type EncodeCastInitFlags bass.Flags

EncodeCastInitFlags BASS_Encode_CastInit flags

type EncodeStartFlags

type EncodeStartFlags bass.Flags

EncodeStartFlags BASS_Encode_Start flags

const (
	EncodeNoHead      EncodeStartFlags = C.BASS_ENCODE_NOHEAD       // don't send a WAV header to the encoder
	EncodeFP8Bit      EncodeStartFlags = C.BASS_ENCODE_FP_8BIT      // convert floating-point sample data to 8-bit integer
	EncodeFP16Bit     EncodeStartFlags = C.BASS_ENCODE_FP_16BIT     // convert floating-point sample data to 16-bit integer
	EncodeFP24Bit     EncodeStartFlags = C.BASS_ENCODE_FP_24BIT     // convert floating-point sample data to 24-bit integer
	EncodeFP32Bit     EncodeStartFlags = C.BASS_ENCODE_FP_32BIT     // convert floating-point sample data to 32-bit integer
	EncodeFPAuto      EncodeStartFlags = C.BASS_ENCODE_FP_AUTO      // convert floating-point sample data back to channel's format
	EncodeBigEnd      EncodeStartFlags = C.BASS_ENCODE_BIGEND       // big-endian sample data
	EncodePause       EncodeStartFlags = C.BASS_ENCODE_PAUSE        // start encording paused
	EncodePCM         EncodeStartFlags = C.BASS_ENCODE_PCM          // write PCM sample data (no encoder)
	EncodeRF64        EncodeStartFlags = C.BASS_ENCODE_RF64         // send an RF64 header
	EncodeMono        EncodeStartFlags = C.BASS_ENCODE_MONO         // convert to mono (if not already)
	EncodeQueue       EncodeStartFlags = C.BASS_ENCODE_QUEUE        // queue data to feed encoder asynchronously
	EncodeWFEXT       EncodeStartFlags = C.BASS_ENCODE_WFEXT        // WAVEFORMATEXTENSIBLE "fmt" chunk
	EncodeCastNoLimit EncodeStartFlags = C.BASS_ENCODE_CAST_NOLIMIT // don't limit casting data rate
	EncodeLimit       EncodeStartFlags = C.BASS_ENCODE_LIMIT        // limit data rate to real-time
	EncodeAIFF        EncodeStartFlags = C.BASS_ENCODE_AIFF         // send an AIFF header rather than WAV
	EncodeDither      EncodeStartFlags = C.BASS_ENCODE_DITHER       // apply dither when converting floating-point sample data to integer
	EncodeAutofree    EncodeStartFlags = C.BASS_ENCODE_AUTOFREE     // free the encoder when the channel is freed
	EncodeUnicode     EncodeStartFlags = C.BASS_UNICODE             // cmdline is in UTF-16 form. Otherwise, it is ANSI on Windows or Windows CE, and UTF-8 on other platforms
)

func (EncodeStartFlags) Add

func (EncodeStartFlags) Has

type EncodeType

type EncodeType string
const (
	EncodeTypeMP3 EncodeType = "audio/mpeg"
	EncodeTypeOGG EncodeType = "audio/ogg"
	EncodeTypeAAC EncodeType = "audio/aacp"
)

type Encoder

type Encoder bass.Channel

func NewEncoder

func NewEncoder(channel bass.Channel, cmdline string, flags EncodeStartFlags, callback *C.ENCODEPROC, userdata unsafe.Pointer) (Encoder, error)

NewEncoder Sets up an encoder on a channel.

func NewWAVEncoderFile

func NewWAVEncoderFile(channel bass.Channel, flags bass.Flags, file string) (Encoder, error)

func (Encoder) Free

func (e Encoder) Free() error

func (Encoder) GetChannel

func (e Encoder) GetChannel() (bass.Channel, error)

func (Encoder) SetChannel

func (e Encoder) SetChannel(channel bass.Channel) error

func (Encoder) ToError

func (e Encoder) ToError() (Encoder, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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