media

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2026 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AudioOutput added in v0.9.0

type AudioOutput struct {
	*Output
	// contains filtered or unexported fields
}

func NewAudioOutput

func NewAudioOutput(options *livekit.IngressAudioEncodingOptions, outputSync *utils.TrackOutputSynchronizer, isPlayingTooSlow func() bool, statsGatherer *stats.LocalMediaStatsGatherer, eos *eosDispatcher) (*AudioOutput, error)

type Input

type Input struct {
	// contains filtered or unexported fields
}

func (*Input) Close

func (i *Input) Close() error

func (*Input) OnOutputReady

func (i *Input) OnOutputReady(f OutputReadyFunc)

func (*Input) SetOnEOS added in v1.5.0

func (i *Input) SetOnEOS(f func())

func (*Input) Start

func (i *Input) Start(ctx context.Context, onCloseTimeout func(ctx context.Context)) error

type Output

type Output struct {
	// contains filtered or unexported fields
}

Output manages GStreamer elements that converts & encodes video to the specification that's suitable for WebRTC

func (*Output) Bin

func (e *Output) Bin() *gst.Bin

func (*Output) Close added in v1.0.0

func (e *Output) Close() error

func (*Output) ForceKeyFrame

func (e *Output) ForceKeyFrame() error

func (*Output) QueueLength added in v1.5.0

func (e *Output) QueueLength() int

func (*Output) SinkReady added in v1.4.1

func (e *Output) SinkReady(localTrack *lksdk_output.LocalTrack)

type OutputReadyFunc

type OutputReadyFunc func(pad *gst.Pad, kind types.StreamKind)

type Pipeline

type Pipeline struct {
	*params.Params
	// contains filtered or unexported fields
}

func (*Pipeline) GetGstPipelineDebugDot added in v1.1.0

func (p *Pipeline) GetGstPipelineDebugDot() string

func (*Pipeline) Run

func (p *Pipeline) Run(ctx context.Context) error

func (*Pipeline) SendEOS

func (p *Pipeline) SendEOS(ctx context.Context)

type Source added in v1.0.0

type Source interface {
	GetSources() []*gst.Element
	ValidateCaps(*gst.Caps) error
	Start(ctx context.Context, onClose func()) error
	Close() error
}

func CreateSource added in v1.0.0

func CreateSource(ctx context.Context, p *params.Params) (Source, error)

type Splice added in v1.5.0

type Splice struct {
	Immediate             bool
	OutOfNetworkIndicator bool
	EventId               uint32
	EventCancelIndicator  bool
	RunningTime           time.Duration
}

type SpliceProcessor added in v1.5.0

type SpliceProcessor struct {
	// contains filtered or unexported fields
}

func NewSpliceProcessor added in v1.5.0

func NewSpliceProcessor(sdkOut *lksdk_output.LKSDKOutput, outputSync *utils.OutputSynchronizer) *SpliceProcessor

func (*SpliceProcessor) Close added in v1.5.0

func (su *SpliceProcessor) Close()

func (*SpliceProcessor) ProcessSpliceEvent added in v1.5.0

func (su *SpliceProcessor) ProcessSpliceEvent(ev *gst.Event) error

type VideoOutput added in v0.9.0

type VideoOutput struct {
	*Output
	// contains filtered or unexported fields
}

VideoOutput - FIXME Use generics instead?

func NewVideoOutput

func NewVideoOutput(codec livekit.VideoCodec, layer *livekit.VideoLayer, outputSync *utils.TrackOutputSynchronizer, isPlayingTooSlow func() bool, statsGatherer *stats.LocalMediaStatsGatherer, eos *eosDispatcher) (*VideoOutput, error)

type VideoOutputBin added in v0.9.0

type VideoOutputBin struct {
	// contains filtered or unexported fields
}

func NewVideoOutputBin added in v0.9.0

func NewVideoOutputBin(options *livekit.IngressVideoEncodingOptions, outputs []*Output) (*VideoOutputBin, error)

func (*VideoOutputBin) GetBin added in v0.9.0

func (o *VideoOutputBin) GetBin() *gst.Bin

type WebRTCSink

type WebRTCSink struct {
	// contains filtered or unexported fields
}

func NewWebRTCSink

func NewWebRTCSink(ctx context.Context, p *params.Params, onFailure func(), statsGatherer *stats.LocalMediaStatsGatherer, eos *eosDispatcher) (*WebRTCSink, error)

func (*WebRTCSink) AddTrack

func (s *WebRTCSink) AddTrack(kind types.StreamKind, caps *gst.Caps) (*gst.Bin, error)

func (*WebRTCSink) Close

func (s *WebRTCSink) Close() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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