FreeCalypso > hg > gsm-codec-lib
diff libtwamr/sid_sync.h @ 402:a8b73b1c5b19
libtwamr: integrate sid_sync.c
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 06 May 2024 19:58:22 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libtwamr/sid_sync.h Mon May 06 19:58:22 2024 +0000 @@ -0,0 +1,74 @@ +/* +***************************************************************************** +* +* GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 +* R99 Version 3.3.0 +* REL-4 Version 4.1.0 +* +***************************************************************************** +* +* File : sid_sync.h +* Purpose : To ensure that the mode only switches to a +* neighbouring mode +* +***************************************************************************** +*/ +#ifndef sid_sync_h +#define sid_sync_h "$Id $" + +/* +***************************************************************************** +* INCLUDE FILES +***************************************************************************** +*/ +#include "tw_amr.h" +#include "typedef.h" + +/* +****************************************************************************** +* CONSTANTS +****************************************************************************** +*/ + +/* +****************************************************************************** +* DEFINITION OF DATA TYPES +****************************************************************************** +*/ +typedef struct { + Word16 sid_update_rate; /* Send SID Update every sid_update_rate frame */ + Word16 sid_update_counter; /* Number of frames since last SID */ + Word16 sid_handover_debt; /* Number of extra SID_UPD frames to schedule*/ + enum TXFrameType prev_ft; +} sid_syncState; + +/* +***************************************************************************** +* LOCAL VARIABLES AND TABLES +***************************************************************************** +*/ + +/* +***************************************************************************** +* DECLARATION OF PROTOTYPES +***************************************************************************** +*/ + +void sid_sync_reset (sid_syncState *st); +/* reset of sid_sync module (i.e. set state memory to zero) + returns 0 on success + */ + +int sid_sync_set_handover_debt (sid_syncState *st, /* i/o: sid_sync state */ + Word16 debtFrames); +/* update handover debt + debtFrames extra SID_UPD are scheduled . + to update remote decoder CNI states, right after an handover. + (primarily for use on MS UL side ) +*/ + +void sid_sync(sid_syncState *st , /* i/o: sid_sync state */ + enum Mode mode, + enum TXFrameType *tx_frame_type); + +#endif