|
|
This class defines the packet format for the advanced audio encoder.
See also: AdvancedAudioEncoder, AdvancedAudioDecoder
AdvancedAudioPacket () |
Constructor.
void translate () |
Translate byte order.
void reset () |
Reset report.
static const card16 AdvancedAudioTypeID |
Type ID for Advanced Audio Encoding.
static const char [] AdvancedAudioTypeName |
Name for Advanced Audio Encoding.
static const card32 AdvancedAudioFormatID |
Advanced Audio Encoding package format ID.
static const cardinal AdvancedAudioMediaInfoPacketsPerSecond |
Advanced Audio MediaInfo packets per second.
static const cardinal AdvancedAudioFramesPerSecond |
Advanced Audio frames per second.
static const cardinal AdvancedAudioFrameSize |
Advanced Audio frame size.
static const cardinal AdvancedAudioMaxTransferDelay |
Advanced Audio maximum transfer delay.
static const cardinal AdvancedAudioMaxQualityLayers |
Advanced Audio maximum quality layers.
static const cardinal AdvancedAudioQualityLevels |
Advanced Audio quality levels.
static const double AdvancedAudioUpperLossThreshold |
Advanced Audio loss threshold for quality decrement.
static const double AdvancedAudioLowerLossThreshold |
Advanced Audio loss threshold for quality increment.
void getTransportInfoConstants ( TransportInfo& transportInfo, const cardinal headerSize, const cardinal maxPacketSize, const AudioQualityInterface& lastTransmissionQuality, const bool calculateLevels = true) |
Get TransportInfo constants for given header size and maximum packet size.
Parameters:
transportInfo | Memory to store TransportInfo. |
headerSize | Size of packet header (e.g. RTP header). |
maxPacketSize | Maximum size of a packet. |
lastTransmissionQuality | Quality of last transmission. |
calculateLevels | true to calculate all level constants; false otherwise. |
void getTransportInfo (TransportInfo& transportInfo, const cardinal headerSize, const cardinal maxPacketSize, const AudioQualityInterface& qualitySetting, const AudioQualityInterface& lastTransmissionQuality, const bool calculateLevels = true) |
Get TransportInfo for given header size and maximum packet size.
Parameters:
transportInfo | Memory to store TransportInfo. |
headerSize | Size of packet header (e.g. RTP header). |
maxPacketSize | Maximum size of a packet. |
qualitySetting | Current quality setting. |
lastTransmissionQuality | Quality of last transmission. |
calculateLevels | true to calculate all level constants; false otherwise. |
void calculateLevelForQuality (TransportInfoLevel& level, const cardinal headerSize, const cardinal maxPacketSize, const AudioQualityInterface& quality) |
Calculate TransportInfoLevel for given quality and given header size and maximum packet size.
Parameters:
level | Memory to store calculated TransportInfoLevel. |
headerSize | Size of packet header (e.g. RTP header). |
maxPacketSize | Maximum size of a packet. |
quality | Quality to calculate level for. |
AudioQuality calculateQualityForLimits ( const AudioQualityInterface& userSetting, const AudioQualityInterface& inputQuality, const card64 totalByteRateLimit, const card64 byteRateLimitL1, const card64 byteRateLimitL2, const card64 byteRateLimitL3, const cardinal networkQualityDecrement, const cardinal headerSize, const cardinal maxPacketSize) |
Quality calculation for given user quality limited by input quality, byte rate and network quality decrement with given header size (eg. IP + UDP + RTP) and maximum packet size.
Parameters:
userSetting | User's quality setting. |
inputQuality | Input source's quality. |
byteRateLimit | Byte rate limit. |
byteRateLimitL1 | Layer #0 byte rate limit. |
byteRateLimitL2 | Layer #1 byte rate limit. |
byteRateLimitL3 | Layer #2 byte rate limit. |
networkQualityDecrement | Number of steps for decrement of user's quality. |
headerSize | Header size (eg. IP + UDP + RTP). AdvancedAudioPacket size is added automatically. |
maxPacketSize | Maximum packet size. |
Returns: The calculated quality.
cardinal calculateFrameSize (const cardinal inputBytesPerSecond, const cardinal inputFrameSize) |
Calculate output frame size from given input bytes per second and input frame size.
Parameters:
inputBytesPerSecond | Input source's bytes per second. |
inputFrameSize | Input source's frame size. |
Returns: The calculated frame size.
cardinal calculateLayers (const AudioQualityInterface& quality) |
Calculate number of layers for given quality.
Parameters:
quality | Quality. |
Returns: Number of layers.
card32 FormatID |
Packet format ID.
card16 SamplingRate |
Audio sampling rate.
card8 Channels |
Number of audio channels.
card8 Bits |
Number of audio bits.
card64 Position |
Current position in nanoseconds.
card64 MaxPosition |
Maximum position in nanoseconds.
card8 ErrorCode |
Error code.
card8 Flags |
Advanced Audio Encoding Flags.
enum AdvancedAudioFlags {AAF_ChannelLeft = (1 << 0), AAF_ChannelRight = (1 << 1), AAF_ByteUpper = (1 << 2), AAF_ByteLower = (1 << 3), AAF_MediaInfo = (1 << 4) } |
Emumeration of Flags.
card16 Fragment |
Fragment number.
char [0] Data |
Packet data.