FreeCalypso > hg > fc-selenite
annotate src/cs/services/audio/audio_vm_record.c @ 108:af6b7fcf7823
README: GPRS status update
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 23 Jul 2018 21:24:06 +0000 | 
| parents | 1eb391057168 | 
| children | 
| rev | line source | 
|---|---|
| 0 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /****************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 /* File Name: audio_vm_record.c */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 /* Purpose: This file contains all the functions used to manage the */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 /* Voice Memorization recording task. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 /* Version 0.1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 /* Date Modification */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 /* ------------------------------------ */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 /* 1 August 2001 Create */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 /* Author */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 /* Stephanie Gerthoux */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 /****************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 #include "rv/rv_defined_swe.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #ifdef RVM_AUDIO_MAIN_SWE | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #include "config/swconfig.cfg" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #include "config/sys.cfg" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #include "config/chipset.cfg" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 /* include the usefull L1 header */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include "l1_confg.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #if (VOICE_MEMO) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include <math.h> | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "rv/rv_general.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "rvm/rvm_gen.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "audio/audio_features_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #include "audio/audio_ffs_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "audio/audio_api.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #include "audio/audio_structs_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #include "audio/audio_var_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "audio/audio_messages_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include "rvf/rvf_target.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "audio/audio_const_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "audio/audio_error_hdlr_i.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 /* include the usefull L1 header */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 #define BOOL_FLAG | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 #define CHAR_FLAG | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 #include "l1_types.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 #include "l1audio_cust.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 #include "l1audio_msgty.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 #include "l1audio_signa.h" | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 /* Function Name: audio_vm_record_send_status */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 /* Purpose: This function sends the voice memorization record status */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 /* to the entity. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 /* Input Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 /* status, */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 /* return path */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 /* Output Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 /* Note: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 /* Revision History: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 void audio_vm_record_send_status ( T_AUDIO_RET status, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 UINT32 recorded_size, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 T_RV_RETURN return_path) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 void *p_send_message; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 T_RVF_MB_STATUS mb_status = RVF_RED; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 while (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 /* allocate the message buffer */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 mb_status = rvf_get_buf (p_audio_gbl_var->mb_external, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 sizeof (T_AUDIO_VM_RECORD_STATUS), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 (T_RVF_BUFFER **) (&p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 /* If insufficient resources, then report a memory error and abort. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 /* and wait until more ressource is given */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 if (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 audio_voice_memo_error_trace(AUDIO_ENTITY_NO_MEMORY); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 rvf_delay(RVF_MS_TO_TICKS(1000)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 /*fill the header of the message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 ((T_AUDIO_VM_RECORD_STATUS *)(p_send_message))->os_hdr.msg_id = AUDIO_VM_RECORD_STATUS_MSG; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 /* fill the status parameters */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 ((T_AUDIO_VM_RECORD_STATUS *)(p_send_message))->status = status; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 if (recorded_size == 0) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 ((T_AUDIO_VM_RECORD_STATUS *)(p_send_message))->recorded_duration = 0; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 else | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 ((T_AUDIO_VM_RECORD_STATUS *)(p_send_message))->recorded_duration = (UINT16)((recorded_size - 1) / 1000); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 if (return_path.callback_func == NULL) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 /* send the message to the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 rvf_send_msg (return_path.addr_id, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 else | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 /* call the callback function */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 (*return_path.callback_func)((void *)(p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 rvf_free_buf((T_RVF_BUFFER *)p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 /* Function Name: audio_vm_record_convert_parameter */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 /* Purpose: Convert the voice memorization record parameters from the */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 /* entity to the l1 parameters */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 /* Input Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 /* session_id of the voice memo record */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 /* id of the voice memo record */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 /* Output Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 /* layer 1 voice memo record message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 /* Note: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 /* Revision History: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 void audio_vm_record_convert_parameter( UINT8 channel_id, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 T_AUDIO_VM_RECORD_START *entity_parameter, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 T_MMI_VM_RECORD_REQ *l1_parameter) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 double frequency_index, frequency_beep, amplitude_beep, amplitude, amplitude_index; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 /* session id : specifies the customer data identification corresponding to */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 /* this voice memorization */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 l1_parameter->session_id = channel_id; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 l1_parameter->maximum_size = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 (entity_parameter->memo_duration)*1000 + 1; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 l1_parameter->dtx_used = (BOOL)(entity_parameter->compression_mode); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 l1_parameter->record_coeff_ul = (UINT16)(entity_parameter->microphone_gain); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 l1_parameter->record_coeff_dl = (UINT16)(entity_parameter->network_gain); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 /* Calculation of the frequency index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 frequency_beep = (double)(entity_parameter->tones_parameter.tones[0].frequency_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 frequency_index = (256 * cos(6.283185*(frequency_beep/8000))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 /* Calculation of the amplitude index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 amplitude_beep = (double)(entity_parameter->tones_parameter.tones[0].amplitude_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 amplitude = exp((amplitude_beep*0.115129)+(5.544625)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 amplitude_index = amplitude * sin(6.283185*(frequency_beep/8000)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 l1_parameter->d_k_x1_t0 = (UINT16)((((UINT16)(frequency_index))<<8) | ((UINT16)(amplitude_index))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 /* Calculation of the frequency index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 frequency_beep = (double)(entity_parameter->tones_parameter.tones[1].frequency_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 frequency_index = (256 * cos(6.283185*(frequency_beep/8000))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 /* Calculation of the amplitude index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 amplitude_beep = (double)(entity_parameter->tones_parameter.tones[1].amplitude_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 amplitude = exp((amplitude_beep*0.115129)+(5.544625)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 amplitude_index = amplitude * sin(6.283185*(frequency_beep/8000)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 l1_parameter->d_k_x1_t1 = (UINT16)((((UINT16)(frequency_index))<<8) | ((UINT16)(amplitude_index))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 /* Calculation of the frequency index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 frequency_beep = (double)(entity_parameter->tones_parameter.tones[2].frequency_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 frequency_index = (256 * cos(6.283185*(frequency_beep/8000))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 /* Calculation of the amplitude index */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 /* note: we /* add +0.5 to compensate the truncation */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 amplitude_beep = (double)(entity_parameter->tones_parameter.tones[2].amplitude_tone); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 amplitude = exp((amplitude_beep*0.115129)+(5.544625)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 amplitude_index = amplitude * sin(6.283185*(frequency_beep/8000)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 l1_parameter->d_k_x1_t2 = (UINT16)((((UINT16)(frequency_index))<<8) | ((UINT16)(amplitude_index))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 l1_parameter->d_t0_on = (UINT16)((entity_parameter->tones_parameter.tones[0].start_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 l1_parameter->d_t1_on = (UINT16)((entity_parameter->tones_parameter.tones[1].start_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 l1_parameter->d_t2_on = (UINT16)((entity_parameter->tones_parameter.tones[2].start_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 l1_parameter->d_t0_off = (UINT16)((entity_parameter->tones_parameter.tones[0].stop_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 l1_parameter->d_t1_off = (UINT16)((entity_parameter->tones_parameter.tones[1].stop_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 l1_parameter->d_t2_off = (UINT16)((entity_parameter->tones_parameter.tones[2].stop_tone)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 l1_parameter->d_bu_off = (UINT16)((entity_parameter->tones_parameter.frame_duration)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 l1_parameter->d_se_off = (UINT16)((entity_parameter->tones_parameter.sequence_duration)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 l1_parameter->d_pe_off = (UINT16)((entity_parameter->tones_parameter.period_duration)/20); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 l1_parameter->d_pe_rep = entity_parameter->tones_parameter.repetition; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 /* Function Name: audio_vm_record_manager */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 /* Purpose: This function is called to manage a voice memorization record */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 /* manager */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 /* Input Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 /* Message to the audio entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 /* Output Parameters: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 /* Note: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 /* Revision History: */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 /* None. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 /* */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 /********************************************************************************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 void audio_vm_record_manager (T_RV_HDR *p_message) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 /* Declare local variables. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 void *p_send_message; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 T_RVF_MB_STATUS mb_status; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 /**************** audio_vm_record_manager function begins ***********************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 switch(p_audio_gbl_var->vm_record.state) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 case AUDIO_VM_RECORD_IDLE: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 /* save the task id of the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 p_audio_gbl_var->vm_record.task_id = p_message->src_addr_id; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 /* save the return path */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 p_audio_gbl_var->vm_record.return_path.callback_func = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 ((T_AUDIO_VM_RECORD_START*)(p_message))->return_path.callback_func; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 p_audio_gbl_var->vm_record.return_path.addr_id = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 ((T_AUDIO_VM_RECORD_START*)(p_message))->return_path.addr_id; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 /* Send the Start message to the FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 /* allocate the message buffer */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 mb_status = rvf_get_buf (p_audio_gbl_var->mb_internal, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 sizeof (T_AUDIO_FFS_RAM_2_FLASH_START), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 (T_RVF_BUFFER **) (&p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 /* If insufficient resources, then report a memory error and abort. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 if (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 audio_voice_memo_error_trace(AUDIO_ENTITY_NO_MEMORY); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 /* fill the header of the message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 ((T_AUDIO_FFS_RAM_2_FLASH_START *)(p_send_message))->os_hdr.msg_id = AUDIO_FFS_RAM_2_FLASH_START_REQ; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 /* fill the parameters */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 ((T_AUDIO_FFS_RAM_2_FLASH_START *)(p_send_message))->audio_ffs_fd = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 ((T_AUDIO_VM_RECORD_START*)(p_message))->audio_ffs_fd; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 ((T_AUDIO_FFS_RAM_2_FLASH_START *)(p_send_message))->initial_size = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 AUDIO_VM_RECORD_INITIAL_SIZE; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 ((T_AUDIO_FFS_RAM_2_FLASH_START *)(p_send_message))->session_id = AUDIO_FFS_SESSION_VM_RECORD; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 /* allocate the buffer for the message to the L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 p_audio_gbl_var->vm_record.p_l1_send_message = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 audio_allocate_l1_message(sizeof(T_MMI_VM_RECORD_REQ)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 if ( p_audio_gbl_var->vm_record.p_l1_send_message != NULL ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 /* Convert the entity parameters to the audio L1 parameters */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 audio_vm_record_convert_parameter( ((T_AUDIO_FFS_RAM_2_FLASH_START *)(p_send_message))->session_id, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 ((T_AUDIO_VM_RECORD_START*)(p_message)), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 ((T_MMI_VM_RECORD_REQ *)(p_audio_gbl_var->vm_record.p_l1_send_message))); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 /* send the message to the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 rvf_send_msg ( p_audio_gbl_var->audio_ffs_addrId, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 /* change to the state AUDIO_VM_RECORD_WAIT_INIT_FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_INIT_FFS; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 /* A stop request is sent during a start connection */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 /* event error - send an error message, the recorded size is null */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 } /* case AUDIO_VM_RECORD_STOP_REQ */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 } /* case AUDIO_VM_RECORD_IDLE */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 case AUDIO_VM_RECORD_WAIT_INIT_FFS: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 case AUDIO_FFS_INIT_DONE: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 /* set the channel_id */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 ((T_MMI_VM_RECORD_REQ *)p_audio_gbl_var->vm_record.p_l1_send_message)->session_id = | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 ((T_AUDIO_FFS_INIT *)p_message)->channel_id; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 /* send the start voice memo record message to the L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 audio_send_l1_message( MMI_VM_RECORD_START_REQ, p_audio_gbl_var->vm_record.p_l1_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 /* change to the state AUDIO_VM_RECORD_WAIT_START_CONFIRMATION */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_START_CON; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 /*.Before stopping this task, control that */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 /* stop task id caller = Voice Memorization task id */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 if ( p_audio_gbl_var->vm_record.task_id == p_message->src_addr_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 /* Deallocate the L1 message previously allocated */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 audio_deallocate_l1_message(p_audio_gbl_var->vm_record.p_l1_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 /* change to the state AUDIO_VM_RECORD_WAIT_INIT_DONE */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_INIT_DONE; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 else | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 /* A stop request from an other task is sent during a start connection */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 /* event error - send an error message, the recorded size is null */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 } /* case AUDIO_VM_RECORD_STOP_REQ */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 } /* switch */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 } /* case AUDIO_VM_RECORD_E1_WAIT_INIT_FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 case AUDIO_VM_RECORD_WAIT_INIT_DONE: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 case AUDIO_FFS_INIT_DONE: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 /* Send FFS stop command */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 /* allocate the message buffer */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 mb_status = rvf_get_buf (p_audio_gbl_var->mb_internal, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 sizeof (T_AUDIO_FFS_STOP_REQ), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 (T_RVF_BUFFER **) (&p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 /* If insufficient resources, then report a memory error and abort. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 if (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 audio_voice_memo_error_trace(AUDIO_ENTITY_NO_MEMORY); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 /* fill the header of the message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->os_hdr.msg_id = AUDIO_FFS_STOP_REQ; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 /* fill the parameter */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->session_id = AUDIO_FFS_SESSION_VM_RECORD; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 /* send the message to the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 rvf_send_msg (p_audio_gbl_var->audio_ffs_addrId, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_FFS; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 } /* case AUDIO_VM_RECORD_WAIT_INIT_DONE*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 case AUDIO_VM_RECORD_WAIT_START_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 case MMI_VM_RECORD_START_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_COMMAND */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_COMMAND; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 { /*.Before stopping this task, control that */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 /* stop task id caller = voice memo task id */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 if ( p_audio_gbl_var->vm_record.task_id == p_message->src_addr_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_CONFIRMATION */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_START_CON_TO_STOP; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 else | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 /* A stop request from an other task is sent during a start connection */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 /* event error - send an error message, the recorded size is null */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 } /* case AUDIO_VM_RECORD_WAIT_START_CON */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 case AUDIO_VM_RECORD_WAIT_START_CON_TO_STOP: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 case MMI_VM_RECORD_START_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 /* send the stop command to the audio L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 /* allocate the buffer for the message to the L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 p_send_message = audio_allocate_l1_message(0); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 if ( p_send_message != NULL) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 /* send the stop command to the audio L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 audio_send_l1_message(MMI_VM_RECORD_STOP_REQ, p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_CON */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_CON; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 /* event error - send an error message the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 528 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 529 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 530 } /* case AUDIO_VM_RECORD_WAIT_START_CON_TO_STOP */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 531 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 532 case AUDIO_VM_RECORD_WAIT_STOP_COMMAND: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 533 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 534 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 535 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 536 case MMI_VM_RECORD_STOP_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 537 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 538 /* Send FFS stop command */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 539 /* allocate the message buffer */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 540 mb_status = rvf_get_buf (p_audio_gbl_var->mb_internal, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 541 sizeof (T_AUDIO_FFS_STOP_REQ), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 542 (T_RVF_BUFFER **) (&p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 543 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 544 /* If insufficient resources, then report a memory error and abort. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 545 if (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 546 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 547 audio_voice_memo_error_trace(AUDIO_ENTITY_NO_MEMORY); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 548 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 549 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 550 /* fill the header of the message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 551 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->os_hdr.msg_id = AUDIO_FFS_STOP_REQ; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 552 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 553 /* fill the parameter */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 554 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->session_id = AUDIO_FFS_SESSION_VM_RECORD; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 555 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 556 /* fill the recorded size */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 557 p_audio_gbl_var->vm_record.recorded_size = ((T_MMI_VM_RECORD_CON *)p_message)->recorded_size; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 558 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 559 /* send the message to the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 560 rvf_send_msg (p_audio_gbl_var->audio_ffs_addrId, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 561 p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 562 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 563 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 564 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_FFS; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 565 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 566 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 567 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 568 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 569 { /*.Before stopping this task, control that stop task id caller = Voice task id */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 570 if ( p_audio_gbl_var->vm_record.task_id == p_message->src_addr_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 571 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 572 /* send the stop command to the audio L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 573 /* allocate the buffer for the message to the L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 574 p_send_message = audio_allocate_l1_message(0); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 575 if (p_send_message != NULL) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 576 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 577 /* send the stop command to the audio L1 */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 578 audio_send_l1_message(MMI_VM_RECORD_STOP_REQ, p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 579 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 580 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 581 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_CONFIRMATION */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 582 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_CON; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 583 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 584 else | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 585 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 586 /* A stop request from an other task is sent during a start connection */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 587 /* event error - send an error message, the recorded size is null */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 588 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 589 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 590 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 591 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 592 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 593 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 594 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 595 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 596 /* A start request from an other task is sent during a start connection */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 597 /* event error - send an error message, the recorded size is null */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 598 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 599 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 600 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 601 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 602 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 603 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 604 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 605 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 606 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 607 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 608 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 609 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 610 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 611 } /* case AUDIO_VM_RECORD_WAIT_STOP_COMMAND */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 612 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 613 case AUDIO_VM_RECORD_WAIT_STOP_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 614 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 615 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 616 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 617 case MMI_VM_RECORD_STOP_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 618 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 619 /* Send FFS stop command */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 620 /* allocate the message buffer */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 621 mb_status = rvf_get_buf (p_audio_gbl_var->mb_internal, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 622 sizeof (T_AUDIO_FFS_STOP_REQ), | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 623 (T_RVF_BUFFER **) (&p_send_message)); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 624 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 625 /* If insufficient resources, then report a memory error and abort. */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 626 if (mb_status == RVF_RED) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 627 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 628 audio_voice_memo_error_trace(AUDIO_ENTITY_NO_MEMORY); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 629 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 630 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 631 /* fill the header of the message */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 632 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->os_hdr.msg_id = AUDIO_FFS_STOP_REQ; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 633 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 634 /* fill the parameter */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 635 ((T_AUDIO_FFS_STOP_REQ *)(p_send_message))->session_id = AUDIO_FFS_SESSION_VM_RECORD; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 636 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 637 /* fill the recorded size */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 638 p_audio_gbl_var->vm_record.recorded_size = ((T_MMI_VM_RECORD_CON *)p_message)->recorded_size; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 639 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 640 /* send the message to the entity */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 641 rvf_send_msg (p_audio_gbl_var->audio_ffs_addrId, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 642 p_send_message); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 643 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 644 /* change to the state AUDIO_VM_RECORD_WAIT_STOP_FFS */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 645 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_WAIT_STOP_FFS; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 646 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 647 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 648 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 649 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 650 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 651 audio_vm_record_send_status (AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 652 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 653 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 654 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 655 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 656 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 657 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 658 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 659 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 660 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 661 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 662 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 663 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 664 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 665 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 666 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 667 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 668 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 669 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 670 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 671 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 672 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 673 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 674 } /* case AUDIO_VM_RECORD_WAIT_STOP_CON */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 675 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 676 case AUDIO_VM_RECORD_WAIT_STOP_FFS: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 677 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 678 switch(p_message->msg_id) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 679 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 680 case AUDIO_FFS_STOP_CON: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 681 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 682 audio_vm_record_send_status ( AUDIO_OK, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 683 p_audio_gbl_var->vm_record.recorded_size, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 684 p_audio_gbl_var->vm_record.return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 685 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 686 /* change to the state AUDIO_VM_RECORD_IDLE */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 687 p_audio_gbl_var->vm_record.state = AUDIO_VM_RECORD_IDLE; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 688 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 689 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 690 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 691 case AUDIO_VM_RECORD_STOP_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 692 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 693 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 694 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 695 ((T_AUDIO_VM_RECORD_STOP *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 696 audio_voice_memo_error_trace(AUDIO_ERROR_STOP_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 697 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 698 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 699 case AUDIO_VM_RECORD_START_REQ: | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 700 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 701 /* event error - send an error message, the recorded size is null*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 702 /* Close the FFS file previously open by the audio start API*/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 703 #ifndef _WINDOWS | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 704 if ( ffs_close(((T_AUDIO_VM_RECORD_START *)(p_message))->audio_ffs_fd) != EFFS_OK ) | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 705 { | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 706 audio_voice_memo_error_trace(AUDIO_ENTITY_FILE_NO_CLOSE); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 707 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 708 #endif | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 709 audio_vm_record_send_status ( AUDIO_ERROR, 0, | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 710 ((T_AUDIO_VM_RECORD_START *)(p_message))->return_path); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 711 audio_voice_memo_error_trace(AUDIO_ERROR_START_EVENT); | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 712 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 713 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 714 } | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 715 break; | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 716 } /* case AUDIO_VM_RECORD_WAIT_STOP_CON */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 717 } /* switch(p_audio_gbl_var->vm_record.state) */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 718 } /*********************** End of audio_vm_record_manager function **********************/ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 719 | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 720 #endif /* VM_RECORD */ | 
| 
b6a5e36de839
src/cs: initial import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 721 #endif /* RVM_AUDIO_MAIN_SWE */ | 
