gavl
Typedefs | Functions

Typedefs

typedef struct gavl_audio_connector_s gavl_audio_connector_t
 Opaque structure for the audio connector. More...
 
typedef struct gavl_video_connector_s gavl_video_connector_t
 Opaque structure for the audio connector. More...
 
typedef struct gavl_packet_connector_s gavl_packet_connector_t
 Opaque structure for the packet connector. More...
 
typedef void(* gavl_audio_connector_process_func) (void *priv, gavl_audio_frame_t *frame)
 Callback for processing an audio frame. More...
 
typedef void(* gavl_video_connector_process_func) (void *priv, gavl_video_frame_t *frame)
 Callback for processing a video frame. More...
 
typedef void(* gavl_packet_connector_process_func) (void *priv, gavl_packet_t *p)
 Callback for processing a packet. More...
 

Functions

GAVL_PUBLIC gavl_audio_connector_tgavl_audio_connector_create (gavl_audio_source_t *src)
 Create an audio connector. More...
 
GAVL_PUBLIC gavl_audio_options_tgavl_audio_connector_get_options (gavl_audio_connector_t *c)
 Get conversion options. More...
 
GAVL_PUBLIC void gavl_audio_connector_destroy (gavl_audio_connector_t *c)
 Destroy an audio connector. More...
 
GAVL_PUBLIC void gavl_audio_connector_connect (gavl_audio_connector_t *c, gavl_audio_sink_t *sink)
 Connect a sink. More...
 
GAVL_PUBLIC void gavl_audio_connector_set_process_func (gavl_audio_connector_t *c, gavl_audio_connector_process_func func, void *priv)
 Set process callback. More...
 
GAVL_PUBLIC void gavl_audio_connector_start (gavl_audio_connector_t *c)
 Start an audio connector. More...
 
GAVL_PUBLIC const gavl_audio_format_tgavl_audio_connector_get_process_format (gavl_audio_connector_t *c)
 Get process format. More...
 
GAVL_PUBLIC int gavl_audio_connector_process (gavl_audio_connector_t *c)
 Process one frame. More...
 
GAVL_PUBLIC void gavl_audio_connector_reset (gavl_audio_connector_t *c)
 Reset an audio connector. More...
 
GAVL_PUBLIC gavl_source_status_t gavl_audio_connector_get_source_status (gavl_audio_connector_t *c)
 Get the status of the last read call. More...
 
GAVL_PUBLIC gavl_video_connector_tgavl_video_connector_create (gavl_video_source_t *src)
 Create a video connector. More...
 
GAVL_PUBLIC gavl_video_options_tgavl_video_connector_get_options (gavl_video_connector_t *c)
 Get conversion options. More...
 
GAVL_PUBLIC void gavl_video_connector_destroy (gavl_video_connector_t *c)
 Destroy a video connector. More...
 
GAVL_PUBLIC void gavl_video_connector_connect (gavl_video_connector_t *c, gavl_video_sink_t *sink)
 Connect a sink. More...
 
GAVL_PUBLIC void gavl_video_connector_set_process_func (gavl_video_connector_t *c, gavl_video_connector_process_func func, void *priv)
 Set process callback. More...
 
GAVL_PUBLIC void gavl_video_connector_start (gavl_video_connector_t *c)
 Start a video connector. More...
 
GAVL_PUBLIC const gavl_video_format_tgavl_video_connector_get_process_format (gavl_video_connector_t *c)
 Get process format. More...
 
GAVL_PUBLIC int gavl_video_connector_process (gavl_video_connector_t *c)
 Process one frame. More...
 
GAVL_PUBLIC void gavl_video_connector_reset (gavl_video_connector_t *c)
 Reset a video connector. More...
 
GAVL_PUBLIC gavl_source_status_t gavl_video_connector_get_source_status (gavl_video_connector_t *c)
 Get the status of the last read call. More...
 
GAVL_PUBLIC gavl_packet_connector_tgavl_packet_connector_create (gavl_packet_source_t *src)
 Create a packet connector. More...
 
GAVL_PUBLIC void gavl_packet_connector_destroy (gavl_packet_connector_t *c)
 Destroy a packet connector. More...
 
GAVL_PUBLIC void gavl_packet_connector_connect (gavl_packet_connector_t *c, gavl_packet_sink_t *sink)
 Connect a sink. More...
 
GAVL_PUBLIC void gavl_packet_connector_set_process_func (gavl_packet_connector_t *c, gavl_packet_connector_process_func func, void *priv)
 Set process callback. More...
 
GAVL_PUBLIC int gavl_packet_connector_process (gavl_packet_connector_t *c)
 Process one packet. More...
 
GAVL_PUBLIC gavl_source_status_t gavl_packet_connector_get_source_status (gavl_packet_connector_t *c)
 Get the status of the last read call. More...
 

Detailed Description

Connectors link one source and one or more sinks. They do all buffer handling and format conversion.

Typedef Documentation

◆ gavl_audio_connector_t

typedef struct gavl_audio_connector_s gavl_audio_connector_t

Opaque structure for the audio connector.

You don't want to know what's inside.

◆ gavl_video_connector_t

typedef struct gavl_video_connector_s gavl_video_connector_t

Opaque structure for the audio connector.

You don't want to know what's inside.

◆ gavl_packet_connector_t

typedef struct gavl_packet_connector_s gavl_packet_connector_t

Opaque structure for the packet connector.

You don't want to know what's inside.

◆ gavl_audio_connector_process_func

typedef void(* gavl_audio_connector_process_func) (void *priv, gavl_audio_frame_t *frame)

Callback for processing an audio frame.

Parameters
privClient data
frameFrame

This function is called whenever a frame was read from the source. Use gavl_audio_connector_set_process_func to set this callback. The format of the frame can be obtained with gavl_audio_connector_get_process_format after gavl_audio_connector_start was called.

◆ gavl_video_connector_process_func

typedef void(* gavl_video_connector_process_func) (void *priv, gavl_video_frame_t *frame)

Callback for processing a video frame.

Parameters
privClient data
frameFrame

This function is called whenever a frame was read from the source. Use gavl_video_connector_set_process_func to set this callback. The format of the frame can be obtained with gavl_video_connector_get_process_format after gavl_video_connector_start was called.

◆ gavl_packet_connector_process_func

typedef void(* gavl_packet_connector_process_func) (void *priv, gavl_packet_t *p)

Callback for processing a packet.

Parameters
privClient data
packetPacket

This function is called whenever a packet was read from the source. Use gavl_packet_connector_set_process_func to set this callback.

Function Documentation

◆ gavl_audio_connector_create()

GAVL_PUBLIC gavl_audio_connector_t* gavl_audio_connector_create ( gavl_audio_source_t src)

Create an audio connector.

Parameters
srcSource
Returns
A newly created audio connector

◆ gavl_audio_connector_get_options()

GAVL_PUBLIC gavl_audio_options_t* gavl_audio_connector_get_options ( gavl_audio_connector_t c)

Get conversion options.

Parameters
cAn audio connector
Returns
Conversion options

These options will be used for all internal format conversions.

◆ gavl_audio_connector_destroy()

GAVL_PUBLIC void gavl_audio_connector_destroy ( gavl_audio_connector_t c)

Destroy an audio connector.

Parameters
cAn audio connector

◆ gavl_audio_connector_connect()

GAVL_PUBLIC void gavl_audio_connector_connect ( gavl_audio_connector_t c,
gavl_audio_sink_t sink 
)

Connect a sink.

Parameters
cAn audio connector
sinkAn audio sink

◆ gavl_audio_connector_set_process_func()

GAVL_PUBLIC void gavl_audio_connector_set_process_func ( gavl_audio_connector_t c,
gavl_audio_connector_process_func  func,
void *  priv 
)

Set process callback.

Parameters
cAn audio connector
funcProcess callback
privClient data to be passed to func

◆ gavl_audio_connector_start()

GAVL_PUBLIC void gavl_audio_connector_start ( gavl_audio_connector_t c)

Start an audio connector.

Parameters
cAn audio connector

Call this function after connecting all sinks and before calling gavl_audio_connector_process.

◆ gavl_audio_connector_get_process_format()

GAVL_PUBLIC const gavl_audio_format_t* gavl_audio_connector_get_process_format ( gavl_audio_connector_t c)

Get process format.

Parameters
cAn audio connector
Returns
The intermediate format of the frames passed to the process callback

◆ gavl_audio_connector_process()

GAVL_PUBLIC int gavl_audio_connector_process ( gavl_audio_connector_t c)

Process one frame.

Parameters
cAn audio connector
Returns
0 if a sink reported an error, 1 else

Read one frame from the source and pass it to all sinks. The sinks might output zero or more frames depending on the conversions.

◆ gavl_audio_connector_reset()

GAVL_PUBLIC void gavl_audio_connector_reset ( gavl_audio_connector_t c)

Reset an audio connector.

Parameters
cAn audio connector

Reset the audio connector.

◆ gavl_audio_connector_get_source_status()

GAVL_PUBLIC gavl_source_status_t gavl_audio_connector_get_source_status ( gavl_audio_connector_t c)

Get the status of the last read call.

Parameters
cAn audio connector
Returns
The last status of the source

◆ gavl_video_connector_create()

GAVL_PUBLIC gavl_video_connector_t* gavl_video_connector_create ( gavl_video_source_t src)

Create a video connector.

Parameters
srcSource
Returns
A newly created video connector

◆ gavl_video_connector_get_options()

GAVL_PUBLIC gavl_video_options_t* gavl_video_connector_get_options ( gavl_video_connector_t c)

Get conversion options.

Parameters
cA video connector
Returns
Conversion options

These options will be used for all internal format conversions.

◆ gavl_video_connector_destroy()

GAVL_PUBLIC void gavl_video_connector_destroy ( gavl_video_connector_t c)

Destroy a video connector.

Parameters
cA video connector

◆ gavl_video_connector_connect()

GAVL_PUBLIC void gavl_video_connector_connect ( gavl_video_connector_t c,
gavl_video_sink_t sink 
)

Connect a sink.

Parameters
cA video connector
sinkA video sink

◆ gavl_video_connector_set_process_func()

GAVL_PUBLIC void gavl_video_connector_set_process_func ( gavl_video_connector_t c,
gavl_video_connector_process_func  func,
void *  priv 
)

Set process callback.

Parameters
cA video connector
funcProcess callback
privClient data to be passed to func

◆ gavl_video_connector_start()

GAVL_PUBLIC void gavl_video_connector_start ( gavl_video_connector_t c)

Start a video connector.

Parameters
cA video connector

Call this function after connecting all sinks and before calling gavl_video_connector_process.

◆ gavl_video_connector_get_process_format()

GAVL_PUBLIC const gavl_video_format_t* gavl_video_connector_get_process_format ( gavl_video_connector_t c)

Get process format.

Parameters
cA video connector
Returns
The intermediate format of the frames passed to the process callback

◆ gavl_video_connector_process()

GAVL_PUBLIC int gavl_video_connector_process ( gavl_video_connector_t c)

Process one frame.

Parameters
cA video connector
Returns
0 if a sink reported an error, 1 else

Read one frame from the source and pass it to all sinks. The sinks might output zero or more frames depending on the conversions.

◆ gavl_video_connector_reset()

GAVL_PUBLIC void gavl_video_connector_reset ( gavl_video_connector_t c)

Reset a video connector.

Parameters
cA video connector

Reset the video connector.

◆ gavl_video_connector_get_source_status()

GAVL_PUBLIC gavl_source_status_t gavl_video_connector_get_source_status ( gavl_video_connector_t c)

Get the status of the last read call.

Parameters
cA video connector
Returns
The last status of the source

◆ gavl_packet_connector_create()

GAVL_PUBLIC gavl_packet_connector_t* gavl_packet_connector_create ( gavl_packet_source_t src)

Create a packet connector.

Parameters
srcSource
Returns
A newly created packet connector

◆ gavl_packet_connector_destroy()

GAVL_PUBLIC void gavl_packet_connector_destroy ( gavl_packet_connector_t c)

Destroy a packet connector.

Parameters
cA packet connector

◆ gavl_packet_connector_connect()

GAVL_PUBLIC void gavl_packet_connector_connect ( gavl_packet_connector_t c,
gavl_packet_sink_t sink 
)

Connect a sink.

Parameters
cA packet connector
sinkA packet sink

◆ gavl_packet_connector_set_process_func()

GAVL_PUBLIC void gavl_packet_connector_set_process_func ( gavl_packet_connector_t c,
gavl_packet_connector_process_func  func,
void *  priv 
)

Set process callback.

Parameters
cA packet connector
funcProcess callback
privClient data to be passed to func

◆ gavl_packet_connector_process()

GAVL_PUBLIC int gavl_packet_connector_process ( gavl_packet_connector_t c)

Process one packet.

Parameters
cA packet connector
Returns
0 if a sink reported an error, 1 else

Read one packet from the source and pass it to all sinks.

◆ gavl_packet_connector_get_source_status()

GAVL_PUBLIC gavl_source_status_t gavl_packet_connector_get_source_status ( gavl_packet_connector_t c)

Get the status of the last read call.

Parameters
cA packet connector
Returns
The last status of the source