Package javaforce.voip.codec
Class speex
java.lang.Object
javaforce.voip.codec.speex
- All Implemented Interfaces:
RTPAudioCoder
Encodes/decodes speex packets.
RFC 5574
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Free any resources.short[]decode(byte[] encoded, int off, int length) Decodes RTP packet into audio samples.byte[]encode(short[] samples) Encodes audio samples into RTP packet.intReturns encoded packet size (excluding RTP header) -1 = variable sizedintReturns sample rate.static voidsetEnhancedMode(boolean mode) Set decoder enhanced mode.voidsetid(int id) Sets RTP payload ID.setQuality(int value) Set encoder quality (0-10) Default = 5.static voidspeex_dsp_denoise(long ctx, short[] audio) Performs denoise function.static voidspeex_dsp_echo(long ctx, short[] audio_mic, short[] audio_spk, short[] audio_out) Performs echo cancellation.static longspeex_dsp_init(int sample_rate) Allocate speex DSP context.static longspeex_dsp_init(int sample_rate, int echo_buffers) Allocate speex DSP context.static voidspeex_dsp_uninit(long ctx) Free speex DSP contextstatic voidspeexdspdenoise(long ctx, short[] audio) static voidspeexdspecho(long ctx, short[] audio_mic, short[] audio_spk, short[] audio_out) static voidspeexdspuninit(long ctx)
-
Constructor Details
-
speex
-
-
Method Details
-
setid
public void setid(int id) Description copied from interface:RTPAudioCoderSets RTP payload ID. This value is exchanged in SDP packets. For most audio codecs this value is fixed and ignored.- Specified by:
setidin interfaceRTPAudioCoder
-
getPacketSize
public int getPacketSize()Description copied from interface:RTPAudioCoderReturns encoded packet size (excluding RTP header) -1 = variable sized- Specified by:
getPacketSizein interfaceRTPAudioCoder
-
setQuality
Set encoder quality (0-10) Default = 5. Affects only new speex instances. -
setEnhancedMode
Set decoder enhanced mode. Default = false Affects only new speex instances. -
encode
public byte[] encode(short[] samples) Description copied from interface:RTPAudioCoderEncodes audio samples into RTP packet.- Specified by:
encodein interfaceRTPAudioCoder
-
decode
public short[] decode(byte[] encoded, int off, int length) Description copied from interface:RTPAudioCoderDecodes RTP packet into audio samples.- Specified by:
decodein interfaceRTPAudioCoder
-
getSampleRate
public int getSampleRate()Description copied from interface:RTPAudioCoderReturns sample rate.- Specified by:
getSampleRatein interfaceRTPAudioCoder
-
speex_dsp_init
public static long speex_dsp_init(int sample_rate) Allocate speex DSP context. Audio buffers should be 160 samples. NOTE : speex SDP functions do NOT require the use of speex codec.- Parameters:
sample_rate- = sample rate- Returns:
- ctx
-
speex_dsp_init
public static long speex_dsp_init(int sample_rate, int echo_buffers) Allocate speex DSP context. Audio buffers should be 160 samples (50 per second, 20ms each). NOTE : speex SDP functions do NOT require the use of speex codec.- Parameters:
sample_rate- = sample rateecho_buffers- = # of buffers to allocate for echo cancellation (-1=default of 10)- Returns:
- ctx
-
speexdspuninit
public static void speexdspuninit(long ctx) -
speex_dsp_uninit
public static void speex_dsp_uninit(long ctx) Free speex DSP context- Parameters:
ctx- = speex context
-
speexdspdenoise
public static void speexdspdenoise(long ctx, short[] audio) -
speex_dsp_denoise
public static void speex_dsp_denoise(long ctx, short[] audio) Performs denoise function.- Parameters:
ctx- = speex contextaudio- = audio samples
-
speexdspecho
public static void speexdspecho(long ctx, short[] audio_mic, short[] audio_spk, short[] audio_out) -
speex_dsp_echo
public static void speex_dsp_echo(long ctx, short[] audio_mic, short[] audio_spk, short[] audio_out) Performs echo cancellation.- Parameters:
ctx- = speex contextaudio_mic- = mic audio (modified)audio_out- = outbound audio (not modified)
-
main
-
close
public void close()Description copied from interface:RTPAudioCoderFree any resources.- Specified by:
closein interfaceRTPAudioCoder
-