Project

General

Profile

GAPK Integration » History » Version 4

fixeria, 07/16/2018 06:17 PM

1 1 fixeria
h1. GAPK Integration
2 2 fixeria
3
[[GAPK:|GAPK (GSM Audio Pocket Knife)]] is a "FFmpeg":https://www.ffmpeg.org/ like project focused on GSM related codecs (HR/FR/EFR/AMR) and formats. Since the _libosmogapk_ was introduced, it becomes possible to link [[OsmocomBB:]] against it and use its API for audio processing, i.e. for both voice capture and playback.
4 3 fixeria
5
Some initial work around this was already done, and has been published in a separate branch ("fixeria/audio":https://git.osmocom.org/osmocom-bb/log/?h=fixeria/audio).
6
7
h2. PHY support
8
9
Both [[TRX_Interface#The-trxcon-application|trxcon]] and [[cellular-infrastructure:Virtual_Um|VIRT-PHY]] do forward TCH frames to the higher layers (e.g. [[mobile]]) by default, while [[HardwareCalypso|Calypso]]-based phones can handle them either within DSP (both regular phone's mic and speaker are involved), or also forward them via L1CTL. The forwarding behaviour can be enabled using _L1CTL_TCH_MODE_REQ_ message and its _AUDIO_TX_TRAFFIC_REQ_ | _AUDIO_RX_TRAFFIC_IND_ flags.
10 4 fixeria
11
h2. Why GAPK integration is important?
12
13
Well, at the moment the state of voice support in the higher layers, especially in the [[mobile]] application, is limited. There is incomplete implementation of MNCC-socket handling, including forwarding of TCH frames, but it is very limited (for example, only TCH FR codec is supported).
14
15
With GAPK it is pretty easy to fill the gap, and implement audio / voice processing back-end for [[mobile]] application, in particular:
16
17
* voice capture and playback (via ALSA),
18
* frame coding for GSM specific codecs,
19
* PHY specific format (e.g. TI) handling,
20
* ECU (Error Concealment Unit),
21
* RTP support.
Add picture from clipboard (Maximum size: 48.8 MB)