Не заработало, думаю надо взять этот код за основу
if (need_reopen) {
if (pjsua_var.cap_dev != PJSUA_SND_NULL_DEV) {
pjmedia_snd_port_param param;
pjmedia_snd_port_param_default(¶m);
param.ec_options = pjsua_var.media_cfg.ec_options;
/* Create parameter based on peer info */
status = create_aud_param(¶m.base, pjsua_var.cap_dev,
pjsua_var.play_dev,
peer_info.clock_rate,
peer_info.channel_count,
peer_info.samples_per_frame,
peer_info.bits_per_sample,
PJ_FALSE);
if (status != PJ_SUCCESS) {
pjsua_perror(THIS_FILE, "Error opening sound device",
status);
goto on_return;
}
/* And peer format */
if (peer_info.format.id != PJMEDIA_FORMAT_PCM) {
param.base.flags |= PJMEDIA_AUD_DEV_CAP_EXT_FORMAT;
param.base.ext_fmt = peer_info.format;
}
param.options = 0;
status = open_snd_dev(¶m);
if (status != PJ_SUCCESS) {
pjsua_perror(THIS_FILE, "Error opening sound device",
status);
goto on_return;
}
} else {
/* Null-audio */
status = pjsua_set_snd_dev(pjsua_var.cap_dev,
pjsua_var.play_dev);
if (status != PJ_SUCCESS) {
pjsua_perror(THIS_FILE, "Error opening sound device",
status);
goto on_return;
}
}
}