Maestro Audio Framework v 1.7
NXP Semiconductors
Loading...
Searching...
No Matches
streamer_msg.c File Reference

Implementation of streamer message handlers. More...

#include <string.h>
#include "pipeline.h"
#include "file_src_freertos.h"
#include "streamer_element_properties.h"

Data Structures

struct  ElementPropertyLookup
 Element index and property. More...
 
#define ELEMENT_NOT_USED   (-1)
 Element not used index.
 
static ElementPropertyLookup property_lookup_table []
 
int streamer_msg_get_track_info (STREAMER_T *streamer, void *msg_data)
 Streamer Get Track Inforamtion from a pipeline.
 
int streamer_msg_set_state (STREAMER_T *task_data, void *msg_data)
 Streamer Set Pipeline State.
 
int streamer_msg_get_state (STREAMER_T *task_data, void *msg_data)
 Streamer Get State.
 
int streamer_msg_send_query (STREAMER_T *task_data, void *msg_data)
 Streamer Send Query.
 
int streamer_msg_seek_pipeline (STREAMER_T *task_data, void *msg_data)
 Streamer Seek Pipeline.
 
static int streamer_get_element_index (STREAMER_T *task_data, ELEMENT_PROPERTY_T property)
 Streamer get element index.
 
int streamer_msg_set_property (STREAMER_T *task_data, void *msg_data)
 Streamer Set Property.
 
int streamer_msg_get_property (STREAMER_T *task_data, void *msg_data)
 Streamer Get Property.
 
int streamer_msg_set_file (STREAMER_T *task_data, void *msg_data)
 Streamer message set file.
 
int streamer_msg_set_repeat (STREAMER_T *task_data, void *msg_data)
 Streamer Set Pipeline State.
 

Function Documentation

◆ streamer_msg_get_track_info()

int streamer_msg_get_track_info ( STREAMER_T * streamer,
void * msg_data )

Handles request to get track information from a pipeline object.

Parameters
[in]streamerPointer to streamer structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKState retrieved successfully.
STREAM_ERR_INVALID_ARGSInvalid pipeline object

◆ streamer_msg_set_state()

int streamer_msg_set_state ( STREAMER_T * task_data,
void * msg_data )

Handles request to set the state of a pipeline object.

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKState retrieved successfully.
STREAM_ERR_INVALID_ARGSInvalid pipeline object

◆ streamer_msg_get_state()

int streamer_msg_get_state ( STREAMER_T * task_data,
void * msg_data )

Handles request to get the state of a pipeline object. State will be sent back to the application through the callback function.

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKSuccess
STREAM_ERR_INVALID_ARGSInvalid argument

◆ streamer_msg_send_query()

int streamer_msg_send_query ( STREAMER_T * task_data,
void * msg_data )

Handles request to send a query to a pipeline object. Query data is returned through the callback function.

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKQuery successful
STREAM_ERR_INFO_ABSENTQuery unsuccessful. Info not present
STREAM_ERR_INVALID_ARGSInvalid pipeline object

◆ streamer_msg_seek_pipeline()

int streamer_msg_seek_pipeline ( STREAMER_T * task_data,
void * msg_data )

Handles request to seek to a specified time in an audio stream

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKSeek successful
STREAM_ERR_INVALID_ARGSInvalid Pipeline object
STREAM_ERR_NOT_SEEKABLEPipeline does not support seeking

◆ streamer_get_element_index()

static int streamer_get_element_index ( STREAMER_T * task_data,
ELEMENT_PROPERTY_T property )
static
Parameters
task_datastreamer object
propertyelement property
Returns
int

◆ streamer_msg_set_property()

int streamer_msg_set_property ( STREAMER_T * task_data,
void * msg_data )

Set an element specific property value

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKProperty successfully set.
STREAM_ERR_INVALID_ARGSInvalid arguments

◆ streamer_msg_get_property()

int streamer_msg_get_property ( STREAMER_T * task_data,
void * msg_data )

Get an element specific property value

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKProperty successfully retrieved.
STREAM_ERR_INVALID_ARGSInvalid arguments

◆ streamer_msg_set_file()

int streamer_msg_set_file ( STREAMER_T * task_data,
void * msg_data )
Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKProperty successfully retrieved.
STREAM_ERR_INVALID_ARGSInvalid arguments

◆ streamer_msg_set_repeat()

int streamer_msg_set_repeat ( STREAMER_T * task_data,
void * msg_data )

Handles request to set the state of a pipeline object.

Parameters
[in]task_dataPointer to task data structure
[in]msg_dataPointer to Message Data
Returns
Error Status
Return values
STREAM_OKState retrieved successfully.
STREAM_ERR_INVALID_ARGSInvalid pipeline object

Variable Documentation

◆ property_lookup_table

ElementPropertyLookup property_lookup_table[]
static
Initial value:
= {{PROP_MICROPHONE_MASK, ELEMENT_MICROPHONE_INDEX},
{PROP_FILESRC_MASK, ELEMENT_FILE_SRC_INDEX},
{PROP_MEMSRC_MASK, ELEMENT_MEM_SRC_INDEX},
{PROP_NETBUFSRC_MASK, ELEMENT_NETBUF_SRC_INDEX},
{PROP_DECODER_MASK, ELEMENT_DECODER_INDEX},
{PROP_SPEAKER_MASK, ELEMENT_SPEAKER_INDEX},
{PROP_FILESINK_MASK, ELEMENT_FILE_SINK_INDEX},
{PROP_MEMSINK_MASK, ELEMENT_MEM_SINK_INDEX},
{PROP_VITSINK_MASK, ELEMENT_VIT_INDEX},
{PROP_VIT_PROC_MASK, ELEMENT_VIT_PROC_INDEX},
{PROP_VOICESEEKER_MASK, ELEMENT_VOICESEEKER_INDEX},
{PROP_SRC_MASK, ELEMENT_SRC_INDEX},
{PROP_ENCODER_MASK, ELEMENT_ENCODER_INDEX},
{PROP_USB_SRC_MASK, ELEMENT_USB_SRC_INDEX},
{PROP_USB_SINK_MASK, ELEMENT_USB_SINK_INDEX},
{PROP_ASRC_MASK, ELEMENT_ASRC_INDEX}}

This table is used to indentify which element in the pipeline a property is associated with. Properties can be used to configure the individual pipeline elements.