[Freeswitch-dev] Fwd: [Freeswitch-users] codecs initialization flags in endpoint modules

Anthony Minessale anthony.minessale at gmail.com
Mon Apr 6 10:10:07 PDT 2009


did you test it in scenarios where the ptime is mismatched, every
combination of sample rate transcoding, eavesdroping on a channel in all the
above situations?

It would require a full suite of testing to confirm.

switch_core_io.c:432 does use read_codec for encode

i think cases arise where it does need both but we could change the code to
delay when it inits until the
first time it needs it instead so it would only take place when necessary.

it would require changing all the codec modules in the if (encoding) if
(decoding) so instead they
were functions we would call the first time encode or decode was actually
called.



On Mon, Apr 6, 2009 at 10:26 AM, Matteo <mbrancaleoni at voismart.it> wrote:

> Hello,
>
> I'm forwarding the message from my friend since is better suited
> for -dev ML.
>
> In addition, we changed the codec_init to ask only for DECODE on read
> and for ENCODE on write in sofia and skypiax and everything seems to
> work...
>
> there's a reason for that?
>
> are we going to break up things?
>
> regards,
> Matteo.
>
> ----- Messaggio inoltrato -----
> Da: "Lele Forzani" <lele at windmill.it>
> A: freeswitch-users at lists.freeswitch.org
> Inviato: Venerdì, 3 aprile 2009 15:20:13 GMT +01:00
> Amsterdam/Berlino/Berna/Roma/Stoccolma/Vienna
> Oggetto: [Freeswitch-users] codecs initialization flags in endpoint modules
>
>
> Hello,
> I've been experimenting with the use of mod_dahdi_codec and other ways
> to perform external transcoding for codecs, and came up with noticing
> that transcoding resources seemed to be used up twice what I expected.
> That is and 2x the number of call legs, ending up to two encoder and two
> decoder instances per leg.
>
>
> So, I looked at the code and noticed almost every endpoint module does
> something like this (excerpt from mod_sofia, sofia_glue.c:~1800):
>
> if (switch_core_codec_init(&tech_pvt->read_codec,
>                   tech_pvt->iananame,
>                   tech_pvt->rm_fmtp,
>                   tech_pvt->rm_rate,
>                   tech_pvt->codec_ms,
>                   1,
>                   SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE |
> tech_pvt->profile->codec_flags,
>                   NULL, switch_core_session_get_pool(tech_pvt->session)) !=
> SWITCH_STATUS_SUCCESS) {
>        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load
> codec?\n");
>        switch_goto_status(SWITCH_STATUS_FALSE, end);
> }
>
> if (switch_core_codec_init(&tech_pvt->write_codec,
>                   tech_pvt->iananame,
>                   tech_pvt->rm_fmtp,
>                   tech_pvt->rm_rate,
>                   tech_pvt->codec_ms,
>                   1,
>                   SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE |
> tech_pvt->profile->codec_flags,
>                   NULL, switch_core_session_get_pool(tech_pvt->session)) !=
> SWITCH_STATUS_SUCCESS) {
>        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load
> codec?\n");
>        switch_goto_status(SWITCH_STATUS_FALSE, end);
> }
>
>
> The flags being SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE
> seems to be causing the apparent 'double' allocation of transcoding
> resources, and I fail to understand the need for both, in both cases.
>
> Could someone please spend a minute to explain?
>
>
> thanks
> lele
>
>
>
>
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
> _______________________________________________
> Freeswitch-dev mailing list
> Freeswitch-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>



-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20090406/3e6f55bd/attachment.html 


More information about the Freeswitch-dev mailing list