class AdvancedAudioPacket

Advanced Audio Packet. More...

Full nameCoral::AdvancedAudioPacket
Definition#include <advancedaudiopacket.h>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Members


Detailed Description

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)
[static]

Get TransportInfo constants for given header size and maximum packet size.

Parameters:
transportInfoMemory to store TransportInfo.
headerSizeSize of packet header (e.g. RTP header).
maxPacketSizeMaximum size of a packet.
lastTransmissionQualityQuality of last transmission.
calculateLevelstrue 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)
[static]

Get TransportInfo for given header size and maximum packet size.

Parameters:
transportInfoMemory to store TransportInfo.
headerSizeSize of packet header (e.g. RTP header).
maxPacketSizeMaximum size of a packet.
qualitySettingCurrent quality setting.
lastTransmissionQualityQuality of last transmission.
calculateLevelstrue to calculate all level constants; false otherwise.

void calculateLevelForQuality (TransportInfoLevel& level, const cardinal headerSize, const cardinal maxPacketSize, const AudioQualityInterface& quality)
[static]

Calculate TransportInfoLevel for given quality and given header size and maximum packet size.

Parameters:
levelMemory to store calculated TransportInfoLevel.
headerSizeSize of packet header (e.g. RTP header).
maxPacketSizeMaximum size of a packet.
qualityQuality 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)
[static]

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:
userSettingUser's quality setting.
inputQualityInput source's quality.
byteRateLimitByte rate limit.
byteRateLimitL1Layer #0 byte rate limit.
byteRateLimitL2Layer #1 byte rate limit.
byteRateLimitL3Layer #2 byte rate limit.
networkQualityDecrementNumber of steps for decrement of user's quality.
headerSizeHeader size (eg. IP + UDP + RTP). AdvancedAudioPacket size is added automatically.
maxPacketSizeMaximum packet size.

Returns: The calculated quality.

cardinal calculateFrameSize (const cardinal inputBytesPerSecond, const cardinal inputFrameSize)
[static]

Calculate output frame size from given input bytes per second and input frame size.

Parameters:
inputBytesPerSecondInput source's bytes per second.
inputFrameSizeInput source's frame size.

Returns: The calculated frame size.

cardinal calculateLayers (const AudioQualityInterface& quality)
[static]

Calculate number of layers for given quality.

Parameters:
qualityQuality.

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.