summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-06-04 19:36:52 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-06-04 19:36:52 +0000
commit677553788814cc29601fc1658827ba9a0c98fbe1 (patch)
treebc74543f38d1da3f2b42dbd1a567c4630a8d9d36 /pjmedia
parent0fb94a0354d037db6c49992a29b7bb97da4bdb53 (diff)
Ticket #879:
- Fixed bug in conf bridge create_on_port() (bug of r2747). - Updated sound port to instantiate sync port only when audio format is PCM. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2748 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/conference.c2
-rw-r--r--pjmedia/src/pjmedia/sound_port.c27
2 files changed, 16 insertions, 13 deletions
diff --git a/pjmedia/src/pjmedia/conference.c b/pjmedia/src/pjmedia/conference.c
index 5a23d11d..498eb171 100644
--- a/pjmedia/src/pjmedia/conference.c
+++ b/pjmedia/src/pjmedia/conference.c
@@ -458,7 +458,7 @@ static pj_status_t create_sound_port( pj_pool_t *pool,
pj_status_t status;
- status = create_conf_port(conf, pool, &name, NULL, &conf_port);
+ status = create_conf_port(pool, conf, NULL, &name, &conf_port);
if (status != PJ_SUCCESS)
return status;
diff --git a/pjmedia/src/pjmedia/sound_port.c b/pjmedia/src/pjmedia/sound_port.c
index db554b48..85dddd97 100644
--- a/pjmedia/src/pjmedia/sound_port.c
+++ b/pjmedia/src/pjmedia/sound_port.c
@@ -564,7 +564,6 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_connect( pjmedia_snd_port *snd_port,
{
pjmedia_port_info *pinfo;
pjmedia_aud_param *param;
- pjmedia_sync_param sync_param;
pj_status_t status;
PJ_ASSERT_RETURN(snd_port && port, PJ_EINVAL);
@@ -609,18 +608,22 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_connect( pjmedia_snd_port *snd_port,
return status;
}
- /* Create sync port */
- pj_bzero(&sync_param, sizeof(sync_param));
- sync_param.options = PJMEDIA_SYNC_DONT_DESTROY_DN;
- status = pjmedia_sync_port_create(snd_port->pool,
- (snd_port->echo_port?
- snd_port->echo_port:snd_port->port),
- &sync_param, &snd_port->sync_port);
- if (status != PJ_SUCCESS)
- return status;
+ /* Create sync port. Only do this if the format is PCM! */
+ if (param->ext_fmt.id == PJMEDIA_FORMAT_PCM) {
+ pjmedia_sync_param sync_param;
+
+ pj_bzero(&sync_param, sizeof(sync_param));
+ sync_param.options = PJMEDIA_SYNC_DONT_DESTROY_DN;
+ status = pjmedia_sync_port_create(snd_port->pool,
+ (snd_port->echo_port?
+ snd_port->echo_port:snd_port->port),
+ &sync_param, &snd_port->sync_port);
+ if (status != PJ_SUCCESS)
+ return status;
- /* Update down port of sound port */
- snd_port->dn_port = snd_port->sync_port;
+ /* Update down port of sound port */
+ snd_port->dn_port = snd_port->sync_port;
+ }
return PJ_SUCCESS;
}