exporting patch: # HG changeset patch # User nikita # Date 1290454216 -3600 # Node ID d7d00bc418175d6d5360abad6e152634cd4c0f4f # Parent 890bc245111618cf4aad84141bb76d553d56f190 bugfix in speex bitrate handling, if the ptime is not equal to 20, there won't be 50 packet per seconds. diff -r 890bc2451116 -r d7d00bc41817 src/msspeex.c --- a/src/msspeex.c Mon Nov 22 20:29:05 2010 +0100 +++ b/src/msspeex.c Mon Nov 22 20:30:16 2010 +0100 @@ -179,8 +179,9 @@ if (s->maxbitrate>0){ /* convert from network bitrate to codec bitrate:*/ - /* ((nbr/(50*8)) -20-12-8)*50*8*/ - int cbr=(int)( ((((float)s->maxbitrate)/(50.0*8))-20-12-8)*50*8); + /* ((nbr/(pps*8)) -20-12-8)*pps*8*/ + int pps=1000/s->ptime; //usually 50 + int cbr=(int)( ((((float)s->maxbitrate)/(pps*8))-20-12-8)*pps*8); ms_message("Setting maxbitrate=%i to speex encoder.",cbr); if (speex_encoder_ctl(s->state,SPEEX_SET_BITRATE,&cbr)!=0){ ms_error("Could not set maxbitrate %i to speex encoder.",s->bitrate);