[Freeswitch-dev] Codes I don't understand
Hi, can someone explain this to me? In switch_core_media_bug.c, around line 173: for (x = 0; x < blen; x++) { int32_t z = 0; if (x < rlen) { z += (int32_t) *(fp + x); //what's difference here with z = (int32_t) *(fp + x) ? } if (x < wlen) { z += (int32_t) *(dp + x); } switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z / 2; } And for switch_normalize_to_16bit, according to switch_utils.h, #define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; Then switch_normalize_to_16bit( 32768 ), z = 32767/2, and (int16_t) z / 2 = 32767/4 switch_normalize_to_16bit( 32766) , z = 32766, and (int16_t) z / 2 = 32766/2 Does that make sense? I guess it should be like this: #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; else n = n / 2; switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z; Thank you.
what ? I don't know what your question is. On Mon, Apr 6, 2009 at 9:35 AM, seven du <seven@idapted.com> wrote:
Hi, can someone explain this to me?
In switch_core_media_bug.c, around line 173:
for (x = 0; x < blen; x++) { int32_t z = 0;
if (x < rlen) { z += (int32_t) *(fp + x); //what's difference here with z = (int32_t) *(fp + x) ? } if (x < wlen) { z += (int32_t) *(dp + x); } switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z / 2; }
And for switch_normalize_to_16bit, according to switch_utils.h,
#define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2;
Then switch_normalize_to_16bit( 32768 ), z = 32767/2, and (int16_t) z / 2 = 32767/4 switch_normalize_to_16bit( 32766) , z = 32766, and (int16_t) z / 2 = 32766/2
Does that make sense? I guess it should be like this:
#define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; else n = n / 2;
switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z;
Thank you.
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Well, Thank you Anthony. 3 questions In summary, 1) in
if (x < rlen) { z += (int32_t) *(fp + x);
Any difference if change the "+=" to "=" since z is 0? It just confused me. 2) If n1 = 32768, n2 = 32766, after use MACRO switch_normalize_to_16bit(n1) switch_normalize_to_16bit(n2) the result will be: n1 = 32767/2 = 16383 n2 = 32766 is that the expected result? 3) Is there any chance rlen and wlen both > 0? On Apr 6, 2009, at 11:16 PM, Anthony Minessale wrote:
what ?
I don't know what your question is.
On Mon, Apr 6, 2009 at 9:35 AM, seven du <seven@idapted.com> wrote: Hi, can someone explain this to me?
In switch_core_media_bug.c, around line 173:
for (x = 0; x < blen; x++) { int32_t z = 0;
if (x < rlen) { z += (int32_t) *(fp + x); // what's difference here with z = (int32_t) *(fp + x) ?
} if (x < wlen) { z += (int32_t) *(dp + x); } switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z / 2; }
And for switch_normalize_to_16bit, according to switch_utils.h,
#define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2;
Then switch_normalize_to_16bit( 32768 ), z = 32767/2, and (int16_t) z / 2 = 32767/4 switch_normalize_to_16bit( 32766) , z = 32766, and (int16_t) z / 2 = 32766/2
Does that make sense? I guess it should be like this:
#define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; else n = n / 2;
switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z;
Thank you.
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400 _______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
1) no the += or = makes no difference to me. 2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range. 3) rlen and wlen are often both > 0. the point is we only manupulate the data that is real rlen is how many bytes on the read channel and wlen the write, we normalize it so if one of the other is a difference size we only change samples that are in the range where actual audio occured. On Mon, Apr 6, 2009 at 10:44 AM, seven du <seven@idapted.com> wrote:
Well, Thank you Anthony. 3 questions In summary,
1) in
if (x < rlen) { z += (int32_t) *(fp + x);
Any difference if change the "+=" to "=" since z is 0? It just confused me.
2) If n1 = 32768, n2 = 32766, after use MACRO switch_normalize_to_16bit(n1) switch_normalize_to_16bit(n2)
the result will be: n1 = 32767/2 = 16383 n2 = 32766
is that the expected result?
3) Is there any chance rlen and wlen both > 0?
On Apr 6, 2009, at 11:16 PM, Anthony Minessale wrote:
what ?
I don't know what your question is.
On Mon, Apr 6, 2009 at 9:35 AM, seven du <seven@idapted.com> wrote:
Hi, can someone explain this to me?
In switch_core_media_bug.c, around line 173:
for (x = 0; x < blen; x++) { int32_t z = 0;
if (x < rlen) { z += (int32_t) *(fp + x); //what's difference here with z = (int32_t) *(fp + x) ?
} if (x < wlen) { z += (int32_t) *(dp + x); } switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z / 2; }
And for switch_normalize_to_16bit, according to switch_utils.h,
#define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2;
Then switch_normalize_to_16bit( 32768 ), z = 32767/2, and (int16_t) z / 2 = 32767/4 switch_normalize_to_16bit( 32766) , z = 32766, and (int16_t) z / 2 = 32766/2
Does that make sense? I guess it should be like this:
#define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; else n = n / 2;
switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z;
Thank you.
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400 _______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Thank you for the quick and detailed explain, It had confused me for a while. :) On Apr 7, 2009, at 12:21 AM, Anthony Minessale wrote:
1) no the += or = makes no difference to me.
2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range.
3) rlen and wlen are often both > 0. the point is we only manupulate the data that is real rlen is how many bytes on the read channel and wlen the write, we normalize it so if one of the other is a difference size we only change samples that are in the range where actual audio occured.
On Mon, Apr 6, 2009 at 10:44 AM, seven du <seven@idapted.com> wrote: Well, Thank you Anthony. 3 questions In summary,
1) in
if (x < rlen) { z += (int32_t) *(fp + x);
Any difference if change the "+=" to "=" since z is 0? It just confused me.
2) If n1 = 32768, n2 = 32766, after use MACRO switch_normalize_to_16bit(n1) switch_normalize_to_16bit(n2)
the result will be: n1 = 32767/2 = 16383 n2 = 32766
is that the expected result?
3) Is there any chance rlen and wlen both > 0?
On Apr 6, 2009, at 11:16 PM, Anthony Minessale wrote:
what ?
I don't know what your question is.
On Mon, Apr 6, 2009 at 9:35 AM, seven du <seven@idapted.com> wrote: Hi, can someone explain this to me?
In switch_core_media_bug.c, around line 173:
for (x = 0; x < blen; x++) { int32_t z = 0;
if (x < rlen) { z += (int32_t) *(fp + x); // what's difference here with z = (int32_t) *(fp + x) ?
} if (x < wlen) { z += (int32_t) *(dp + x); } switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z / 2; }
And for switch_normalize_to_16bit, according to switch_utils.h,
#define SWITCH_SMAX 32767 #define SWITCH_SMIN -32768 #define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2;
Then switch_normalize_to_16bit( 32768 ), z = 32767/2, and (int16_t) z / 2 = 32767/4 switch_normalize_to_16bit( 32766) , z = 32766, and (int16_t) z / 2 = 32766/2
Does that make sense? I guess it should be like this:
#define switch_normalize_to_16bit(n) if (n > SWITCH_SMAX) n = SWITCH_SMAX / 2; else if (n < SWITCH_SMIN) n = SWITCH_SMIN / 2; else n = n / 2;
switch_normalize_to_16bit(z); *(fp + x) = (int16_t) z;
Thank you.
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400 _______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400 _______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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 wrote:
2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range. Hi Anthony, all, this is, in my opinion, actually going to give you far far uglier audio artefacts than simply hard limiting the samples. Rather than try and describe the resulting distortion, it's easier to just listen to it in action...
Each of the following files is about 100kb. Original file (extracted from freeswitch-sounds-en-us-callie-8000-1.0.7.tar.gz): http://www.vadacom.co.nz/engineering/ivr-sample_submenu.wav After 30dB gain and hard limiting samples to between -32768 and 32767: http://www.vadacom.co.nz/engineering/ivr-sample_submenu-hardlimited.wav After 30dB gain and switch_normalize_to_16bit(): http://www.vadacom.co.nz/engineering/ivr-sample_submenu-switch_normalize_to_... Cheers, Nic. -- Nic Bellamy, Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/
And, actually the value to be normalized is 32bit and which generally is a sum of two 16bit values( read and write ), so it's probably easy to exceed 32767 if both end speaking at the same time. On Apr 7, 2009, at 12:15 PM, Nic Bellamy wrote:
Anthony Minessale wrote:
2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range. Hi Anthony, all, this is, in my opinion, actually going to give you far far uglier audio artefacts than simply hard limiting the samples. Rather than try and describe the resulting distortion, it's easier to just listen to it in action...
Each of the following files is about 100kb.
Original file (extracted from freeswitch-sounds-en-us-callie-8000-1.0.7.tar.gz): http://www.vadacom.co.nz/engineering/ivr-sample_submenu.wav
After 30dB gain and hard limiting samples to between -32768 and 32767: http://www.vadacom.co.nz/engineering/ivr-sample_submenu- hardlimited.wav
After 30dB gain and switch_normalize_to_16bit(): http://www.vadacom.co.nz/engineering/ivr-sample_submenu-switch_normalize_to_...
Cheers, Nic.
-- Nic Bellamy, Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
if everyone has such good ideas on how to improve it, I can't wait to see the patch. On Tue, Apr 7, 2009 at 9:42 AM, seven du <seven@idapted.com> wrote:
And, actually the value to be normalized is 32bit and which generally is a sum of two 16bit values( read and write ), so it's probably easy to exceed 32767 if both end speaking at the same time.
On Apr 7, 2009, at 12:15 PM, Nic Bellamy wrote:
Anthony Minessale wrote:
2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range. Hi Anthony, all, this is, in my opinion, actually going to give you far far uglier audio artefacts than simply hard limiting the samples. Rather than try and describe the resulting distortion, it's easier to just listen to it in action...
Each of the following files is about 100kb.
Original file (extracted from freeswitch-sounds-en-us-callie-8000-1.0.7.tar.gz): http://www.vadacom.co.nz/engineering/ivr-sample_submenu.wav
After 30dB gain and hard limiting samples to between -32768 and 32767: http://www.vadacom.co.nz/engineering/ivr-sample_submenu- hardlimited.wav
After 30dB gain and switch_normalize_to_16bit():
http://www.vadacom.co.nz/engineering/ivr-sample_submenu-switch_normalize_to_...
Cheers, Nic.
-- Nic Bellamy, Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
we used to use libresample which generated a lot of samples over the limit and that / 2 supressed the static it was causing. We use the speex resampler now and it's much better, so i took the / 2 out in tree. On Tue, Apr 7, 2009 at 10:02 AM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
if everyone has such good ideas on how to improve it, I can't wait to see the patch.
On Tue, Apr 7, 2009 at 9:42 AM, seven du <seven@idapted.com> wrote:
And, actually the value to be normalized is 32bit and which generally is a sum of two 16bit values( read and write ), so it's probably easy to exceed 32767 if both end speaking at the same time.
On Apr 7, 2009, at 12:15 PM, Nic Bellamy wrote:
Anthony Minessale wrote:
2) the macro is designed to fight clipping: When a sample exceeds the max size of the datatype we set it to the max value then cut the volume in half of that sample so it does not make too much noise. if we divide everything by 2 then all the volume would be reduced even on samples that fell inside the proper range. Hi Anthony, all, this is, in my opinion, actually going to give you far far uglier audio artefacts than simply hard limiting the samples. Rather than try and describe the resulting distortion, it's easier to just listen to it in action...
Each of the following files is about 100kb.
Original file (extracted from freeswitch-sounds-en-us-callie-8000-1.0.7.tar.gz): http://www.vadacom.co.nz/engineering/ivr-sample_submenu.wav
After 30dB gain and hard limiting samples to between -32768 and 32767: http://www.vadacom.co.nz/engineering/ivr-sample_submenu- hardlimited.wav
After 30dB gain and switch_normalize_to_16bit():
http://www.vadacom.co.nz/engineering/ivr-sample_submenu-switch_normalize_to_...
Cheers, Nic.
-- Nic Bellamy, Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@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@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Anthony Minessale wrote:
if everyone has such good ideas on how to improve it, I can't wait to see the patch.
By the time I'd gotten out of bed this morning you'd already committed r12935, which is the exact patch I would have done anyway ;-) Cheers, Nic. -- Nic Bellamy, Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/
participants (3)
-
Anthony Minessale
-
Nic Bellamy
-
seven du