Symbain_ua_gui call recorder

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

 



*i make my functions 'ints'.  you an chastise me if you wish* ;)

so like:

// callback
cfg.cb.on_dtmf_digit = (void *)dtmf_digit;

int dtmf_digit(pjsua_call_id call_id, int digit)
{
	// blow it away
	pjsua_recorder_destroy(whatever_your_recordID_was);

	return 1;
}


I can't code the whole thing for you.  but thats the basic idea.




On Mar 23, 2013, at 7:15 AM, Zeeshan Ali <z.satan666 at gmail.com> wrote:

> Thanx a million for your reply.
> 
> 
> Ok so how to complete the recording file ie stop recording. Just
> destroying recorder should do the trick?
> 
> and i'm using the gui version not the console version.
> So to destroy the recorder, there has to be an event. so to this
> becomes a void function?
> 
> and what is this function returning?
> 
> On 3/22/13, Ted Gerold <tedgerold at icloud.com> wrote:
>> Hello Zeeshan,
>>  This example should get you started:
>> 
>> 
>> int pjsua_record(pjsua_call_id call_id, char *file)
>> {
>>  pjsua_recorder_id rec_id;
>> 
>>  pjsua_call_info ci;
>>  pjsua_call_get_info(call_id, &ci);
>> 
>>  pj_str_t rec_file = pj_str(file);
>>  pj_status_t status = PJ_ENOTFOUND;
>> 
>>  status = pjsua_recorder_create(&rec_file, 0, NULL, 0, 0, &rec_id);
>> 
>>  if (status != PJ_SUCCESS) {
>>    printf("GASP!!  record error!!\n");
>>  }
>> 
>>  pjsua_conf_port_id rec_port = pjsua_recorder_get_conf_port(rec_id);
>>  pjsua_conf_connect(ci.conf_slot, rec_port);
>> 
>>  // manage your rec_id here so you can destroy it later!!
>>  // i.e. if a digit is pressed
>>  //
>> 
>>  return 1;
>> }
>> 
>> 
>> 
>> 
>> On Mar 22, 2013, at 5:59 AM, Zeeshan Ali <z.satan666 at gmail.com> wrote:
>> 
>>> still no reply.. do people exist out there?
>>> 
>>> void record()
>>> {
>>> 	
>>> 	pjsua_recorder_id rec_id=NULL;
>>> 	pj_status_t status;
>>> 	pjsua_conf_port_id	    rec_port=NULL;
>>> 	pjsua_call_info ci;
>>> 	pjsua_call_get_info(g_call_id, &ci);
>>> 	
>>> 	
>>> 	        status = pjsua_recorder_create(&pj_str("rec.wav"), 0, NULL,
>>> -1, 0, &rec_id);
>>> 	        if (status != PJ_SUCCESS) {
>>> 	            pjsua_perror(THIS_FILE, "error dll_startAudioCapture from
>>> pjsua_recorder_create", status);
>>> 	        } else {
>>> 	            rec_port = pjsua_recorder_get_conf_port(rec_id);
>>> 	            g_rec_id=rec_id;
>>> 	            PJ_LOG(3, (THIS_FILE, "dll_startAudioCapture recId=%d
>>> confPort=%d", rec_id, rec_port));
>>> 	            /* connect sound port to recorder port */
>>> 	            status = pjmedia_conf_connect_port(pjsua_var.mconf, 0,
>>> rec_port, 0);
>>> 	            if (status != PJ_SUCCESS) {
>>> 	                pjsua_perror(THIS_FILE, "error dll_startAudioCapture
>>> pjmedia_conf_connect_port snd->recport", status);
>>> 	            }
>>> 	            /* connect caller's port to recorder port */
>>> 	            status = pjmedia_conf_connect_port(pjsua_var.mconf,
>>> ci.conf_slot, rec_port, 0);
>>> 	            if (status != PJ_SUCCESS) {
>>> 	                pjsua_perror(THIS_FILE, "error dll_startAudioCapture
>>> pjmedia_conf_connect_port caller->recport", status);
>>> 	            }
>>> }
>>> }
>>> 
>>> void rec_stop()
>>> 	{
>>> 	pjsua_recorder_id rec_id=NULL;
>>> 	pj_status_t status;
>>> 	rec_id=g_rec_id;
>>> 	status=pjsua_recorder_destroy(rec_id);
>>> 	}
>>> can anyone PLEASE tell me where i'm going wrong? i'm getting a " error
>>> dll_startAudioCapture from pjsua_recorder_create: Unknown PJLIB error
>>> "
>>> 
>>> 
>>> C'om guys please help me out, out of 3 mails atleast reply to 1 of them
>>> 
>>> On 3/12/13, Zeeshan Ali <z.satan666 at gmail.com> wrote:
>>>> this is the code i have been using..
>>>> 
>>>> void record()
>>>> 	{
>>>> 	pj_str_t		    rec_file;
>>>> 	  pjsua_recorder_id	    rec_id ;
>>>> 	   pjsua_conf_port_id	    rec_port;
>>>> 
>>>> 	pjsua_call_info call_info;
>>>> 	pj_status_t status;
>>>> 	pjsua_call_get_info(g_call_id, &call_info);
>>>> 	//rec_file = pj_str("./record.wav");
>>>> 	rec_id=-1;
>>>> 	
>>>> 	        status = pjsua_recorder_create(&rec_file, 0, NULL, -1,
>>>> 0,&rec_id);
>>>> 	
>>>>       if (status != PJ_SUCCESS) {
>>>> 	            pjsua_perror(THIS_FILE, "error dll_startAudioCapture from
>>>> pjsua_recorder_create", status);
>>>>       }
>>>>       else
>>>>       	{
>>>> 	             rec_port = pjsua_recorder_get_conf_port( rec_id);
>>>> 	            PJ_LOG(5, (THIS_FILE, "dll_startAudioCapture recId=%d
>>>> confPort=%d", rec_id,  rec_port));
>>>> 	            /* connect sound port to recorder port */
>>>> 	            status = pjmedia_conf_connect_port(pjsua_var.mconf, 0,
>>>> rec_port, 0);
>>>> 	            if (status != PJ_SUCCESS) {
>>>> 	                pjsua_perror(THIS_FILE, "error dll_startAudioCapture
>>>> pjmedia_conf_connect_port snd->recport", status);
>>>> 	            }
>>>> 	            /* connect caller's port to recorder port */
>>>> 	            status = pjmedia_conf_connect_port(pjsua_var.mconf,
>>>> call_info.conf_slot,  rec_port, 0);
>>>> 	            if (status != PJ_SUCCESS) {
>>>> 	                pjsua_perror(THIS_FILE, "error dll_startAudioCapture
>>>> pjmedia_conf_connect_port caller->recport", status);
>>>> 	
>>>> 	            }
>>>>       	}
>>>> 
>>>> 
>>>> when i execute this on my s60v5, i get "error dll_startAudioCapture
>>>> from pjsua_recorder_create"
>>>> 
>>>> please help me
>>>> 
>>>> On 3/12/13, Zeeshan Ali <z.satan666 at gmail.com> wrote:
>>>>> please reply.. I need to implement call recording by pjsua recorder
>>>>> create and not by pjmedia..
>>>>> 
>>>>> On 3/11/13, Zeeshan Ali <z.satan666 at gmail.com> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> I have been working on symbian_ua_gui available in 2.1.0 version of
>>>>>> pjsip.
>>>>>> 
>>>>>> I added support for volume + - and switching audio source on vas
>>>>>> direct.
>>>>>> 
>>>>>> I have been trying to implement call recording feature. Can you please
>>>>>> provide me the module for call recording in wave for symbian_ua.cpp
>>>>>> file in symbian_ua_gui.
>>>>>> 
>>>>>> It's kinda urgent and i please request you to look at it and give me a
>>>>>> module for it.
>>>>>> 
>>>>>> Zeeshan
>>>>>> 
>>>>> 
>>>> 
>>> 
>>> _______________________________________________
>>> 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 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