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

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.

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.

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.

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.

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.

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_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_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_PUBLIC void gavl_audio_connector_destroy ( gavl_audio_connector_t c)

Destroy an audio connector.

Parameters
cAn audio connector
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_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_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_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_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_PUBLIC void gavl_audio_connector_reset ( gavl_audio_connector_t c)

Reset an audio connector.

Parameters
cAn audio connector

Reset the audio connector.

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_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_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_PUBLIC void gavl_video_connector_destroy ( gavl_video_connector_t c)

Destroy a video connector.

Parameters
cA video connector
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_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_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_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_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_PUBLIC void gavl_video_connector_reset ( gavl_video_connector_t c)

Reset a video connector.

Parameters
cA video connector

Reset the video connector.

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_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_PUBLIC void gavl_packet_connector_destroy ( gavl_packet_connector_t c)

Destroy a packet connector.

Parameters
cA packet connector
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_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_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_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