Play wave to caller (clock rate?) + VAS ilbc codec trouble

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tine,

Previously you were asking about (wav file) clock rate suitable for
call stream, the
pjmedia_conf_get_port_info()/pjsua_conf_get_port_info() should be able
to tell that. As seen in the conf_get_port_info() output, the call
stream clock rate was 16kHz, so you should use 16kHz wav file (btw,
the codec was not iLBC though, as iLBC uses 8kHz clock rate, the easy
way to check which codec being used should be by inspecting log file).

Secondly, when using VAS-Direct, streaming on-hold audio from wav file
may not be possible when the codec for the stream is VAS/hardware
codec (i.e: G711, AMR-NB, G.729, iLBC), as the stream won't accept the
raw PCM frames outputted by the wav reader.

Regarding crash on X6 (but fine on N78), perhaps it is about VAS
version, S60 5th ed normally uses VAS v2.0, VAS version can be
specified via PJMEDIA_AUDIO_DEV_SYMB_VAS_VERSION, not really sure if
this is the problem though. If you are sure that VAS version was set
correctly but the problem persists, please provide the steps to
reproduce the problem using symbian_ua sample app.

BR,
nanang


On Thu, Oct 14, 2010 at 5:22 PM, Tine Ur?i? <tine at cde.si> wrote:
> In the meantime I did some research. Wireshark told me that I'm using speex.
> No Idea how it got there though (disabled on the priority list).
> Now I disabled codecs in config_site.h:
>
> ??????? /* Select codecs to disable */
> ??? #define PJMEDIA_HAS_L16_CODEC??? ??? 0
> ??? #define PJMEDIA_HAS_ILBC_CODEC??? ?? 0
> ??? #define PJMEDIA_HAS_G722_CODEC??? ?? 0
> ??? #define PJMEDIA_HAS_G711_CODEC??? ?? 0
> ??? #define PJMEDIA_HAS_GSM_CODEC??? ??? 0
> ??? #define PJMEDIA_HAS_SPEEX_CODEC??? ? 0
> ??? #define PJMEDIA_HAS_INTEL_IPP??? ??? 0
>
>
> After the change I can't make a call with nokia X6. On an older N78 it seems
> OK.
> Error (nothing specific, app crashes):
> Process 1575, thread 1576 stopped at 0x802c520f: Thread 0x628 has panicked.
> Category: KERN-EXEC; Reason: 0
>
> It happens somewhere inside "pjsua_conf_connect(CallDetails.conf_slot, 0)
> ;". Any ideas?
>
>
>
> Tine Ur?i? wrote:
>
> Hi.
>
> Thanks for the response.
>
> I'm using VAS-Direct (in config_site.h: "#define PJ_CONFIG_NOKIA_VAS_DIRECT
> 1") . The codec should be ilbc - I disabled the other codecs and put ilbc on
> the top priority (pjsua_codec_set_priority), but I'm not completely sure it
> was correctly negotiated.
> How can I check for the codec being used during call?
>
> What exactly did you mean by "Try pjmedia_conf_get_port_info() for the
> destination port."? I did try to use pjsua_conf_get_port_info to get some
> more info on the stream:
>
> pjsua_conf_port_info PortInfo;
>
> status = pjsua_conf_get_port_info( pjsua_call_get_conf_port(CallID),
> &PortInfo );
>
> if (status != PJ_SUCCESS)
>
> {
>
>     qDebug() << "Error while reading port info:" << status;
>
> }
>
> Debug output:
> PortInfo name:? sip:xxxxxxx at xx.xx.xx.xx:5060;user=phone
> PortInfo clock rate:? 16000
> PortInfo channel count:? 1
> PortInfo samples per frame:? 320
> PortInfo bits per sample:? 16
> PortInfo listener cnt:? 0
>
>
> Best regards,
> Tine
>
>
> Nanang Izzuddin wrote:
>
> Hi,
>
> Try pjmedia_conf_get_port_info() for the destination port.
>
> Are you using VAS-Direct? And which codec was being used by the call stream?
>
> BR,
> nanang
>
>
> On Wed, Oct 13, 2010 at 2:11 PM, Tine Ur?i? <tine at cde.si> wrote:
>
>
> Hi.
>
> I'm having a bit of trouble with playing a wave audio file to caller while
> "on hold".
>
> The error returned by pjsua_conf_connect is "220161" (Incompatible clock
> rate - PJMEDIA_ENCCLOCKRATE).
> The manual states: "WAV player port supports for reading WAV file with
> uncompressed 16 bit PCM format or compressed G.711 A-law/U-law format.".
> I've tried a lot of different wave formats (including 16bit 8khz standard)
> and I can't seem to find the right wave settings.
> If I connect player to the local speaker it works just fine (example:
> pjsua_conf_connect(pjsua_player_get_conf_port(player_id), 0); ).
>
> I'm using pjsip v1.6 on a symbian S60 device (VAS).
>
> How can I find which clock rate to use?
>
> Here's my sample code:
>
> ??? pj_status_t status ;
> ??? pjsua_call_info???? CallDetails ;
> ??? pjsua_player_id???? player_id;
>
> ??? if (pjsua_call_get_info(CallID, &CallDetails) == PJ_SUCCESS)
> ??? {
> ??? ??? //disconnect caller
> ??? ??? pjsua_conf_disconnect(CallDetails.conf_slot, 0) ;
> ??? ??? pjsua_conf_disconnect(0, CallDetails.conf_slot) ;
>
> ??? ??? //create player
> ??? ??? pj_str_t awav = pj_str ("C:\\Data\\OnHold.wav");
> ??? ??? status = pjsua_player_create(&awav, 0, &player_id);
> ??? ??? if (status != PJ_SUCCESS)
> ??? ??? {
> ??? ??? ??? status =
> pjsua_conf_connect(pjsua_player_get_conf_port(player_id),
> CallDetails.conf_slot);
> ??? ??? ??? ...
> ??? ??? }
>
> ??? }
>
>
>
> _______________________________________________
> 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
>
>
> --
> Tine Ur?i?
> Razvojni in?enir
>
> CDE nove tehnologije d.o.o.
> Tehnolo?ki park 24
> 1000 Ljubljana, Slovenija
>
> GSM: +386 0 30 600 619
> E-mail: tine at cde.si
> www.cde.si
>
> --
> Tine Ur?i?
> Razvojni in?enir
>
> CDE nove tehnologije d.o.o.
> Tehnolo?ki park 24
> 1000 Ljubljana, Slovenija
>
> GSM: +386 0 30 600 619
> E-mail: tine at cde.si
> www.cde.si
>
> _______________________________________________
> 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
>
>



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux