media

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 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
}

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) Start

func (i *Input) Start(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) SinkReady added in v1.4.1

func (o *Output) SinkReady(localTrack *lksdk.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 New

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) error
	Close() error
}

func CreateSource added in v1.0.0

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

type VideoOutput added in v0.9.0

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

FIXME Use generics instead?

func NewVideoOutput

func NewVideoOutput(codec livekit.VideoCodec, layer *livekit.VideoLayer, outputSync *utils.TrackOutputSynchronizer, statsGatherer *stats.LocalMediaStatsGatherer) (*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) (*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