Changes between Version 17 and Version 18 of Nokia_APS_VAS_Direct
- Timestamp:
- Mar 13, 2009 1:40:40 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Nokia_APS_VAS_Direct
v17 v18 19 19 Due to these benefits, the ability to use these codecs in PJSIP applications is very desirable. 20 20 21 Note that non-APS codecs can still be used as usual, e.g: GSM, Speex/8000 , and G.722.21 Note that non-APS codecs can still be used as usual, e.g: GSM, Speex/8000. 22 22 23 23 [[BR]] … … 31 31 === What APS-Direct is really === 32 32 33 To use APS-Direct means that you're opening the sound device in codec (i.e. non-PCM) mode. You '''still have the choice''', at run-time, to open the sound device in PCM mode, if you wish, for example to make use of the PCM features in PJMEDIA such as the tone generator, or if you want to use the software codecs such as Speex or G .722in PJMEDIA. Note that if you use PJSUA-LIB then the management of closing/re-opening the sound device using the correct codec will be done by PJSUA-LIB automatically.33 To use APS-Direct means that you're opening the sound device in codec (i.e. non-PCM) mode. You '''still have the choice''', at run-time, to open the sound device in PCM mode, if you wish, for example to make use of the PCM features in PJMEDIA such as the tone generator, or if you want to use the software codecs such as Speex or GSM in PJMEDIA. Note that if you use PJSUA-LIB then the management of closing/re-opening the sound device using the correct codec will be done by PJSUA-LIB automatically. 34 34 35 35 To use APS-Direct also means that you are restricted to use the [#switchboard audio switchboard] at compile time (audio switchboard will be explained later). This means that you loose the capability of mixing audio with PJSUA-LIB, as well as several other restrictions on your audio routing arrangements. Among other things, you can't have two calls active and connected to the audio device at the same time. You can have more than one calls, but only one can be active (we recommend to put the other call on hold in this case). 36 36 37 The sound device can only handle one format at a time. For example, if it is currently opened with G.729 format, you can't reconnect it to different media ports (such as stream or other pjmedia_port). You must first close it, then re-open it using the correct format. Note that if you are using PJSUA-LIB, this will be handled automatically (i.e. PJSUA-LIB will close/reopen the sound device with the correct format depending on what is connected to port zero inthe [#switchboard audio switchboard]). But still you are limited to only able to connect one media port to the sound device at the same time (e.g. you cannot hear the call and play ringback tone to the sound device simultaneously).37 The sound device can only handle one format at a time. For example, if it is currently opened with G.729 format, you can't reconnect it to any media ports working with different format (e.g: stream or other pjmedia_port set to work with PCM). You must first close it, then re-open it using the same format as target port's format. Note that if you are using PJSUA-LIB, this will be handled automatically (i.e. PJSUA-LIB will close/reopen the sound device with the correct format depending on what is connected to port zero of the [#switchboard audio switchboard]). But still you are limited to only able to connect one media port to the sound device at the same time (e.g. you cannot hear the call and play ringback tone to the sound device simultaneously). 38 38 39 39 … … 44 44 - similarly when passthrough codec is selected in the stream, the stream will emit and take encoded audio frames (rather than PCM frames), hence it needs APS-Direct on the other side. 45 45 46 One important thing to note: '''you may still use software codecs such as Speex and G .722even when your application is compiled with APS-Direct support'''. When one of these software codecs is selected to be used by the stream, the stream will work as usual (i.e. emitting and taking PCM audio frames), so the audio device '''must''' be opened in normal/PCM mode (i.e. non-APS-Direct mode). If you are using PJSUA-LIB, then again this will be handled automatically.46 One important thing to note: '''you may still use software codecs such as Speex and GSM even when your application is compiled with APS-Direct support'''. When one of these software codecs is selected to be used by the stream, the stream will work as usual (i.e. emitting and taking PCM audio frames), so the audio device '''must''' be opened in normal/PCM mode (i.e. non-APS-Direct mode). If you are using PJSUA-LIB, then again this will be handled automatically. 47 47 48 48 … … 59 59 #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 60 60 }}} 61 1. Selectively enable/disable which PCM codecs to be supported, for example to disable all PCMcodecs:61 1. Selectively enable/disable which software codecs to be supported, for example to disable all software codecs: 62 62 {{{ 63 63 #define PJMEDIA_HAS_G711_CODEC 0 … … 128 128 }}} 129 129 130 We also need to support passing around non-PCM frames in PJMEDIA. We added support for new frame type (the {{{enum pjmedia_frame_type}}}): '''{{{PJMEDIA_FRAME_TYPE_EXTENDED}}}'''. When the frame's type is set to this type, the {{{pjmedia_frame}}} structure maybe typecasted to '''{{{pjmedia_frame_ext}}}''' struct (new):130 We also need to support passing around non-PCM frames in PJMEDIA. We added support for new frame type (the {{{enum pjmedia_frame_type}}}): '''{{{PJMEDIA_FRAME_TYPE_EXTENDED}}}'''. When the frame's type is set to this type, the {{{pjmedia_frame}}} structure can be typecasted to '''{{{pjmedia_frame_ext}}}''' struct (new): 131 131 132 132 {{{ … … 169 169 Understandably some conference bridge features will not be available: 170 170 - audio mixing feature (no conferencing feature), 171 - audio level adjustment and query ,171 - audio level adjustment and query (only when the port is using non-PCM format), 172 172 - passive ports. 173 173