Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for bcg729 #2029

Closed
pjsipbot opened this issue Jul 19, 2017 · 0 comments
Closed

Support for bcg729 #2029

pjsipbot opened this issue Jul 19, 2017 · 0 comments

Comments

@pjsipbot
Copy link
Collaborator

2017-07-19 10:10:42: @trengginas created the issue on trac ticket 2029

Support for G729 backend implementation from bcg729.

Requirement:

  • Source code to bcg729, (download here).

Notes:

  • The source code of bcg729 is licensed under GPLv2.

Below are the steps to use the codec:

For GNU targets:

  1. Build the bcg729 library as specified by the their doc.
  2. Run PJSIP's configure by specifying the location to bcg729 library using --with-bcg729 option. E.g.:
./configure --with-bcg=/home/user/opt
  1. Make sure that the library is usable and correctly configured by looking at the configure output. The check is applicable for iOS and android build as well.
Using bcg729 prefix... /Users/riza/src/bcg729/ios
checking bcg729 usability... ok

For Visual Studio:

  1. Build the bcg729 library using Visual Studio, by generating the project using cmake.
  2. Add bcg729 include and library installation paths (folder that contains libbcg729.dll.a) to Visual Studio search path settings.
  3. Add this to your config_site.h:
#define PJMEDIA_HAS_BCG729		1

For iOS:

  1. Build the bcg729 library as specified by the their doc.
  2. Run PJSIP's configure with --with-bcg729 option. E.g.:
./configure-iphone --with-bcg729=/Users/teluu/bcg729/iphone
  1. Copy libbcg729.a to your XCode project directory. Create a folder ios_local/lib inside your XCode project directory (example: for our ipjsua sample app, the directory will be: (PJPROJECT_DIR)/pjsip-apps/src/pjsua/ios/ios_local/lib). Then copy bcg729 dynamic library files to the folder.
    E.g:
cp bcg729/lib/libbcg729.a pjproject-iphone/pjsip-apps/src/pjsua/ios/
cp bcg729/lib/*.dylib pjproject-iphone/pjsip-apps/src/pjsua/ios/ios_local/lib
  1. Add libbcg729.a to your application project in XCode.

For Android:

  1. Patch Android.mk in the bcg729 source root directory, just append src/cng.c, src/dtx.c, src/vad.c to LOCAL_SRC_FILES.
  2. Build the bcg729 library, e.g:

cd [bcg729-source-path]
$ANDROID_NDK_ROOT/build/ndk-build APP_ABI=arm64-v8a
NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk
```

  1. Create directory lib under bcg729 library source, and copy the libbcg729.a from [bcg729-source-path]/obj/local/[ABI] to it.
  2. Run PJSIP's configure with --with-bcg729 option. E.g.:
./configure-android --with-bcg729=/Users/teluu/bcg729/android

2017-07-19 11:29:12: @trengginas commented

In r5630:
Re #2029: Support for G.729 backend implementation from bcg729.


2017-07-26 03:04:36: @trengginas changed status from new to closed


2017-07-26 03:04:36: @trengginas set resolution to fixed


2018-01-09 18:24:34: @ismangil edited the issue description


2019-08-15 09:34:32: @nanangizz edited the issue description

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants