I've tried that. WASAPI implementation does not compile when targeting a Windows Store App. In PortAudio mailing list, I found out that the developer of WASAPI dissapeared. I don't know what else to try and/or do. Thanks On Mar 26, 2014 9:29 PM, "A.Ahland" <a.ahland at gmx.de> wrote: > Hi, > > I would use portaudio, which has WASAPI implemented and which is already > in PJSIP. Maybe update it to a newer version. > > Cheers, > > Andreas > > > Am 26.03.2014 18:45, schrieb Nuno Centeio: > > @Bill, > > I understand that. But, do you think that the render will only work if > the capture is working correctly? > I'm capturing and sending to the network but I'm not converting from IEEE > Floating Point to PCM16 bits (the sound is not playing well on the > destination). > > Thanks > > > On 26 March 2014 17:22, Bill Gardner <billg at wavearts.com> wrote: > >> You could run one WASAPI thread and service both playback and capture >> events using WaitForMultipleObjects. You should implement audio capture for >> the obvious reason to make the microphone work, plus not providing pjsip >> with capture buffers will cause lots of underflow messages. >> >> Bill >> >> >> On 3/26/2014 12:48 PM, Nuno Centeio wrote: >> >> *@Bill,* >> >> But the record is not made in the thread that gets the frame (my WASAPI >> thread), right? Or do I need to implement my capture engine in order for >> the render buffer to be correct? >> >> *@Abdelrahman*, >> >> I think that the only problem will be the WinSocks. However, I'm not >> targeting for ARM devices, where WinSocks does not exist. In x86 and x64 >> processors there is WinSocks. But, however, I'm already prepared to be >> rejected a lot of times :( >> >> >> On 26 March 2014 16:40, Abdelrahman Salah <abdelrahman.salah.cs at gmail.com >> > wrote: >> >>> Dear nuno, >>> >>> This is a side hint, please bay attention to the dependencies required, >>> because most of the dependencies required are not allowed in windows store >>> and more than likely it will fail the certificate test. >>> So take that into consideration before spending time and effort. >>> >>> Abdelrahman Salah >>> Sent From My Note II >>> On 26 Mar 2014 18:25, "Nuno Centeio" <nuno.r.centeio at gmail.com> wrote: >>> >>>> Hi guys, >>>> >>>> I'm trying to implement the Windows Audio Session API (WASAPI) in >>>> order to make PJSip compliant with Windows Store apps. >>>> >>>> I think that I'm almost done but I can get the sound correctly (it's >>>> just that!). >>>> >>>> Here is what I have: >>>> >>>> (pb_client is a IAudioRenderClient) >>>> hr = strm->pb_client->GetBuffer(frame_to_render, &cur_pb_buf); >>>> >>>> pjmedia_frame frame; >>>> void* destBuffer = >>>> (void*)malloc(strm->bytes_per_frame*frame_to_render*sizeof(pj_uint16_t)); >>>> /* PCM mode */ >>>> frame.type = PJMEDIA_FRAME_TYPE_AUDIO; >>>> frame.size = strm->bytes_per_frame; >>>> frame.timestamp.u64 = strm->pb_timestamp.u64; >>>> frame.bit_info = 0; >>>> frame.buf = destBuffer; >>>> >>>> status = (*strm->pb_cb)(strm->user_data, &frame); >>>> >>>> /* Because PJSip will give me PCM 16 bits, 2 channels and WASAPI needs >>>> IEEE Floating point 32-bits, 2 channels >>>> */ >>>> CAudioConverter* conv = new CAudioConverter(); >>>> conv->ConvI16ToF32((BYTE*)destBuffer, cur_pb_buf, frame_to_render); >>>> >>>> /* Write to the device. */ >>>> hr = strm->pb_client->ReleaseBuffer(frame_to_render, 0); >>>> >>>> While running I have the following prints: >>>> 3/26/2014 4:00:01 PM V SIP - Underflow, buf_cnt=0, will >>>> generate 1 frame >>>> 3/26/2014 4:00:01 PM V SIP - Underflow, buf_cnt=0, will >>>> generate 1 frame >>>> 3/26/2014 4:00:01 PM V SIP - 698 samples reduced, buf_cnt=6092 >>>> 3/26/2014 4:00:01 PM V SIP - Buffer size adjusted from 6790 to >>>> 6092 (eff_cnt=5760) >>>> 3/26/2014 4:00:01 PM V SIP - Underflow, buf_cnt=0, will >>>> generate 1 frame >>>> 3/26/2014 4:00:02 PM V SIP - 320 samples reduced, buf_cnt=6412 >>>> 3/26/2014 4:00:02 PM V SIP - Buffer size adjusted from 6732 to >>>> 6412 (eff_cnt=5760) >>>> >>>> Any hints on what I might be doing wrong? >>>> >>>> Thanks >>>> >>>> _______________________________________________ >>>> Visit our blog: http://blog.pjsip.org >>>> >>>> pjsip mailing list >>>> pjsip at lists.pjsip.org >>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>>> >>>> >>> _______________________________________________ >>> Visit our blog: http://blog.pjsip.org >>> >>> pjsip mailing list >>> pjsip at lists.pjsip.org >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >>> >> >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing listpjsip at lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing listpjsip at lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140326/b3c277e2/attachment-0001.html>