Meego Wiki
Views

ARM/N900/Features/CallAudio

From MeeGo wiki
< ARM | N900
Revision as of 08:14, 30 December 2010 by Jpeltonen (Talk | contribs)
Jump to: navigation, search

This feature provides working call audio (incoming, outgoing), SMS sending on the Nokia N900.


Contents

MeeGo 1.1

The modifications are hosted in the OBS project devel:devices:n900:feature11_modem

All the packages in question are built for ARMv7 and X86 and can downloaded at http://download.meego.com/live/devel:/devices:/n900:/feature11_modem/testing/ . The packages are built against testing repository (http://download.meego.com/testing/)

Feature contact points from Nokia N900 hardware adaptation team:

  • Harri Hakulinen <harri.hakulinen@nokia.com>
  • Carsten Munk <carsten@maemo.org>

Kickstart changes

For N900, add repository and in %packages:

# Feature modem
pulseaudio-modules-meego-voice
pulseaudio-modules-meego-cmtspeech
pulseaudio-modules-meego-common

Modified packages

nokia-n900-configs

Package maintainer: Carsten Munk <carsten@maemo.org>

Patch diff location: https://build.meego.com/package/files?package=nokia-n900-configs&project=devel%3Adevices%3An900%3Afeature11_modem

Package is N900 specific.

What is changed:

  • ALSA mixer changes for N900 and pulseaudio configuration changes
    • RISK: Non-modem sound in general might not work (need QA)

udev-rules-nokia-n900

Package maintainer: Carsten Munk <carsten@maemo.org>

Patch diff location: https://build.meego.com/package/files?package=udev-rules-nokia-n900&project=devel%3Adevices%3An900%3Afeature11_modem

Package is N900 specific

What is changed:

  • Added new udev rule file, 10-cmt_speech.rules, with permissions 0777 (rwxrwxrwx). To allow user to talk to CMT speech interface in kernel.
    • RISK: Very wide permissions.
    • POSSIBLE CHANGE: Should be for meego user instead?

ofono

Package maintainer: Martin Xu <martin.xu@intel.com>

Package diff location: https://build.meego.com/package/files?package=ofono&project=devel%3Adevices%3An900%3Afeature11_modem

What is changed:

Package is global.

pulseaudio

Package maintainer: Vivian Zhang <vivian.zhang@intel.com> ?

Package diff location: https://build.meego.com/package/files?package=pulseaudio&project=devel%3Adevices%3An900%3Afeature11_modem

What is changed:

  • Added alsa 'old sink' patch. This is needed for the Nokia voice pulseaudio modules. This patch is a composite of patches, described in top of patch.
    • UPSTREAM STATUS: Uncertain and unclear if it would be suitable for upstream. Opinion of patch writers needed.
    • RISK: These patches touch core pulseaudio things and may affect other devices. QA on other devices needed to confirm they don't.
# From 46b1ae641bbfe209ce1837c7795177b7d604949b Mon Sep 17 00:00:00 2001  
# From: Jyri Sarha <jyri.sarha@nokia.com>  
# Date: Wed, 22 Jul 2009 12:00:59 +0300  
# Subject: [PATCH 037/115] core: Add infrastructure for delayed HW volume setting  
#   
# To make concurrent use of SW and HW volume glitchles their application  
# needs to be syncronized. For accurate syncronization the HW volume  
# needs to be applied in IO thread. This patch adds infrastructure to  
# delay the applying of HW volume to match with SW volume. For this patch  
# to have any effect it needs to be taken into use by sink implementor.  
#  
# From 6c573b1a03cfe2f6e5b649371f002be60ea3cf01 Mon Sep 17 00:00:00 2001  
# From: Tanu Kaskinen <ext-tanu.kaskinen@nokia.com>  
# Date: Mon, 21 Dec 2009 14:11:31 +0200  
# Subject: [PATCH 072/115] alsa-mixer: Add DecibelFix section to the profile set config file format.  
#   
# This commit only implements the parser, the decibel fix data is not yet used  
# for anything.  
#  
# From 91fe0803afe864016e446cb1535cac5e5826fe5c Mon Sep 17 00:00:00 2001  
# From: Tanu Kaskinen <ext-tanu.kaskinen@nokia.com>  
# Date: Tue, 29 Dec 2009 14:51:09 +0200  
# Subject: [PATCH 073/115] alsa-mixer: Use decibel fixes when getting and setting decibel volumes.  
  • Added flat sink patch
    • UPSTREAM STATUS: Uncertain, needs patch writer opinion.
    • RISK: This patch affects core pulseaudio and would need QA on other devices.
  • Added call state tracker singleton object. This is used to monitor if a call is currently going on.
    • UPSTREAM STATUS: Uncertain, but may be MeeGo specific enough to not upstream
    • RISK: Does not affect core pulseaudio, just adds to API. Nokia pulseaudio voice modules need this.
  • Added pulsecore headers. This adds pkgconfig(pulsecore) and exports src/pulsecore/*.h to modules. This is needed for Nokia pulseaudio voice modules, possibly for getting closer into the pulseaudio core.
    • UPSTREAM STATUS: Uncertain, but rule of encapsulation might be broken in terms of architecture (if core is not usually suitable for outside interference)
    • RISK: None, except for added ABI/API currently exported without headers.

Package is global.

Added packages

libcmtspeech

Library for cellular speech data path

Package maintainer: Sami Sirkia <sami.u.sirkia@gmail.com>

Package files: https://build.meego.com/package/files?package=libcmtspeechdata&project=devel%3Adevices%3An900%3Afeature11_modem

Upstream: http://meego.gitorious.org/meego-cellular/libcmtspeechdata

What does it do:

# This package provides "libcmtspeechdata", an application  
# engine (APE) side library, for the Nokia CMT Speech Data  
# SSI protocol. The library provides an application interface,  
# for implementing the speech data path for cellular voice  
# calls. The library depends on other components for setting  
# up and managing the call signaling path.  
#   
# CMT is abbreviation of Cellular Modem Terminal, i.e. the  
# cellular modem. APE refers to Application Engine, i.e.  
# the processing environment where libcmtspeechdata is run.  
# In DFL6x configurations, APE is a TI OMAP3 processor.  
# SSI refers to the Synchronous Serial Interface, which is  
# a serial bus found on TI OMAP application engines as well  
# as on Nokia cellular modems. SSI is used as the low-level  
# interface used to communicate between APE and CMT. 

Dependancy of pulseaudio-modules-meego

pulseaudio-modules-meego

Package maintainer:

Upstream: http://meego.gitorious.org/maemo-multimedia/pulseaudio-modules-meego

Package files: https://build.meego.com/package/files?package=maemo-pulseaudio-modules&project=devel%3Adevices%3An900%3Afeature11_modem

What does it do:

Provides maemo-pulseaudio-modules-voice, maemo-pulseaudio-modules-voice. Key components for voice call.

This is a Nokia CMT modem specific package.

Patches:


MeeGo 1.2

This section concentrates on making sure that the voice call feature is working in MeeGo 1.2, too.

PulseAudio downgrade (to 0.9.19)

PulseAudio is being downgraded and the new patchset (in http://build.meego.com/package/show?package=pulseaudio&project=devel%3Amultimedia) does not contain the "N900" patches, i.e.

  • flat-sink-branch
  • old-sink
  • call-state-tracker

PulseAudio patch mapping

MeeGo .21 patch Original pathces(*) Included in MeeGo .19 patch(**)
flat-sink-branch 0021-pulsecore-Port-the-old-flat-sink-branch-to-the-new-u.patch pa-0.9.19-mfld-folder-modules.patch,
pa-0.9.19-mfld-folder-pulsecore.patch
call-state-tracker.patch 0060-call-state-tracker-New-component.patch pa-0.9.19-mfld-folder-pulsecore.patch,
pa-0.9.19-mfld-folder-src.patch
old-sink.patch 0001-alsa-old-Import-the-alsa-old-modules-from-0.9.15.-DO.patch pa-0.9.19-mfld-folder-alsa.patch,
pa-0.9.19-mfld-folder-pulsecore.patch
,pa-0.9.19-mfld-folder-pulse.patch
,pa-0.9.19-mfld-folder-src.patch
0002-alsa-old-Move-buffer-mode-switching-to-IO-thread-wit.patch
0003-alsa-old-Adapt-to-the-changed-pa_alsa_set_hw_params-.patch
0004-alsa-old-Adapt-to-the-changed-pa_alsa_set_sw_params-.patch
0005-alsa-old-Remove-the-deprecated-pa_rtpoll_install-cal.patch
0015-alsa-old-Adapt-to-the-changed-pa_alsa_open_by_device.patch
0016-alsa-old-Adapt-to-the-changed-pa_alsa_init_proplist_.patch
0017-alsa-old-Use-pa_-sink-source-_set_fixed_latency-for-.patch
0018-alsa-old-Adapt-to-the-changed-pa_-sink-source-_suspe.patch
0019-alsa-old-pa_source.virtual_volume-doesn-t-exist-anym.patch
0034-alsa-old-Adapt-partially-to-the-changed-alsa-mixer-h.patch
0035-alsa-old-update-buffer-metrics-correctly-to-proplist.patch
0054-alsa-old-Don-t-push-the-first-captured-frames.patch
0055-alsa-old-Split-the-modules-into-a-module-part-and-a-.patch
0056-alsa-old-Copy-and-adapt-as-needed-volume-handling-wi.patch
0057-alsa-old-Add-the-paths-argument-to-the-modules-and-u.patch
0058-alsa-old-Add-db_fixes-argument-to-the-modules-and-ma.patch
0074-alsa-old-Fix-period_frames-calculation-from-start-su.patch
0118-alsa-mixer-Add-DecibelFix-section-to-the-profile-set.patch
0119-alsa-mixer-Use-decibel-fixes-when-getting-and-settin.patch
0143-core-Add-infrastructure-for-synchronizing-HW-and-SW-.patch
(*) refer to http://build.meego.com/package/files?package=pulseaudio&project=home%3Aklitkey
(**) refer to http://build.meego.com/package/files?package=pulseaudio&project=devel%3Amultimedia
Personal tools