Project

General

Profile

Feature #3400

mobile: implement GAPK based audio capture / playback (via ALSA)

Added by fixeria 5 months ago. Updated 3 months ago.

Status:
Stalled
Priority:
Normal
Assignee:
Category:
OsmocomBB mobile (host)
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.

Related issues

Blocked by OsmocomBB - Feature #1461: include some version information / negotiation in the L1CTL protocolFeedback

History

#1 Updated by fixeria 5 months ago

  • Tracker changed from Bug to Feature

#2 Updated by fixeria 5 months ago

  • Blocked by Feature #1461: include some version information / negotiation in the L1CTL protocol added

#3 Updated by fixeria 4 months 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 4 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

#5 Updated by fixeria 4 months 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 3 months ago

  • Checklist item Investigate the problem with unpleasant audio effects added

#7 Updated by fixeria 3 months ago

  • Status changed from In Progress to Stalled

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)