summaryrefslogtreecommitdiffstats
path: root/include/osmocom/codec/ecu.h
Commit message (Collapse)AuthorAgeFilesLines
* core/defs.h: introduce and use OSMO_DEPRECATED_OUTSIDEVadim Yanitskiy2019-12-111-2/+3
| | | | | | | | | | | | | | | | The new OSMO_DEPRECATED_OUTSIDE macro is similar to the existing OSMO_DEPRECATED_OUTSIDE_LIBOSMOCORE, but allows to override the deprecation message. Let's use it to suspend deprecation warnings related to: - gsm48_decode_bcd_number(), - osmo_ecu_fr_conceal(), - osmo_ecu_fr_reset(), as they're intentionally used in scope of the library. Change-Id: I1b0eff1396776900c1286e41da3aee3ff78b326e
* ecu_fr: increase test coverage for FR ECU implementationPhilipp Maier2019-09-201-2/+4
| | | | | | | | | | | | | The ECU implementation for FR is currently tested by calling the related functions directly and by using the generic ECU abstraction layer. However, the test "test_fr_concealment" only tests directly. Lets add a version that uses the generic ECU abstraction layer as well. The generic ECU abstraction layer obsolets the public API functions osmo_ecu_fr_reset() and osmo_ecu_fr_conceal(), lets tag those functions as dprecated. Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4
* cosmetic: Add comment on GSM-FR ECU structPhilipp Maier2019-09-201-0/+1
| | | | Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b
* cosmetic: Move comment to the right placePhilipp Maier2019-09-201-1/+1
| | | | Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad
* codec/ecu: Introduce new generic Error Concealment Unit abstractionHarald Welte2019-09-021-0/+54
| | | | | | | | | | | | | | | | | | | | We don't want to expose the details of a given ECU implementation to the user (e.g. osmo-bts), but have a generic abstraction layer where an ECU implementation can simply register a few call-back functions with the generic core. As the developer and copyright holder of the related code, I hereby state that any ECU implementation using 'struct osmo_ecu_ops' and registering with the 'osmo_ecu_register()' function shall not be considered as a derivative work under any applicable copyright law; the copyleft terms of GPLv2 shall hence not apply to any such ECU implementation. The intent of the above exception is to allow anyone to combine third party Error Concealment Unit implementations with libosmocore, including but not limited to such published by ETSI. Change-Id: I4d33c9c7c2d4c7462ff38a49c178b65accae1915
* codec/ecu_fr: Mark input TCH frame as 'const' as we only read itHarald Welte2019-08-121-1/+1
| | | | Change-Id: I64c6d3dc08ff87b673ba6225f98546e86f91bcfd
* libosmocodec: implement ECU (Error Concealment Unit) for FRPhilipp Maier2018-01-151-0/+15
When a bad GSM voice frame is received, it's being replaced by a silence frame. This may cause unpleasant audio effects. This change implements a functionality to craft a replacement frame from the last known good frame. Currently, only FR is supported, support for other codecs may be added latter. Change-Id: I06a21f60db01bfe1c2b838f93866fad1d53fdcd1