Maestro Audio Framework v 1.7
NXP Semiconductors
|
This file contains the implementation for the Vit Sink. More...
#include <string.h>
#include "vit_sink.h"
#include "pipeline.h"
#include "streamer_element_properties.h"
Functions | |
static uint8_t | vitsink_sink_pad_activation_handler (StreamPad *pad, uint8_t active) |
This function activates the sink pad and allocates memory for the vit sink element. | |
static FlowReturn | vitsink_sink_pad_chain_handler (StreamPad *pad, StreamBuffer *buf) |
This pad function takes data from the source element and pushes it onto the VIT library. The VIT sink requires currently precise data buffer size. | |
static uint8_t | vitsink_sink_pad_event_handler (StreamPad *pad, StreamEvent *event) |
This function processes the pad events. | |
static int32_t | vitsink_change_state (StreamElement *element_ptr, PipelineState new_state) |
This function changes the VIT sink state and calls the appropriate apis for that state and takes the actions and then returns. PipelineState Transition: NULL to READY: Nothing to do READY to PAUSE: Activate sink pads and their peer pads PAUSE to PLAY: Start Writing PAUSE to READY: Deactivate sink pads and their peer pads READY to NULL: Nothing to do. | |
static uint8_t | vitsink_sink_pad_query_handler (StreamPad *pad, StreamQuery *query) |
This pad function handles query from the pipeline. If not able to handle the query then it pushes the query to its peer. | |
static int32_t | vitsink_set_property (StreamElement *element_ptr, uint16_t prop, uint32_t val) |
This function sets VIT sink element's properties. | |
static int32_t | vitsink_get_property (StreamElement *element_ptr, uint16_t prop, uint32_t *val_ptr) |
This function gets VIT sink element's properties. | |
int32_t | vitsink_init_element (StreamElement *element_ptr) |
This function initializes the vit sink element and sink pads. | |
int32_t | vitsink_set_buffer (ElementHandle element_hdl, char *location_ptr, uint32_t size) |
Set the location of the memory buffer to write to as well as the size. | |
int32_t | vitsink_set_raw_write_mode (ElementHandle element_hdl, uint8_t raw_write_mode) |
This function sets the raw write mode or the packet header mode to write to memory. (write_mode == true) means only data will be written (no packet headers) (write_mode == false) means packet header will be written aOSA_LONG with data. | |
int32_t | vit_register_ext_processing (ElementHandle element, VitSinkInitFunc init_func_ptr, VitSinkPostProcFunc proc_func_ptr, VitSinkDeinitFunc deinit_func_ptr, void *arg_ptr) |
Register external processing function and argument pointers. | |
|
static |
pad | pad handle |
active | boolean activate/disactivate pad |
true | success |
false | failed |
|
static |
pad | pad handle |
buf | input buffer |
FLOW_OK | success |
FLOW_UNEXPECTED | bad paramesters |
FLOW_ERROR | write failed |
|
static |
pad | pad handle |
event | event enumeration |
true | success |
false | failed |
|
static |
element_ptr | element |
new_state | vit sink state to be changed |
STREAM_OK | success |
STREAM_ERR_INVALID_ARGS | invalid arguments |
|
static |
pad | pad handle |
query | input buffer |
|
static |
element_ptr | VIT sink element instance |
prop | properties |
val | parameters |
STREAM_OK | success |
STREAM_ERR_INFO_ABSENT | unknown property |
STREAM_GENERAL | bad status to set the property |
|
static |
element_ptr | audio sink element instance |
prop | properties |
val_ptr | parameters |
STREAM_OK | success |
STREAM_ERR_INVALID_ARGS | bad arguments |
STREAM_ERR_INFO_ABSENT | unknown property |
int32_t vitsink_init_element | ( | StreamElement * | element_ptr | ) |
element_ptr | pointer of memory sink element instance |
STREAM_OK | success |
STREAM_ERR_ELEMENT_NOT_FOUND | invalid instance pointer of element_ptr |
int32_t vitsink_set_buffer | ( | ElementHandle | element_hdl, |
char * | location_ptr, | ||
uint32_t | size ) |
element_hdl | element handle |
location_ptr | location path |
size | memory buffer size |
STREAM_OK | success |
STREAM_ERR_INVALID_ARGS | invalid parameters |
STREAM_ERR_GENERAL | status is bigger than or equal to STATE_PAUSED |
int32_t vitsink_set_raw_write_mode | ( | ElementHandle | element_hdl, |
uint8_t | raw_write_mode ) |
element_hdl | element handle |
raw_write_mode | write mode raw (or) packet header |
STREAM_OK | success |
STREAM_ERR_INVALID_ARGS | invalid arguments |
STREAM_ERR_GENERAL | value is bigger than or equal to STATE_PAUSED |
int32_t vit_register_ext_processing | ( | ElementHandle | element, |
VitSinkInitFunc | init_func_ptr, | ||
VitSinkPostProcFunc | proc_func_ptr, | ||
VitSinkDeinitFunc | deinit_func_ptr, | ||
void * | arg_ptr ) |
element | VIT element handle |
init_func_ptr | Init function pointer |
proc_func_ptr | Process function pointer |
deinit_func_ptr | Deinit function pointer |
arg_ptr | Arguments pointer |