From ccc07a592e872946cd1e07677cd767f7448bc979 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Thu, 27 Apr 2006 22:37:08 +0000 Subject: Initial support for stereo codecs, and added L16 codecs. Also better handling for case remote media is restarted git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@412 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_core.c | 36 ++++++++++++++++++++++++++++++++++-- pjsip/src/pjsua-lib/pjsua_settings.c | 2 +- 2 files changed, 35 insertions(+), 3 deletions(-) (limited to 'pjsip/src') diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index 461aebb3..0bfb062c 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -662,6 +662,21 @@ static pj_status_t init_media(void) pjsua.codec_cnt++; #endif /* PJMEDIA_HAS_GSM_CODEC */ +#if PJMEDIA_HAS_L16_CODEC + /* Register L16 */ + status = pjmedia_codec_l16_init(pjsua.med_endpt, 0); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Error initializing L16 codec", + status); + return status; + } + + pjsua.codec_arg[pjsua.codec_cnt] = pj_str("l16"); + pjsua.codec_deinit[pjsua.codec_cnt] = &pjmedia_codec_l16_deinit; + pjsua.codec_cnt++; +#endif /* PJMEDIA_HAS_L16_CODEC */ + + #if PJMEDIA_HAS_G711_CODEC /* Register PCMA and PCMU */ status = pjmedia_codec_g711_init(pjsua.med_endpt); @@ -731,6 +746,23 @@ static pj_status_t init_media(void) } #endif /* PJMEDIA_HAS_GSM_CODEC */ +#if PJMEDIA_HAS_L16_CODEC + /* Is it l16? */ + else if (!pj_stricmp2(&pjsua.codec_arg[i], "l16")) { + + status = pjmedia_codec_l16_init(pjsua.med_endpt, 0); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Error initializing L16 codec", + status); + return status; + } + + pjsua.codec_deinit[i] = &pjmedia_codec_l16_deinit; + + pjsua.clock_rate = 44100; + } +#endif /* PJMEDIA_HAS_L16_CODEC */ + #if PJMEDIA_HAS_G711_CODEC /* Is it pcma/pcmu? */ else if (!pj_stricmp2(&pjsua.codec_arg[i], "pcmu") || @@ -794,8 +826,8 @@ static pj_status_t init_media(void) pj_str_t port_name; /* Create the file player port. */ - status = pjmedia_file_player_port_create( pjsua.pool, pjsua.wav_file, - 0, -1, NULL, + status = pjmedia_wav_player_port_create( pjsua.pool, pjsua.wav_file, + 0, 0, -1, NULL, &pjsua.file_port); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, diff --git a/pjsip/src/pjsua-lib/pjsua_settings.c b/pjsip/src/pjsua-lib/pjsua_settings.c index 4a02ca11..d811f288 100644 --- a/pjsip/src/pjsua-lib/pjsua_settings.c +++ b/pjsip/src/pjsua-lib/pjsua_settings.c @@ -675,7 +675,7 @@ static void dump_media_session(pjmedia_session *session) i, info.stream_info[i].fmt.encoding_name.slen, info.stream_info[i].fmt.encoding_name.ptr, - info.stream_info[i].fmt.sample_rate / 1000, + info.stream_info[i].fmt.clock_rate / 1000, dir, rem_addr, rem_port)); -- cgit v1.2.3