Seems like APS direct do have *PlayCbPcm *call back which is being called as soon as I create the sound device. Not sure why its called as there is no sound feed yet. but the play tonegen gives me no sound whatsover. Am I missing anything? PlayCbPcm does decode PCM to ULAW which should be fine for APS direct frame feed for playing. Please shed some light on it. * void* *PlayRingTone*() { pjmedia_snd_port_param prm; pj_status_t status; pjmedia_tone_desc tones[1]; * int* SAMPLES_PER_FRAME = 64; * int* ON_DURATION = 1500; * int* OFF_DURATION = 2500; pj_status_t status; status = pjmedia_tonegen_create(g_inv->pool, 8000, 1, SAMPLES_PER_FRAME, 16, 0, &ring_port); { tones[0].freq1 = 400; tones[0].freq2 = 0; tones[0].on_msec = ON_DURATION; tones[0].off_msec = OFF_DURATION; } status = pjmedia_aud_dev_default_param(-1, &prm.base); prm.base.clock_rate = 8000; prm.base.channel_count = 1; prm.base.samples_per_frame = 64; prm.base.bits_per_sample = 16; prm.base.flags |= *PJMEDIA_AUD_DEV_CAP_EXT_FORMAT*; //prm.base.ext_fmt.bitrate = 64000; prm.base.ext_fmt.vad = 1; prm.base.ext_fmt.id = *PJMEDIA_FORMAT_L16*; //prm.base.rec_id = -1; prm.base.play_id = -1; prm.base.dir = *PJMEDIA_DIR_PLAYBACK*; //pjmedia_snd_port_create_player( g_inv->pool,-1,8000,1,64,16,0,&ring_snd_dev); status = pjmedia_snd_port_create2(g_inv->pool,&prm,&ring_snd_dev); * *status = pjmedia_snd_port_connect(ring_snd_dev, ring_port); status = pjmedia_tonegen_play(ring_port, 1, tones, *PJMEDIA_TONEGEN_LOOP*); } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20111028/bd4017b2/attachment.html>