Changes between Version 3 and Version 4 of APS


Ignore:
Timestamp:
Jul 24, 2008 9:18:53 PM (11 years ago)
Author:
bennylp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • APS

    v3 v4  
    1 = Enable Audio Proxy Server (APS) in PJSIP = 
     1= Using Audio Proxy Server (APS) in PJSIP = 
    22 
    33== Introduction == 
    4 You can read about APS [http://wiki.forum.nokia.com/index.php/Audio_Proxy_Server here]. 
    5 The benefits of enabling APS in PJSIP are: 
    6  - '''Low latency'''. As mentioned somewhere that PCM frame size in some audio layer is about 4KB (4KB/2/8000Hz * 1000ms = 250ms), this seems to be the source of high latency audio in Symbian, while using APS it is possible to record/play ''encoded'' audio frames with latency only about 30ms!  
    7  - '''Ability to switch audio-routing (to earpiece or loudspeaker)'''. Using standard API (CMdaAudioOutputStream) the audio is routed to loudspeaker which may not be prefered in a private conversation. While routing audio to earpiece can also avoid echo. 
     4 
     5From [http://wiki.forum.nokia.com/index.php/Audio_Proxy_Server Nokia wiki on APS]: 
     6  "Audio Proxy Server (APS) is a wrapper to the Nokia S60 sound device. Its main purpose is to bypass the Vendor ID (VID) related restrictions on S60 3rd Edition and S60 3rd Edition, FP1 platforms, when streaming audio data in 3rd party applications. The component is most suitable for VoIP developers who need to set the appropriate audio priority and preference values in order to utilize full duplex audio.  
     7 
     8APS has some benefits over Audio Streaming API: 
     9 - Much lower latency. The Audio Streaming API has few hundreds milliseconds of latency at best, while using APS it is possible to bring down the latency to only about 30ms!  
     10 - Ability to switch audio-routing (to earpiece or loudspeaker). Routing to earpiece can also avoid echo. 
    811 
    912== Requirements == 
    10 To build PJSIP with APS support, you will need: 
     13To build PJSIP with APS support, we need: 
    1114 1. APS release 2.4.3 that is packaged in [http://wiki.forum.nokia.com/index.php/SDK_API_Plugin SDK API Plug-in], e.g: 
    12     - for [http://www.forum.nokia.com/info/sw.nokia.com/id/53439e01-f605-4491-96f4-62d003bd4c0c/S60_3rd_SDK_MR_API_Plug-In_Pack1.zip.html MR] 
    13     - for [http://www.forum.nokia.com/info/sw.nokia.com/id/4ff42a22-7099-4cc9-91bf-5e66166bd28d/S60_3rd_SDK_FP1_API_Plug-In_Pack.html FP1] 
    14     - not sure for FP2, is it included in the FP2 SDK? 
    15  2. You may also need [http://www.forum.nokia.com/info/sw.nokia.com/id/48a93bd5-028a-4b3e-a0b1-148ff203b2b3/Extensions_plugin_S60_3rd_ed.exe.html Extensions plug-in for S60 3rd Edition SDK for Symbian OS, for C++, MR] to get '''sounddevice.h'''. 
    16  3. '''Developer Certificate using Open Signed Offline/with Publisher ID'''. APS requires '''MultimediaDD''' capability and this capability is among the restricted capabilities, the signing options for applications with restricted capabilities are Open Signed Offline or Certified Signed. Please see [http://www.symbiansigned.com Symbian Signed] for more detail. 
     15    - [http://www.forum.nokia.com/info/sw.nokia.com/id/53439e01-f605-4491-96f4-62d003bd4c0c/S60_3rd_SDK_MR_API_Plug-In_Pack1.zip.html APS for MR] 
     16    - [http://www.forum.nokia.com/info/sw.nokia.com/id/4ff42a22-7099-4cc9-91bf-5e66166bd28d/S60_3rd_SDK_FP1_API_Plug-In_Pack.html APS for FP1] 
     17    - we're not sure how APS should work for FP2 
     18 2. You may also need [http://www.forum.nokia.com/info/sw.nokia.com/id/48a93bd5-028a-4b3e-a0b1-148ff203b2b3/Extensions_plugin_S60_3rd_ed.exe.html Extensions plug-in for S60 3rd Edition SDK for Symbian OS for C++ MR] to get '''sounddevice.h'''. 
     19 3. You need a '''Symbian Developer Certificate''' of type Open Signed Offline and with valid Publisher ID to install the application that uses APS on the device. APS requires '''MultimediaDD''' capability and this capability is among the restricted capabilities so the application needs to be signed with a valid developer certificate to use the capability. The signing options for applications that need these restricted capabilities are Open Signed Offline or Certified Signed. Please see [http://www.symbiansigned.com Symbian Signed website] for more detail. 
    1720 
    1821== Building Steps == 
    1922Here are a few steps to build PJSIP with APS support: 
    20  1. Edit '''bld.inf''' and '''application .mmp files''' (e.g: ''symbian_ua.mmp'', ''symbian_ua_gui.mmp'', ''symsndtest.mmp''), please make sure '''SND_USE_APS''' is set: 
     23 1. Edit {{{bld.inf}}} and application's .mmp files (e.g: {{{symbian_ua.mmp}}}, {{{symbian_ua_gui.mmp}}}, {{{symsndtest.mmp}}}), and activate {{{SND_USE_APS}}} macro: 
    2124{{{ 
    2225#define SND_USE_NULL    0 
     
    2629    - If you are using Carbide, please refresh the project first (right click '''bld.inf''' from the '''Symbian Project Navigator''' pane, and select '''Refresh'''). '''symbian_audio_aps.mmp''' should be there after the refresh done. 
    2730    - If you are building from command line, use '''bldmake clean''' then '''bldmake bldfiles'''. 
    28  3. Clean and rebuild the whole project, please note that WINSCW target doesn't seem to support APS. 
     31 3. Clean and rebuild the whole project. Please note that WINSCW target doesn't seem to support APS. 
    2932 4. Make the installer (.sis file) for the application. 
    3033 
     
    3841== Developing Application with APS Support == 
    3942There are some notes for developing application with APS support: 
    40  - Currently, frame time/PTIME supported by sound device with APS is only 20ms. For example if your application is using pjsua, you will need to specify something like this in pjsua config: 
     43 - Currently, frame time/PTIME supported by sound device with APS is only 20ms. For example if your application is using pjsua, you will need to specify this in pjsua config: 
    4144{{{ 
    4245med_cfg.audio_frame_ptime = 20; 
     
    5053== Limitation == 
    5154 - As mentioned before, sound device will only support 20ms frame time. 
    52  - Currently, this APS wrapper can only work in S60 3rd edition device that supports G.711, which perhaps (almost) all S60 3rd edition devices. 
     55 - Currently, this APS wrapper can only work in S60 3rd edition device that supports G.711, which perhaps means all S60 3rd edition devices.