Re #1509: backported r4122-r4129.

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4130 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
Nanang Izzuddin 2012-05-17 08:35:51 +00:00
parent 48f46a9f37
commit 0663885d34
4 changed files with 24 additions and 6 deletions

View File

@ -1139,7 +1139,7 @@
/**
* Duration for progressive discard algotithm in jitter buffer to discard
* an excessive frame when burst is equal to or lower than
* an excessive frame when burst is equal to or greater than
* PJMEDIA_JBUF_PRO_DISC_MAX_BURST, in milliseconds.
*
* Default: 10000 ms

View File

@ -547,6 +547,7 @@ static pj_status_t open_playback (struct alsa_stream* stream,
int result;
unsigned int rate;
snd_pcm_uframes_t tmp_buf_size;
snd_pcm_uframes_t tmp_period_size;
if (param->play_id < 0 || param->play_id >= stream->af->dev_cnt)
return PJMEDIA_EAUD_INVDEV;
@ -613,10 +614,11 @@ static pj_status_t open_playback (struct alsa_stream* stream,
param->channel_count;
TRACE_((THIS_FILE, "open_playback: set period size: %d",
stream->pb_frames));
tmp_period_size = stream->pb_frames;
snd_pcm_hw_params_set_period_size_near (stream->pb_pcm, params,
&stream->pb_frames, NULL);
&tmp_period_size, NULL);
TRACE_((THIS_FILE, "open_playback: period size set to: %d",
stream->pb_frames));
tmp_period_size));
/* Set the sound device buffer size and latency */
if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY)
@ -663,6 +665,7 @@ static pj_status_t open_capture (struct alsa_stream* stream,
int result;
unsigned int rate;
snd_pcm_uframes_t tmp_buf_size;
snd_pcm_uframes_t tmp_period_size;
if (param->rec_id < 0 || param->rec_id >= stream->af->dev_cnt)
return PJMEDIA_EAUD_INVDEV;
@ -729,10 +732,11 @@ static pj_status_t open_capture (struct alsa_stream* stream,
param->channel_count;
TRACE_((THIS_FILE, "open_capture: set period size: %d",
stream->ca_frames));
tmp_period_size = stream->ca_frames;
snd_pcm_hw_params_set_period_size_near (stream->ca_pcm, params,
&stream->ca_frames, NULL);
&tmp_period_size, NULL);
TRACE_((THIS_FILE, "open_capture: period size set to: %d",
stream->ca_frames));
tmp_period_size));
/* Set the sound device buffer size and latency */
if (param->flags & PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY)

View File

@ -675,6 +675,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id,
pjsip_route_hdr local_route;
pj_str_t acc_proxy[PJSUA_ACC_MAX_PROXIES];
pj_bool_t update_reg = PJ_FALSE;
pj_bool_t unreg_first = PJ_FALSE;
pj_status_t status = PJ_SUCCESS;
PJ_ASSERT_RETURN(acc_id>=0 && acc_id<(int)PJ_ARRAY_SIZE(pjsua_var.acc),
@ -802,6 +803,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id,
pj_strdup_with_null(acc->pool, &acc->srv_domain, &id_sip_uri->host);
acc->srv_port = 0;
update_reg = PJ_TRUE;
unreg_first = PJ_TRUE;
}
/* User data */
@ -856,6 +858,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id,
pj_strdup_with_null(acc->pool, &acc->cfg.force_contact,
&cfg->force_contact);
update_reg = PJ_TRUE;
unreg_first = PJ_TRUE;
}
/* Contact param */
@ -1100,6 +1103,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id,
pj_bzero(&acc->cfg.reg_uri, sizeof(acc->cfg.reg_uri));
}
update_reg = PJ_TRUE;
unreg_first = PJ_TRUE;
}
/* SIP outbound setting */
@ -1110,6 +1114,16 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id,
update_reg = PJ_TRUE;
}
/* Unregister first */
if (unreg_first) {
pjsua_acc_set_registration(acc->index, PJ_FALSE);
if (acc->regc != NULL) {
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
acc->contact.slen = 0;
}
}
/* Update registration */
if (update_reg) {
/* If accounts has registration enabled, start registration */

View File

@ -115,7 +115,7 @@ rdb_add_index(rdb_t *rdb, uint32_t index) {
/* shift the window forward by delta bits*/
v128_left_shift(&rdb->bitmask, delta);
v128_set_bit(&rdb->bitmask, rdb_bits_in_bitmask-delta);
v128_set_bit(&rdb->bitmask, rdb_bits_in_bitmask-1);
rdb->window_start += delta;
}