---------- Forwarded message ---------- From: VOIP Guru <voicecanada@xxxxxxxxx> Date: Thu, 24 Mar 2011 04:50:04 +0600 Subject: Simple-UA in Symbian and VAS To: pjsip at lists.pjsip.org I am trying to port simpleua example in symbian with VAS direct. The invite session is fine and call get connected but problem with media. Player and Recorder is created but failed when media playing. Looks like frame buffer had not been initialized. It fails in play_cb function in soundport.c and PlayCbPcm function in symb_vas_dev.cpp where I get data abort exception. Any idea what am I missing. static void call_on_media_update( pjsip_inv_session *inv, pj_status_t status) { pjmedia_session_info sess_info; const pjmedia_sdp_session *local_sdp; const pjmedia_sdp_session *remote_sdp; pjmedia_port *media_port; if (status != PJ_SUCCESS) { app_perror(THIS_FILE, "SDP negotiation has failed", status); return; } status = pjmedia_sdp_neg_get_active_local(inv->neg, &local_sdp); status = pjmedia_sdp_neg_get_active_remote(inv->neg, &remote_sdp); status = pjmedia_session_info_from_sdp(inv->dlg->pool, g_med_endpt, 1, &sess_info, local_sdp, remote_sdp); if (status != PJ_SUCCESS) { app_perror( THIS_FILE, "Unable to create media session", status); return; } status = pjmedia_session_create( g_med_endpt, &sess_info, &g_med_transport, NULL,&g_med_session ); if (status != PJ_SUCCESS) { app_perror( THIS_FILE, "Unable to create media session", status); return; } pjmedia_session_get_port(g_med_session, 0, &media_port); status = pjmedia_snd_port_create_player( inv->pool, /* pool */ -1, /* sound dev id */ media_port->info.clock_rate, /* clock rate */ media_port->info.channel_count, /* channel count */ media_port->info.samples_per_frame, /* samples per frame*/ media_port->info.bits_per_sample, /* bits per sample */ 0, /* options */ &g_snd_player); if (status != PJ_SUCCESS) { app_perror( THIS_FILE, "Unable to create sound player", status); PJ_LOG(3,(THIS_FILE, "%d %d %d %d", media_port->info.clock_rate, /* clock rate */ media_port->info.channel_count, /* channel count */ media_port->info.samples_per_frame, /* samples per frame*/ media_port->info.bits_per_sample /* bits per sample */ )); return; } status = pjmedia_snd_port_connect(g_snd_player, media_port); return; status = pjmedia_snd_port_create_rec( inv->pool, /* pool */ -1, /* sound dev id */ media_port->info.clock_rate, /* clock rate */ media_port->info.channel_count, /* channel count */ media_port->info.samples_per_frame, /* samples per frame*/ media_port->info.bits_per_sample, /* bits per sample */ 0, /* options */ &g_snd_rec); if (status != PJ_SUCCESS) { app_perror( THIS_FILE, "Unable to create sound recorder", status); return; } status = pjmedia_snd_port_connect(g_snd_rec, media_port); }