Snapdragon® Telematics Application Framework (TelAF) Interface Specification
taf_audio_server.c File Reference

Data Structures

struct  _ServerData_t
 

Macros

#define HIGH_SERVER_DATA_COUNT   3
 
#define _LOCK   LE_ASSERT(pthread_mutex_lock(&_Mutex) == 0);
 
#define _UNLOCK   LE_ASSERT(pthread_mutex_unlock(&_Mutex) == 0);
 
#define TRACE(...)
 
#define IS_TRACE_ENABLED   0
 

Typedefs

typedef void(* RemoveHandlerFunc_t) (void *handlerRef)
 

Functions

 LE_MEM_DEFINE_STATIC_POOL (taf_audio_ServerData, HIGH_SERVER_DATA_COUNT, sizeof(_ServerData_t))
 
 LE_REF_DEFINE_STATIC_MAP (taf_audio_ServerHandlers, LE_MEM_BLOCKS(taf_audio_ServerCmd, HIGH_SERVER_DATA_COUNT))
 
 __attribute__ ((unused))
 [in] Not used More...
 
le_msg_ServiceRef_t taf_audio_GetServiceRef (void)
 
le_msg_SessionRef_t taf_audio_GetClientSessionRef (void)
 
void taf_audio_AdvertiseService (void)
 
static void Handle_taf_audio_Close (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_CreateConnector (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_DeleteConnector (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_Connect (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_Disconnect (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenSpeaker (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenMic (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenModemVoiceRx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenModemVoiceTx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_PlayDtmf (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_Mute (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_Unmute (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenPlayer (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_PlayFile (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenRecorder (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_RecordFile (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_audio_AddMediaHandler (taf_audio_StreamRef_t streamRef, taf_audio_MediaEvent_t event, void *contextPtr)
 
static void Handle_taf_audio_AddMediaHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_RemoveMediaHandler (le_msg_MessageRef_t _msgRef)
 
static void AsyncResponse_taf_audio_AddDtmfDetectorHandler (taf_audio_StreamRef_t streamRef, char dtmf, void *contextPtr)
 
static void Handle_taf_audio_AddDtmfDetectorHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_RemoveDtmfDetectorHandler (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_Stop (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_SetGain (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_GetGain (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_EnableNoiseSuppressor (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_EnableEchoCanceller (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_DisableNoiseSuppressor (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_DisableEchoCanceller (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_IsEchoCancellerEnabled (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_IsNoiseSuppressorEnabled (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenI2sRx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenI2sTx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenPcmRx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_OpenPcmTx (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_SetSamplePcmSamplingRate (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_GetSamplePcmSamplingRate (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_SetSamplePcmChannelNumber (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_GetSamplePcmChannelNumber (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_SetEncodingFormat (le_msg_MessageRef_t _msgRef)
 
static void Handle_taf_audio_GetEncodingFormat (le_msg_MessageRef_t _msgRef)
 
static void ServerMsgRecvHandler (le_msg_MessageRef_t msgRef, void *contextPtr)
 

Variables

static le_mem_PoolRef_t _ServerDataPool
 
static le_ref_MapRef_t _HandlerRefMap
 

Macro Definition Documentation

◆ HIGH_SERVER_DATA_COUNT

#define HIGH_SERVER_DATA_COUNT   3

Expected number of simultaneous server data objects.

◆ _LOCK

#define _LOCK   LE_ASSERT(pthread_mutex_lock(&_Mutex) == 0);

◆ _UNLOCK

#define _UNLOCK   LE_ASSERT(pthread_mutex_unlock(&_Mutex) == 0);

◆ TRACE

#define TRACE (   ...)

Trace reference used for controlling tracing in this module.

◆ IS_TRACE_ENABLED

#define IS_TRACE_ENABLED   0

Typedef Documentation

◆ RemoveHandlerFunc_t

typedef void(* RemoveHandlerFunc_t) (void *handlerRef)

Type definition for generic function to remove a handler, given the handler ref.

Function Documentation

◆ LE_MEM_DEFINE_STATIC_POOL()

LE_MEM_DEFINE_STATIC_POOL ( taf_audio_ServerData  ,
HIGH_SERVER_DATA_COUNT  ,
sizeof(_ServerData_t  
)

Static pool for server data objects

◆ LE_REF_DEFINE_STATIC_MAP()

LE_REF_DEFINE_STATIC_MAP ( taf_audio_ServerHandlers  ,
LE_MEM_BLOCKS(taf_audio_ServerCmd, HIGH_SERVER_DATA_COUNT  
)

Static safe reference map for use with Add/Remove handler references

◆ __attribute__()

__attribute__ ( (unused)  )

[in] Not used

[in] Reference to the message.

Mutex and associated macros for use with the above HandlerRefMap.

Unused attribute is needed because this variable may not always get used. Per-server data:

  • Server service reference
  • Server thread reference
  • Client session reference

Cleanup client data if the client is no longer connected

Send the message to the client (queued version)

This is a wrapper around le_msg_Send() with an extra parameter so that it can be used with le_event_QueueFunctionToThread().

Send the message to the client.

◆ taf_audio_GetServiceRef()

le_msg_ServiceRef_t taf_audio_GetServiceRef ( void  )

Get the server service reference

◆ taf_audio_GetClientSessionRef()

le_msg_SessionRef_t taf_audio_GetClientSessionRef ( void  )

Get the client session reference for the current message

◆ taf_audio_AdvertiseService()

void taf_audio_AdvertiseService ( void  )

Initialize the server and advertise the service.

◆ Handle_taf_audio_Close()

static void Handle_taf_audio_Close ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_CreateConnector()

static void Handle_taf_audio_CreateConnector ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_DeleteConnector()

static void Handle_taf_audio_DeleteConnector ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_Connect()

static void Handle_taf_audio_Connect ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_Disconnect()

static void Handle_taf_audio_Disconnect ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenSpeaker()

static void Handle_taf_audio_OpenSpeaker ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenMic()

static void Handle_taf_audio_OpenMic ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenModemVoiceRx()

static void Handle_taf_audio_OpenModemVoiceRx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenModemVoiceTx()

static void Handle_taf_audio_OpenModemVoiceTx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_PlayDtmf()

static void Handle_taf_audio_PlayDtmf ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_Mute()

static void Handle_taf_audio_Mute ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_Unmute()

static void Handle_taf_audio_Unmute ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenPlayer()

static void Handle_taf_audio_OpenPlayer ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_PlayFile()

static void Handle_taf_audio_PlayFile ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenRecorder()

static void Handle_taf_audio_OpenRecorder ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_RecordFile()

static void Handle_taf_audio_RecordFile ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_audio_AddMediaHandler()

static void AsyncResponse_taf_audio_AddMediaHandler ( taf_audio_StreamRef_t  streamRef,
taf_audio_MediaEvent_t  event,
void *  contextPtr 
)
static

◆ Handle_taf_audio_AddMediaHandler()

static void Handle_taf_audio_AddMediaHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_RemoveMediaHandler()

static void Handle_taf_audio_RemoveMediaHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ AsyncResponse_taf_audio_AddDtmfDetectorHandler()

static void AsyncResponse_taf_audio_AddDtmfDetectorHandler ( taf_audio_StreamRef_t  streamRef,
char  dtmf,
void *  contextPtr 
)
static

◆ Handle_taf_audio_AddDtmfDetectorHandler()

static void Handle_taf_audio_AddDtmfDetectorHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_RemoveDtmfDetectorHandler()

static void Handle_taf_audio_RemoveDtmfDetectorHandler ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_Stop()

static void Handle_taf_audio_Stop ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_SetGain()

static void Handle_taf_audio_SetGain ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_GetGain()

static void Handle_taf_audio_GetGain ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_EnableNoiseSuppressor()

static void Handle_taf_audio_EnableNoiseSuppressor ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_EnableEchoCanceller()

static void Handle_taf_audio_EnableEchoCanceller ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_DisableNoiseSuppressor()

static void Handle_taf_audio_DisableNoiseSuppressor ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_DisableEchoCanceller()

static void Handle_taf_audio_DisableEchoCanceller ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_IsEchoCancellerEnabled()

static void Handle_taf_audio_IsEchoCancellerEnabled ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_IsNoiseSuppressorEnabled()

static void Handle_taf_audio_IsNoiseSuppressorEnabled ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenI2sRx()

static void Handle_taf_audio_OpenI2sRx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenI2sTx()

static void Handle_taf_audio_OpenI2sTx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenPcmRx()

static void Handle_taf_audio_OpenPcmRx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_OpenPcmTx()

static void Handle_taf_audio_OpenPcmTx ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_SetSamplePcmSamplingRate()

static void Handle_taf_audio_SetSamplePcmSamplingRate ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_GetSamplePcmSamplingRate()

static void Handle_taf_audio_GetSamplePcmSamplingRate ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_SetSamplePcmChannelNumber()

static void Handle_taf_audio_SetSamplePcmChannelNumber ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_GetSamplePcmChannelNumber()

static void Handle_taf_audio_GetSamplePcmChannelNumber ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_SetEncodingFormat()

static void Handle_taf_audio_SetEncodingFormat ( le_msg_MessageRef_t  _msgRef)
static

◆ Handle_taf_audio_GetEncodingFormat()

static void Handle_taf_audio_GetEncodingFormat ( le_msg_MessageRef_t  _msgRef)
static

◆ ServerMsgRecvHandler()

static void ServerMsgRecvHandler ( le_msg_MessageRef_t  msgRef,
void *  contextPtr 
)
static

Variable Documentation

◆ _ServerDataPool

le_mem_PoolRef_t _ServerDataPool
static

The memory pool for server data objects

◆ _HandlerRefMap

le_ref_MapRef_t _HandlerRefMap
static

Safe Reference Map for use with Add/Remove handler references

Warning
Use _Mutex, defined below, to protect accesses to this data.