hi all, here write how I build pjsip with AMR for android devices. 1. download and unpack opencore-amr and vo-amrwbenc (I'm trying on 0.1.3)2. for android you have to create non-versioned shared libraries: here is instruction how to do that -> http://www.opengis.ch/2011/11/23/creating-non-versioned-shared-libraries-for-android/ -thanks that, I created new configure file for opencore-amr and vo-amrwbenc I add it in attachment.
3. from pjsip sources I copy into main opencore-amr and vo-amrwbenc directory configure-android and change it, I also attached it.
WARNING: you have to change directory of ndk directory - in line 6 -> export ANDROID_NDK_ROOT=../android-sdk-linux/ndk-bundle- in line 73 (sample) -> NDK_OUT=`${NDK_BUILD} -n -C ../../pjsip/trunk/pjsip-apps/src/samples/android_sample APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI}`
4. from https://github.com/VoiSmart/pjsip-android-builder/blob/master/build I download build script and change it. In attachment here is my result.
WARNING: you have to change directory of ndk directory - in line from 10 to 33 -> please check all directories, especially: line 10 -> PJSIP_DIR_NAME="trunk" line 24 -> OPENCORE_PATH="${BASE_FOLDER}/opencore-amr-0.1.3" line 25 -> VOAMRWB_PATH="${BASE_FOLDER}/vo-amrwbenc-0.1.3" line 33 -> export ANDROID_NDK_ROOT=../../android-sdk-linux/ndk-bundle 5. run ./build_pjsip 6. enjoyYou will received some warnings, but codecs will by working. If you need some help or something is not clear fell free to ask.
7. you have to also add to android sample app: System.loadLibrary("opencore-amrnb"); System.loadLibrary("opencore-amrwb"); System.loadLibrary("vo-amrwbenc"); Andrzej W dniu 2016-11-08 o 10:03, JOHAN LANTZ pisze:
As far as I recall there are two settings exposed by pjsip. Octet-aligned and bitrate. If you set octet-aligned to 1 you should see it in the sdp by default. Might be the same with mode-set and bitrate. The remote decoder is probably capable of decoding any bitrate you send but if you want to signal for instance support only for specific modes or other capabilities you can probably use on_call_sdp_created to manipulate the default sdp, adding fmtp parameters etc. If you have a script or instructions for building open-core amr for Android feel free to share it with the community so others can save some time if they want to do the same. /Johan On 08/11/2016, 08:53, "pjsip on behalf of Andrzej Grajnert" <pjsip-bounces@xxxxxxxxxxxxxxx on behalf of frogersik@xxxxxxxxx> wrote:Hi, I finally build AMR codec for Android and it's works fine. What kind of settings are supported by this codecs? Can I set 'max-red' or 'mode-change-capability'? I found only octet-algin. How I can put this settings to SDP message as fmtp? BR, Andrzej Grajnert W dniu 2016-10-31 o 15:09, Andrzej Grajnert pisze:And what about https://trac.pjsip.org/repos/wiki/Using-OpenCORE-AMR-NB-WB-Codec? It is possbile to build it on Android? I try something but I get some errors, here is my log checking for OpenCORE AMR installations.. Using OpenCORE AMR prefix... /media/cookie/sip/pjsip/foo checking opencore-amrnb/interf_enc.h usability... yes checking opencore-amrnb/interf_enc.h presence... no aconfigure: WARNING: opencore-amrnb/interf_enc.h: accepted by the compiler, rejected by the preprocessor! aconfigure: WARNING: opencore-amrnb/interf_enc.h: proceeding with the compiler's result checking for opencore-amrnb/interf_enc.h... yes checking for Encoder_Interface_init in -lopencore-amrnb... yes OpenCORE AMR-NB library found, AMR-NB support enabled checking vo-amrwbenc/enc_if.h usability... yes checking vo-amrwbenc/enc_if.h presence... no aconfigure: WARNING: vo-amrwbenc/enc_if.h: accepted by the compiler, rejected by the preprocessor! aconfigure: WARNING: vo-amrwbenc/enc_if.h: proceeding with the compiler's result checking for vo-amrwbenc/enc_if.h... yes checking opencore-amrwb/dec_if.h usability... yes checking opencore-amrwb/dec_if.h presence... no aconfigure: WARNING: opencore-amrwb/dec_if.h: accepted by the compiler, rejected by the preprocessor! aconfigure: WARNING: opencore-amrwb/dec_if.h: proceeding with the compiler's result checking for opencore-amrwb/dec_if.h... yes checking for D_IF_init in -lopencore-amrwb... yes checking for E_IF_init in -lvo-amrwbenc... no Checking if SILK support is disabled... yes checking for OPUS installations.. I don't understand why presence result is always no... To build opencore by ndk I copy config-android from pjsip and make some changes BR, Andrzej W dniu 2016-10-31 o 13:44, JOHAN LANTZ pisze:If you are ok with only targeting devices <= Android 6.0 you can have a look at how CSipSimple supports amr for pjsip. The advantage with that approach is that theoretically, you do not have to worry about amr licensing. The downside is that starting in Android 7.0, this approach is blocked by Google so for +7.0 versions, you would have to compile opencore for Android yourself (and take care of the amr licensing issues). /Johan On 31/10/2016, 13:36, "pjsip on behalf of frogersik" <pjsip-bounces@xxxxxxxxxxxxxxx on behalf of frogersik@xxxxxxxxx> wrote:Hi all! It is possible to have OpenCORE AMR NB and WB Codecs on Android? br, Andrzej Grajnert _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
<<attachment: config.zip>>
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org