|
gavl
|
Typedefs | |
| typedef struct gavl_audio_sink_s | gavl_audio_sink_t |
| Audio sink. More... | |
| typedef struct gavl_video_sink_s | gavl_video_sink_t |
| Video sink. More... | |
| typedef struct gavl_packet_sink_s | gavl_packet_sink_t |
| Packet sink. More... | |
| typedef gavl_audio_frame_t *(* | gavl_audio_sink_get_func )(void *priv) |
| Prototype for getting a frame buffer. More... | |
| typedef gavl_sink_status_t(* | gavl_audio_sink_put_func )(void *priv, gavl_audio_frame_t *f) |
| Prototype for putting a frame. More... | |
| typedef gavl_video_frame_t *(* | gavl_video_sink_get_func )(void *priv) |
| Prototype for getting a frame buffer. More... | |
| typedef gavl_sink_status_t(* | gavl_video_sink_put_func )(void *priv, gavl_video_frame_t *f) |
| Prototype for putting a frame. More... | |
| typedef gavl_packet_t *(* | gavl_packet_sink_get_func )(void *priv) |
| Prototype for getting a packet buffer. More... | |
| typedef gavl_sink_status_t(* | gavl_packet_sink_put_func )(void *priv, gavl_packet_t *p) |
| Prototype for putting a frame. More... | |
Enumerations | |
| enum | gavl_sink_status_t { GAVL_SINK_ERROR, GAVL_SINK_OK } |
| Return status of the sink functions. More... | |
This is a thin layer for a unified handling of A/V sinks. A sink can either supply a frame where the data could be copied or you pass a frame allocated by yourself to the sink. Sinks don't do format conversion. Instead you need to obtain the format and pass this to the source where you read data from.
| typedef struct gavl_audio_sink_s gavl_audio_sink_t |
Audio sink.
You don't want to know what's inside
| typedef struct gavl_video_sink_s gavl_video_sink_t |
Video sink.
You don't want to know what's inside
| typedef struct gavl_packet_sink_s gavl_packet_sink_t |
Packet sink.
You don't want to know what's inside
| typedef gavl_audio_frame_t*(* gavl_audio_sink_get_func)(void *priv) |
Prototype for getting a frame buffer.
| priv | Private data |
Sinks can use this to pass specially allocated buffers (e.g. shared or mmaped memory) to the client
| typedef gavl_sink_status_t(* gavl_audio_sink_put_func)(void *priv, gavl_audio_frame_t *f) |
Prototype for putting a frame.
| priv | Private data |
| f | An audio frame |
| typedef gavl_video_frame_t*(* gavl_video_sink_get_func)(void *priv) |
Prototype for getting a frame buffer.
| priv | Private data |
Sinks can use this to pass specially allocated buffers (e.g. shared or mmaped memory) to the client
| typedef gavl_sink_status_t(* gavl_video_sink_put_func)(void *priv, gavl_video_frame_t *f) |
Prototype for putting a frame.
| priv | Private data |
| f | A video frame |
| typedef gavl_packet_t*(* gavl_packet_sink_get_func)(void *priv) |
Prototype for getting a packet buffer.
| priv | Private data |
Sinks can use this to pass specially allocated buffers (e.g. shared or mmaped memory) to the client
| typedef gavl_sink_status_t(* gavl_packet_sink_put_func)(void *priv, gavl_packet_t *p) |
Prototype for putting a frame.
| priv | Private data |
| p | A packet |
| enum gavl_sink_status_t |
| GAVL_PUBLIC gavl_audio_sink_t* gavl_audio_sink_create | ( | gavl_audio_sink_get_func | get_func, |
| gavl_audio_sink_put_func | put_func, | ||
| void * | priv, | ||
| const gavl_audio_format_t * | format | ||
| ) |
Create an audio sink.
| get_func | Function for getting a frame buffer or NULL |
| put_func | Function for outputting a frame |
| priv | Client data to pass to get_func and put_func |
| format | Format in which we accept the data |
| GAVL_PUBLIC void gavl_audio_sink_set_lock_funcs | ( | gavl_audio_sink_t * | sink, |
| gavl_connector_lock_func_t | lock_func, | ||
| gavl_connector_lock_func_t | unlock_func, | ||
| void * | priv | ||
| ) |
Set lock functions.
| sink | An audio sink |
| lock_func | Function called before a packet is read |
| unlock_func | Function called after a packet is read |
| priv | Client data (e.g. a mutex) to pass to the functions |
| GAVL_PUBLIC const gavl_audio_format_t* gavl_audio_sink_get_format | ( | gavl_audio_sink_t * | s | ) |
Get the format.
| s | An audio sink |
| GAVL_PUBLIC gavl_audio_frame_t* gavl_audio_sink_get_frame | ( | gavl_audio_sink_t * | s | ) |
Get a buffer for a frame.
| s | An audio sink |
This function must be called before gavl_audio_sink_put_frame. If it returns non-NULL, the same frame must be passed to the next call to gavl_audio_sink_put_frame.
| GAVL_PUBLIC gavl_sink_status_t gavl_audio_sink_put_frame | ( | gavl_audio_sink_t * | s, |
| gavl_audio_frame_t * | f | ||
| ) |
Output a frame.
| s | An audio sink |
| f | Frame |
The frame must be the same as returned by the preceeding call to gavl_audio_sink_get_frame if it was not NULL.
| GAVL_PUBLIC void gavl_audio_sink_destroy | ( | gavl_audio_sink_t * | s | ) |
Destroy an audio sink.
| s | An audio sink |
| GAVL_PUBLIC gavl_video_sink_t* gavl_video_sink_create | ( | gavl_video_sink_get_func | get_func, |
| gavl_video_sink_put_func | put_func, | ||
| void * | priv, | ||
| const gavl_video_format_t * | format | ||
| ) |
Create a video sink.
| get_func | Function for getting a frame buffer or NULL |
| put_func | Function for outputting a frame |
| priv | Client data to pass to get_func and put_func |
| format | Format in which we accept the data |
| GAVL_PUBLIC void gavl_video_sink_set_lock_funcs | ( | gavl_video_sink_t * | sink, |
| gavl_connector_lock_func_t | lock_func, | ||
| gavl_connector_lock_func_t | unlock_func, | ||
| void * | priv | ||
| ) |
Set lock functions.
| sink | A video sink |
| lock_func | Function called before a packet is read |
| unlock_func | Function called after a packet is read |
| priv | Client data (e.g. a mutex) to pass to the functions |
| GAVL_PUBLIC const gavl_video_format_t* gavl_video_sink_get_format | ( | gavl_video_sink_t * | s | ) |
Get the format.
| s | A video sink |
| GAVL_PUBLIC gavl_video_frame_t* gavl_video_sink_get_frame | ( | gavl_video_sink_t * | s | ) |
Get a buffer for a frame.
| s | A video sink |
This function must be called before gavl_video_sink_put_frame. If it returns non-NULL, the same frame must be passed to the next call to gavl_video_sink_put_frame.
| GAVL_PUBLIC gavl_sink_status_t gavl_video_sink_put_frame | ( | gavl_video_sink_t * | s, |
| gavl_video_frame_t * | f | ||
| ) |
Output a frame.
| s | A video sink |
| f | Frame |
The frame must be the same as returned by the preceeding call to gavl_video_sink_get_frame if it was not NULL.
| GAVL_PUBLIC void gavl_video_sink_destroy | ( | gavl_video_sink_t * | s | ) |
Destroy a video sink.
| s | A video sink |
| GAVL_PUBLIC gavl_packet_sink_t* gavl_packet_sink_create | ( | gavl_packet_sink_get_func | get_func, |
| gavl_packet_sink_put_func | put_func, | ||
| void * | priv | ||
| ) |
Create a packet sink.
| get_func | Function for getting a packet buffer or NULL |
| put_func | Function for outputting a packet |
| priv | Client data to pass to get_func and put_func |
| GAVL_PUBLIC void gavl_packet_sink_set_lock_funcs | ( | gavl_packet_sink_t * | sink, |
| gavl_connector_lock_func_t | lock_func, | ||
| gavl_connector_lock_func_t | unlock_func, | ||
| void * | priv | ||
| ) |
Set lock functions.
| sink | A packet sink |
| lock_func | Function called before a packet is read |
| unlock_func | Function called after a packet is read |
| priv | Client data (e.g. a mutex) to pass to the functions |
| GAVL_PUBLIC gavl_packet_t* gavl_packet_sink_get_packet | ( | gavl_packet_sink_t * | s | ) |
Get a buffer for a packet.
| s | A packet sink |
This function must be called before gavl_packet_sink_put_packet. If it returns non-NULL, the same frame must be passed to the next call to gavl_packet_sink_put_packet.
| GAVL_PUBLIC gavl_sink_status_t gavl_packet_sink_put_packet | ( | gavl_packet_sink_t * | s, |
| gavl_packet_t * | p | ||
| ) |
Output a frame.
| s | A video sink |
| f | Frame |
The frame must be the same as returned by the preceeding call to gavl_video_sink_get_frame if it was not NULL.
| GAVL_PUBLIC void gavl_packet_sink_destroy | ( | gavl_packet_sink_t * | s | ) |
Destroy a packet sink.
| s | A packet sink |
1.8.6