gmerlin
Typedefs | Functions
A/V Converters

Typedefs

typedef struct bg_audio_converter_s bg_audio_converter_t
 Audio converter.
typedef struct bg_video_converter_s bg_video_converter_t
 Video converter.

Functions

bg_audio_converter_tbg_audio_converter_create (const gavl_audio_options_t *opt)
 Create an audio converter.
int bg_audio_converter_init (bg_audio_converter_t *cnv, const gavl_audio_format_t *in_format, const gavl_audio_format_t *out_format)
 Initialize an audio converter.
void bg_audio_converter_connect_input (bg_audio_converter_t *cnv, bg_read_audio_func_t func, void *priv, int stream)
 Set input callback of an audio converter.
int bg_audio_converter_read (void *priv, gavl_audio_frame_t *frame, int stream, int num_samples)
 Read samples from an audio converter.
void bg_audio_converter_destroy (bg_audio_converter_t *cnv)
 Destroy an audio converter and free all associated memory.
void bg_audio_converter_reset (bg_audio_converter_t *cnv)
 Reset an audio converter as if no samples have been processed since initialization.
bg_video_converter_tbg_video_converter_create (const gavl_video_options_t *opt)
 Create a video converter.
int bg_video_converter_init (bg_video_converter_t *cnv, const gavl_video_format_t *in_format, const gavl_video_format_t *out_format)
 Initialize a video converter.
void bg_video_converter_connect_input (bg_video_converter_t *cnv, bg_read_video_func_t func, void *priv, int stream)
 Set input callback of a video converter.
int bg_video_converter_read (void *priv, gavl_video_frame_t *frame, int stream)
 Read a video frame from a video converter.
void bg_video_converter_destroy (bg_video_converter_t *cnv)
 Destroy a video converter and free all associated memory.
void bg_video_converter_reset (bg_video_converter_t *cnv)
 Reset a video converter as if no samples have been processed since initialization.

Detailed Description

A/V converters, which can be plugged together with filters and input plugins. These are basically wrappers around the gavl_audio_converter_t and the gavl_video_converter_t with the difference, that they work asynchronous with the advantage, that the video converter can do framerate conversion as well.

The functions for reading A/V frames are compatible with the read functions of input plugins and filters for easy generation of processing pipelines.


Typedef Documentation

typedef struct bg_audio_converter_s bg_audio_converter_t

Audio converter.

Opaque audio converter structure. You don't want to know, what's inside.

typedef struct bg_video_converter_s bg_video_converter_t

Video converter.

Opaque video converter structure. You don't want to know, what's inside.


Function Documentation

Create an audio converter.

Parameters:
optAudio options

The options should be valid for the whole lifetime of the converter.

int bg_audio_converter_init ( bg_audio_converter_t cnv,
const gavl_audio_format_t in_format,
const gavl_audio_format_t out_format 
)

Initialize an audio converter.

Parameters:
cnvAn audio converter
in_formatInput format
out_formatOutput format
Returns:
The number of conversion steps

When this function returns 0 it means, that the converter can be bypassed. It should not be used then until the next initialization, which returns nonzero.

void bg_audio_converter_connect_input ( bg_audio_converter_t cnv,
bg_read_audio_func_t  func,
void *  priv,
int  stream 
)

Set input callback of an audio converter.

Parameters:
cnvAn audio converter
funcThe function to call
privThe private handle to pass to func
streamThe stream argument to pass to func
int bg_audio_converter_read ( void *  priv,
gavl_audio_frame_t frame,
int  stream,
int  num_samples 
)

Read samples from an audio converter.

Parameters:
privAn audio converter
frameAn audio frame
streamStream number (must be 0)
num_samplesNumber of samples to read
Returns:
The number of samples read. 0 means EOF.

This function can be used as an input callback for audio filters.

Destroy an audio converter and free all associated memory.

Parameters:
cnvAn audio converter

Reset an audio converter as if no samples have been processed since initialization.

Parameters:
cnvAn audio converter

Reset an audio converter as if no samples have been processed since initialization.

Create a video converter.

Parameters:
optVideo options

The options should be valid for the whole lifetime of the converter.

int bg_video_converter_init ( bg_video_converter_t cnv,
const gavl_video_format_t in_format,
const gavl_video_format_t out_format 
)

Initialize a video converter.

Parameters:
cnvA video converter
in_formatInput format
out_formatOutput format
Returns:
The number of conversion steps

When this function returns 0 it means, that the converter can be bypassed. It should not be used then until the next initialization, which returns nonzero.

void bg_video_converter_connect_input ( bg_video_converter_t cnv,
bg_read_video_func_t  func,
void *  priv,
int  stream 
)

Set input callback of a video converter.

Parameters:
cnvA video converter
funcThe function to call
privThe private handle to pass to func
streamThe stream argument to pass to func
int bg_video_converter_read ( void *  priv,
gavl_video_frame_t frame,
int  stream 
)

Read a video frame from a video converter.

Parameters:
privA video converter
frameA video frame
streamStream number (must be 0)
Returns:
1 if a frame was read, 0 means EOF.

This function can be used as an input callback for video filters.

Destroy a video converter and free all associated memory.

Parameters:
cnvA video converter

Reset a video converter as if no samples have been processed since initialization.

Parameters:
cnvA video converter

Reset a video converter as if no frame has been processed since initialization.