FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/sap/ipa.pdf @ 275:79cfefc1e2b4
audio mode load: gracefully handle mode files of wrong AEC version
Unfortunately our change of enabling L1_NEW_AEC (which is necessary
in order to bring our Calypso ARM fw into match with the underlying
DSP reality) brings along a change in the audio mode file binary
format and file size - all those new tunable AEC parameters do need
to be stored somewhere, after all. But we already have existing
mode files in the old format, and setting AEC config to garbage when
loading old audio modes (which is what would happen without the
present change) is not an appealing proposition.
The solution implemented in the present change is as follows: the
audio mode loading code checks the file size, and if it differs
from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure
is cleared - set to the default (disabled AEC) for the compiled type
of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure
sits at the end of T_AUDIO_MODE!
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 30 Jul 2021 02:55:48 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
;******************************************************************************** ;*** File : ipa.pdf ;*** Creation : Wed Mar 11 09:58:13 CST 2009 ;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1 ;*** Copyright : (c) Texas Instruments AG, Berlin Germany 2002 ;******************************************************************************** ;*** Document Type : Service Access Point Specification ;*** Document Name : ipa ;*** Document No. : 8444.104.02.007 ;*** Document Date : 2003-08-30 ;*** Document Status: BEING_PROCESSED ;*** Document Author: Jacek ;******************************************************************************** PRAGMA SRC_FILE_TIME "Thu Nov 29 09:43:54 2007" PRAGMA LAST_MODIFIED "2003-08-30" PRAGMA ID_AND_VERSION "8444.104.02.007" CONST IPA_ENTITY_NAME_LEN 6 ; maximum length of entity name including NULL VALTAB VAL_dti_conn VAL 0 IPA_CONNECT_DTI "Connect DTI2 to IP" VAL 1 IPA_DISCONNECT_DTI "Disconnect DTI2 from IP" VALTAB VAL_link_id VAL 0 IPA_LINK_ID_DEFAULT "Default link id" VALTAB VAL_dti_direction VAL 0 IPA_DTI_TO_HIGHER_LAYER "DTI2 used normally" VAL 1 IPA_DTI_TO_LOWER_LAYER "DTI2 is inverted" VALTAB VAL_cmd VAL 0 IPA_CONFIG_UP "enable the interface" VAL 1 IPA_CONFIG_DOWN "disable the interface" VALTAB VAL_ack_flag VAL 0 IPA_CONFIG_ACK "Acknowledged" VAL 1 IPA_CONFIG_NAK "not acknowledged" VALTAB VAL_all_down VAL 0 IPA_ALLDOWN_FALSE ">= 1 Interface still up" VAL 1 IPA_ALLDOWN_TRUE "all interfaces down" VAR dti_conn "DTI2 connect" B VAL @p_ipa - VAL_dti_conn@ VAR link_id "Link identifier" L VAL @p_ipa - VAL_link_id@ VAR dti_direction "DTI2 direction" B VAL @p_ipa - VAL_dti_direction@ VAR ip "IP address" L VAR peer_ip "peer IP address" L VAR mtu "maximum transfer unit" S VAR cmd "Command" B VAL @p_ipa - VAL_cmd@ VAR ack_flag "acknowledge flag" B VAL @p_ipa - VAL_ack_flag@ VAR all_down "all interfaces down flag" B VAL @p_ipa - VAL_all_down@ VAR entity_name "name of an neighbour entity" B ; IPA_DTI_REQ 0x8000003C ; IPA_DTI_CNF 0x8000403C ; IPA_DTI_IND 0x8001403C ; IPA_CONFIG_REQ 0x8001003C ; IPA_CONFIG_CNF 0x8002403C PRIM IPA_DTI_REQ 0x8000003C { dti_conn ; DTI connect entity_name [IPA_ENTITY_NAME_LEN] ; entity name link_id ; link identifier dti_direction ; DTI direction } PRIM IPA_DTI_CNF 0x8000403C { dti_conn ; DTI connect link_id ; link identifier } PRIM IPA_DTI_IND 0x8001403C { link_id ; link identifier } PRIM IPA_CONFIG_REQ 0x8001003C { ip ; IP address peer_ip ; peer IP address mtu ; Maximum transfer unit cmd ; Command } PRIM IPA_CONFIG_CNF 0x8002403C { ack_flag ; Acknowledge flag all_down ; all interfaces down flag }