Enabling External Sound Device Configurations
External sound device configuration enables application to provide its own sound device implementation rather than the implementation provided by PJMEDIA. This option was added in PJSIP version 0.9.5.
GNU Build System
Follow these steps to enable external sound device with GNU build system.
- Enable external sound device in ./configure command:
- Edit user.mak in root PJSIP directory to add your sound device implementation in the link process. For example, if your sound device implementation is in ext_snd.c in your home directory, the content of user.mak file will look something like this:
# This is the rule to compile your sound implementation ~/ext_snd.o: ~/ext_snd.c $(APP_CC) $(APP_CFLAGS) -c $< -o $@ # Specify this so that your file will be compiled when 'make all' is invoked all: ~/ext_snd.o # Add your implementation to LDFLAGS export LDFLAGS += ~/ext_snd.oNote that all directory reference must use full path rather than relative path, since the make command will be invoked in build directory of the libraries rather than in root PJSIP directory.
- Build everything:
Visual Studio and Others
Follow these steps to enable external sound device with Visual Studio build system.
- Declare this in your config_site.h:
#define PJMEDIA_SOUND_IMPLEMENTATION PJMEDIA_SOUND_EXTERNAL
- Add your sound device implementation source file in the application project (e.g. in application's Visual Studio project, or in application's MMP file for Symbian).