Speex basic VBR and ABR support [PATCH]

RI
Roman Imankulov
Tue, Jun 9, 2009 7:50 PM

Hi,

I'd like to propose to implement in PJMEDIA library such codec features
as Speex VBR (variable bit-rate) and ABR (average bit-rate). In order to
make one little step forward I propose the patch with basic
implementation of these features.

The patch has just one new API function: pjmedia_codec_speex_vbr_init().
This function,  in comparison with pjmedia_codec_speex_init(), receives
two additional optional parameters:

  • float vbr_quality
  • int abr_bitrates[3] (three average bitrates values for narrowband,
    wideband and ultra-wideband mode in this order).

I see that this patch maybe looks like a quick and somewhat dirty hack,
but it retains PJMEDIA backward compatibility, and I keep the hope that
it can become a base of the new functionality.

--
Roman Imankulov
roman@netangels.ru

Hi, I'd like to propose to implement in PJMEDIA library such codec features as Speex VBR (variable bit-rate) and ABR (average bit-rate). In order to make one little step forward I propose the patch with basic implementation of these features. The patch has just one new API function: pjmedia_codec_speex_vbr_init(). This function, in comparison with pjmedia_codec_speex_init(), receives two additional optional parameters: - float vbr_quality - int abr_bitrates[3] (three average bitrates values for narrowband, wideband and ultra-wideband mode in this order). I see that this patch maybe looks like a quick and somewhat dirty hack, but it retains PJMEDIA backward compatibility, and I keep the hope that it can become a base of the new functionality. -- Roman Imankulov roman@netangels.ru
FP
Fabio Pietrosanti (naif)
Wed, Jun 10, 2009 7:19 AM

Hi all,

please be careful in checking that speex VBR is not compatible with SRTP
as there are well known security vulnerability that affect SRTP when
used with VBR enabled codec.

If VBR is introduced please also add that kind of check to the code,
SRTP & VBR feature cannot be enabled at the same time because of
security risks:
http://www2.computer.org/portal/web/csdl/doi/10.1109/SP.2008.21

A new internet-draft for SRTP modification for supporting without
security risks VBR features is in progress:
http://bgp.potaroo.net/ietf/idref/draft-perkins-avt-srtp-vbr-audio/

Fabio Pietrosanti

Roman Imankulov wrote:

Hi,

I'd like to propose to implement in PJMEDIA library such codec
features as Speex VBR (variable bit-rate) and ABR (average bit-rate).
In order to make one little step forward I propose the patch with
basic implementation of these features.

The patch has just one new API function:
pjmedia_codec_speex_vbr_init(). This function,  in comparison with
pjmedia_codec_speex_init(), receives two additional optional parameters:

  • float vbr_quality
  • int abr_bitrates[3] (three average bitrates values for narrowband,
    wideband and ultra-wideband mode in this order).

I see that this patch maybe looks like a quick and somewhat dirty
hack, but it retains PJMEDIA backward compatibility, and I keep the
hope that it can become a base of the new functionality.



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi all, please be careful in checking that speex VBR is not compatible with SRTP as there are well known security vulnerability that affect SRTP when used with VBR enabled codec. If VBR is introduced please also add that kind of check to the code, SRTP & VBR feature cannot be enabled at the same time because of security risks: http://www2.computer.org/portal/web/csdl/doi/10.1109/SP.2008.21 A new internet-draft for SRTP modification for supporting without security risks VBR features is in progress: http://bgp.potaroo.net/ietf/idref/draft-perkins-avt-srtp-vbr-audio/ Fabio Pietrosanti Roman Imankulov wrote: > Hi, > > I'd like to propose to implement in PJMEDIA library such codec > features as Speex VBR (variable bit-rate) and ABR (average bit-rate). > In order to make one little step forward I propose the patch with > basic implementation of these features. > > The patch has just one new API function: > pjmedia_codec_speex_vbr_init(). This function, in comparison with > pjmedia_codec_speex_init(), receives two additional optional parameters: > > - float vbr_quality > - int abr_bitrates[3] (three average bitrates values for narrowband, > wideband and ultra-wideband mode in this order). > > I see that this patch maybe looks like a quick and somewhat dirty > hack, but it retains PJMEDIA backward compatibility, and I keep the > hope that it can become a base of the new functionality. > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
RI
Roman Imankulov
Wed, Jun 10, 2009 2:54 PM

Hi,

Fabio Pietrosanti (naif) wrote:

Hi all,

please be careful in checking that speex VBR is not compatible with SRTP
as there are well known security vulnerability that affect SRTP when
used with VBR enabled codec.

If VBR is introduced please also add that kind of check to the code,
SRTP & VBR feature cannot be enabled at the same time because of
security risks:
http://www2.computer.org/portal/web/csdl/doi/10.1109/SP.2008.21

A new internet-draft for SRTP modification for supporting without
security risks VBR features is in progress:
http://bgp.potaroo.net/ietf/idref/draft-perkins-avt-srtp-vbr-audio/

Thanks, very illuminative. Interesting that the referenced IETF draft
also suggests to disable VAD with SRTP as extreme form of VBR.

--
Roman Imankulov
roman@netangels.ru

Hi, Fabio Pietrosanti (naif) wrote: > Hi all, > > please be careful in checking that speex VBR is not compatible with SRTP > as there are well known security vulnerability that affect SRTP when > used with VBR enabled codec. > > If VBR is introduced please also add that kind of check to the code, > SRTP & VBR feature cannot be enabled at the same time because of > security risks: > http://www2.computer.org/portal/web/csdl/doi/10.1109/SP.2008.21 > > A new internet-draft for SRTP modification for supporting without > security risks VBR features is in progress: > http://bgp.potaroo.net/ietf/idref/draft-perkins-avt-srtp-vbr-audio/ Thanks, very illuminative. Interesting that the referenced IETF draft also suggests to disable VAD with SRTP as extreme form of VBR. -- Roman Imankulov roman@netangels.ru