You are right Benny, it works, but as I expected too it does not work if the active call running is using speex (you can't deinit a codec being uses, right?). I have to make this in some way. I have 2 ideas: - The "dirty one" is to do the change using another codec as intermediate codec. I am going to do the change in a silence, so I think that it should really not cause any quality loss. In a call using speex, the steps could be for example: 1- Change Cp to set ilbc with more priority. 2- Update 3- Deinit speex and init_speex with the new quality 4- Change Cp to set speex again as the first in priority 5- Send a new update. I have tried these steps and it seems to work (I have to study the possible impairments). - The other idea is to add the different configurations as different codecs. I don't know how to implement new codecs, but the idea is to implement add 5 different codecs (one for each quality setting). The codec implementation should be the same for the 5 codecs (and the same code), but the quality for each other is the suitable for my purpose. I don't know if I have explained well because it is only a vague idea in my mind. What do you think about my ideas? Am I a crazy man? Thanks Benny for beeing so generous. I am very grateful. > >> > Well, I am working in that, but I am wondering some things.> > - If we are using the speex with quality 4 for example, and I want to> > change the quality to 6, what should be the steps to make?> > I am trying to do directly calling the pjmedia_codec_speex_init function to> > change the quality, and then calling to update implemented in pjsua. Is it> > right? (I think it is probably a mistake calling directly to speex_init> > without doing some changes before).> >> > I have tried to do it with:> > pjsua_var.media_cfg.quality = 10;> > pjmedia_codec_speex_init(pjsua_var.med_endpt,> > 0,> > pjsua_var.media_cfg.quality,> > pjsua_var.media_cfg.quality);> >> > But, then I try to see if any change has been done using 'd' and the dump> > informations shows the same bitrate (the bitrate should change according to> > the new quality, isn't it?)> > Yes it should.> > > What is wrong?> >> > My guess is probably you missed calling pjmedia_codec_speex_deinit().> > I tried adding a new menu command like below in pjsua, and it seems to work:> > case 'Q':> if (!simple_input("Enter new speex quality:", buf, sizeof(buf)))> break;> pjmedia_codec_speex_deinit();> pjmedia_codec_speex_init(pjsua_get_pjmedia_endpt(), 0,> my_atoi(buf), my_atoi(buf));> puts("Speex quality changed");> break;> > But just a bit of warning again, the snippet above most likely> wouldn't work if there is a call with active media running in the> application. > > cheers,> -benny> > _______________________________________________> 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 _________________________________________________________________ MSN Video. http://video.msn.com/?mkt=es-es -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080318/3d872a1e/attachment.html