Namespace SipLib.Media
Classes for encoding and decoding audio. The supported codecs are G.711 Mu-Law, G.711 A-Law and G.722.
Classes
ALawDecoder
a-law decoder based on code from: http://hazelware.luggle.com/tutorials/mulawcompression.html
ALawEncoder
A-law encoder
AudioDestination
This class receives audio RTP packets from an RtpChannel, decodes them and sends them to an audio destination by calling a delegate function that processes the received audio samples.
The clock rate (sample rate) of the audio handled by this class must be either 8000 or 16000.
AudioSampleData
Data class for passing audio sample data to an audio sample source
AudioSource
Class for sending sourced audio (from a microphone or a recording) to a remote endpoint via RTP packets over an RtpChannel.
Band
Band data for G722 Codec
FileAudioSource
Class for sending audio samples that have been read from a wave file.
G722Codec
SpanDSP - a series of DSP components for telephony
g722_decode.c - The ITU G.722 codec, decode part.
Written by Steve Underwood <steveu@coppice.org>
Copyright (C) 2005 Steve Underwood Ported to C# by Mark Heath 2011
Despite my general liking of the GPL, I place my own contributions to this code in the public domain for the benefit of all mankind - even the slimy ones who might try to proprietize my work and use it to my detriment.
Based in part on a single channel G.722 codec which is: Copyright (c) CMU 1993 Computer Science, Speech Group Chengxiang Lu and Alex Hauptmann
G722CodecState
Stores state to be used between calls to Encode or Decode
G722Decoder
Class for decoding G.722 encoded data into linear 16-bit PCM samples.
G722Encoder
Class for encoding audio samples using a G.722 encoder.
HighResolutionTimer
This class implements a high resolution periodic timer for generating media samples. It provides a timer that uses a dedicated thread and is capable of providing timed events with a maximum jitter of less than a millisecond and an average jitter of less that 0.1 milliseconds. An instance of this class may be used for multiple media sources.
MediaPortManager
Class for managing allocation of UDP and TCP ports for audio, video, RTT and MSRP media.
MediaPortSettings
Stores the media port ranges for each media type.
MediaTypes
Static class that defines constant strings for each media type
MuLawDecoder
mu-law decoder based on code from: http://hazelware.luggle.com/tutorials/mulawcompression.html
MuLawEncoder
mu-law encoder based on code from: http://hazelware.luggle.com/tutorials/mulawcompression.html
PcmaDecoder
Class for decoding PCMA (A-Law) encoded data into linear 16-bit PCM samples.
PcmaEncoder
Class for encoding linear 16-bit PCM samples into PCMA (G.711 A-Law) samples
PcmuDecoder
Class for decoding PCMU (Mu-Law) encoded data into linear 16-bit PCM samples.
PcmuEncoder
Class for encoding linear 16-bit PCM samples into PCMU (G.711 Mu-Law) samples
PortRange
Stores the port range for a single media type
Interfaces
IAudioDecoder
Interface definition for an audio decoder
IAudioEncoder
Interface definition for an audio encoder
IAudioSampleSource
Interface that must be implemented for each type of an audio sample source.
Enums
G722Flags
G722 Flags
MsrpEncryptionEnum
Enumeration of the encryption methods for MSRP media
RtpEncryptionEnum
Enumeration for the RTP media encryption methods
Delegates
AudioDestinationDelegate
Delegate type for the audio destination handler function that the AudioDestination class will call to process decoded audio packets.
AudioSamplesReadyDelegate
Delegate definition for the SendAudioSamples event of the IAudioSamplesSource interface.
DtmfDigitReceivedDelegate
Delegate type for the DtmfDigitReceived event of the AudioDestination class.
HighResolutionTimerDelegate
Delegate type for the TimerExpired event of the HighResolutionTimer class.