Namespace SipLib.Media
Classes for encoding and decoding audio. The supported codecs are G.711 Mu-Law, G.711 A-Law, G.722, G.729 and AMR-WB.
Classes
AmrWbDecoder
Class for decoding AMR-WB encoded audio data into 16-bit linear PCM samples
AmrWbEncoder
Class for encoding linear 16-bit PCM samples into AMR-WB data.
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.
See The AudioDestination Class for a description of how to use this class.
AudioMediaUtils
Utility function relating to audio media handling
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. This class also manages sending DTMF events over the RtpChannel.
Refer to The AudioSource Class for a detailed description of this class.
FileAudioSource
Class for sending audio samples that have been read from a wave file. This class loops the audio continuously until the Stop() method is called.
See The FileAudioSource Class for a description of this class.
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.
G729Decoder
Decodes G.729 encoded data into 16-bit PCM audio samples
G729Encoder
Encodes 16-bit PCM audio samples into G.729 RTP payload bytes.
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.
Ld8k
This is the base class for the G729Encoder and G729Decoder classes. This class only contains definitions of constants used for encoding and decoding G.729 audio data.
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
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
SilenceAudioSampleSource
Class for sending silence audio samples. This class sends a block of samples with a value of 0 every 20 milliseconds. Each sample is a 16-bit linear PCM format sample with a value of 0. The AudioSamplesReady event is fired every 20 milliseconds after the Start() method is called.
An instance of this class may be used to send silence to multiple calls. To do this, create a single instance of this class, then call the Start() method once. multiple AudioSource classes can then hook the AudioSamples event to receive the audio samples. Do not call the Stop() method until the application shuts down.
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
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.