media

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 28 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 NewInput

func NewInput(ctx context.Context, p *params.Params) (*Input, error)

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

func (e *Output) NextSample(ctx context.Context) (media.Sample, error)

func (*Output) OnBind

func (e *Output) OnBind() error

func (*Output) OnUnbind

func (e *Output) OnUnbind() error

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 New(ctx context.Context, conf *config.Config, params *params.Params) (*Pipeline, error)

func (*Pipeline) GetGstPipelineDebugDot added in v1.1.0

func (p *Pipeline) GetGstPipelineDebugDot() string

func (*Pipeline) Run

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

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) (*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) (*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()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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