Feature #3400
mobile: implement GAPK based audio capture / playback (via ALSA)
Status:
Stalled
Priority:
Normal
Assignee:
Category:
OsmocomBB mobile (host)
Target version:
Start date:
07/17/2018
Due date:
% Done:
50%
Resolution:
Spec Reference:
Description
There is an initial implementation of GAPK based audio back-end in fixeria/audio.
The current implementation is limited, so TODO/FIXME:
- init both I/O processing chains when CHANNEL MODE MODIFY is received,
- deinit both I/O chains when a call is finished,
- take care about PHY specific frame formats (e.g. TI),
- optimize the application loop in order to improve performance,
- support other than GSM FR codecs (currently FR is hardcoded),
- compose codec support in Classmark depending on PHY capabilities and GAPK codec support.
Some points require a possibility to know the PHY features, such as:
- TCH frame forwarding capability,
- preferred TCH frame format,
- full rate / half rate channel support,
- AMR codec over FR / HR channel support.
Checklist
- Init both I/O processing chains when CHANNEL MODE MODIFY is received
- Support other than GSM FR codecs (currently FR is hardcoded)
- Optimize the application loop in order to improve performance
- Deinit both I/O chains when a call is finished
- Take care about PHY specific frame formats (e.g. TI)
- Compose codec support in Classmark depending on PHY capabilities and GAPK codec support
- Investigate the problem with unpleasant audio effects
Related issues
History
#1 Updated by fixeria over 1 year ago
- Tracker changed from Bug to Feature
#2 Updated by fixeria over 1 year ago
- Blocked by Feature #1461: include some version information / negotiation in the L1CTL protocol added
#3 Updated by fixeria over 1 year ago
- Checklist item Init both I/O processing chains when CHANNEL MODE MODIFY is received added
- Checklist item Support other than GSM FR codecs (currently FR is hardcoded) added
- Checklist item Deinit both I/O chains when a call is finished added
- Checklist item Take care about PHY specific frame formats (e.g. TI) added
- Checklist item Optimize the application loop in order to improve performance added
- Checklist item Compose codec support in Classmark depending on PHY capabilities and GAPK codec support added
#4 Updated by fixeria over 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 50
#5 Updated by fixeria over 1 year ago
- Checklist item Optimize the application loop in order to improve performance set to Done
The performance problem is actually caused by blocking calls of src/pq_alsa.c/pq_cb_alsa_input()/snd_pcm_readi().
Setting both buffer and period size values seems to solve the issue. A separate issue needs to be created...
#6 Updated by fixeria about 1 year ago
- Checklist item Investigate the problem with unpleasant audio effects added
#7 Updated by fixeria about 1 year ago
- Status changed from In Progress to Stalled