FreeCalypso > hg > fc-tourmaline
diff src/ui/mfw/mfw_aud.h @ 3:67bfe9f274f6
src/ui: import of src/ui3 from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:33:10 +0000 |
parents | |
children | 92abb46dc1ba |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui/mfw/mfw_aud.h Fri Oct 16 06:33:10 2020 +0000 @@ -0,0 +1,119 @@ +/* ++--------------------------------------------------------------------+ +| PROJECT: MMI-Framework (8417) $Workfile:: mfw_aud.h $| +| $Author:: NDH $Revision:: 1 $| +| CREATED: 04.02.03 $Modtime:: 10.04.00 14:58 $| +| STATE : code | ++--------------------------------------------------------------------+ + + MODULE : MFW_AUD + + PURPOSE : This module contains the definitions for the Audio Riveria Interface. + + HISTORY: + Mar 31, 2006 ER: OMAPS00067709 x0pleela + Description: Voice Buffering implementation on C+ for PTT via PCM API + Solution: Added new field play_stopped to voice buffering data to keep a check before + calling play stop during end call + + Mar 15, 2006 ER: OMAPS00067709 x0pleela + Description: Voice Buffering implementation on C+ for PTT via PCM API + Solution: Defined new macro for PTT number length + Defined new Enumeration "T_VOICEMEMO" (which defines different types of voice memo) + and "T_VOICE_BUFFERING_STATUS" (Voice buffering status) + Defined new structure "T_voice_buffering" to handle diferent scenarios during voice buffering + Added prototypes of functions set_voice_memo_type, get_voice_memo_type, + set_voice_buffering_rec_stop_reason. + +*/ +#ifdef FF_PCM_VM_VB +#include "mfw_mfw.h" + +//x0pleela 09 Mar, 2006 ER: OMAPS00067709 +//PTT number length +#define PTT_NUM_LEN 45 + +//x0pleela 20 Mar, 2006 ER OMAPS00067709 +//Maximum recording and playing duration for PCM voice memo and voice buffering +#define PCM_VOICE_MEMO_MAX_DURATION 20 // 20 Secs + +//x0pleela 28 Feb, 2006 ER: OMAPS00067709 +//Enums to define different types of voice memo +typedef enum +{ + NONE = 0, + AMR_VOICE_MEMO, + PCM_VOICE_MEMO, + VOICE_BUFFERING +}T_VOICEMEMO; + +//x0pleela 09 Mar, 2006 ER: OMAPS00067709 +//Voice buffering status +typedef enum +{ + VB_NONE, /* Reset value */ + USER_SEL_STOP, /* User has selected "STOP" option from menu */ + CALLING_PARTY_END_CALL, /* User has ended the PTT call */ + CALLED_PARTY_END_CALL, /* Called party has ended the call */ + RECORDING_TIMEOUT, /* Timeout of recording */ + PLAY_ERROR, /* Error while playing */ + CALLED_PARTY_NOT_AVAILABLE, /* Called party not reachable */ + CALL_END_BEF_SETUP /* Called party ended call before call setup */ +}T_VOICE_BUFFERING_STATUS; + +//Voice buffering structure +typedef struct +{ + T_MFW_HND win_hnd; /* window handler to display dialogs */ + T_MFW_HND voice_buffering_tim; /* voice buffering timer handle */ + UBYTE vb_PTTnum[PTT_NUM_LEN]; /* PTT number to be dialed */ + T_VOICE_BUFFERING_STATUS rec_stop_reason; /* Reason for calling record_stop function */ + UBYTE call_active; /* States whether call is active or not */ + UBYTE recording_possible; /* States whether recording is possible or not */ + UBYTE buffering_phase; /* States whether in buffering phase or not */ + UBYTE incoming_call_discon; /* States the call disconnect of incoming call */ + UBYTE play_stopped; /* States whether play has stopped or not */ +}T_voice_buffering; + +//x0pleela 06 Mar, 2006 ER:OMAPS00067709 +//To set the type of voice memo +void set_voice_memo_type( T_VOICEMEMO voice_memo_type); +//To get the type of voice memo +EXTERN T_VOICEMEMO get_voice_memo_type( void); +//x0pleela 09 Mar, 2006 ER:OMAPS00067709 +//To set reason for calling record_stop +EXTERN void set_voice_buffering_rec_stop_reason( T_VOICE_BUFFERING_STATUS reason); + +#endif + +/* +** Voice Memo Functions Prototypes +*/ +#ifndef FF_NO_VOICE_MEMO +SHORT mfw_aud_vm_delete_file(void); +SHORT mfw_aud_vm_start_playback(void (*callback_fn)(void *)); +SHORT mfw_aud_vm_stop_playback(void (*callback_fn)(void *)); +SHORT mfw_aud_vm_start_record(UBYTE max_duration, void (*callback_fn)(void *)); +SHORT mfw_aud_vm_stop_record(void (*callback_fn)(void *)); +UBYTE mfw_aud_vm_get_duration(void); +void mfw_aud_vm_set_duration(UBYTE duration); +#endif + +/* +** Layer1 Audio interface functions +*/ +void mfw_aud_l1_enable_vocoder ( void ); +void mfw_aud_l1_disable_vocoder ( void ); + + + +/* +** Voice Memo Return Values +*/ +#ifndef FF_NO_VOICE_MEMO +#define MFW_AUD_VM_OK (0) +#define MFW_AUD_VM_RIVIERA_FAILED (-1) +#define MFW_AUD_VM_MEM_FULL (-2) +#define MFW_AUD_VM_MEM_EMPTY (-3) +#endif +