IAX2FullFrameVideo Class Reference

`#include <frame.h>`

Inheritance diagram for IAX2FullFrameVideo:

## Public Types

enum | VideoSc { jpeg = 0x10000, png = 0x20000, h261 = 0x40000, h263 = 0x80000 }
Public Types inherited from IAX2FullFrame
enum | ConnectionRequired { callActive, callIrrelevant }
Public Types inherited from IAX2Frame
enum | IAX2FrameType { undefType = 0, dtmfType = 1, voiceType = 2, videoType = 3, controlType = 4, nullType = 5, iax2ProtocolType = 6, textType = 7, imageType = 8, htmlType = 9, cngType = 10, numFrameTypes = 11 }

## Public Member Functions

| IAX2FullFrameVideo (const IAX2Frame &srcFrame)
| IAX2FullFrameVideo (const IAX2FullFrame &srcFrame)
virtual PString | GetSubClassName () const
virtual BYTE | GetFullFrameType ()
Public Member Functions inherited from IAX2FullFrame
| IAX2FullFrame (const IAX2Frame &srcFrame)
| IAX2FullFrame (IAX2EndPoint &_endpoint)
virtual | ~IAX2FullFrame ()
PBoolean | IsAckFrame ()
PBoolean | IsPingFrame ()
PBoolean | IsNewFrame ()
PBoolean | IsLagRqFrame ()
PBoolean | IsLagRpFrame ()
PBoolean | IsPongFrame ()
PBoolean | IsAuthReqFrame ()
PBoolean | IsVnakFrame ()
PBoolean | IsRegReqFrame ()
PBoolean | IsRegAuthFrame ()
PBoolean | IsRegAckFrame ()
PBoolean | IsRegRelFrame ()
PBoolean | IsRegRejFrame ()
PBoolean | IsCallTokenFrame ()
PBoolean | FrameIncrementsInSeqNo ()
virtual PBoolean | IsFullFrame ()
PBoolean | IsHangupFrame ()
void | ZeroAllValues ()
virtual PBoolean | ProcessNetworkPacket ()
virtual PBoolean | TransmitPacket (PUDPSocket &sock)
PString | GetFullFrameName () const
void | MarkDeleteNow ()
void | MarkVnakSendNow ()
virtual BYTE * | GetMediaDataPointer ()
virtual PINDEX | GetMediaDataSize ()
PINDEX | GetSubClass () const
void | SetSubClass (PINDEX newValue)
virtual PBoolean | WriteHeader ()
void | ModifyFrameHeaderSequenceNumbers (PINDEX inNo, PINDEX outNo)
void | ModifyFrameTimeStamp (PINDEX newTimeStamp)
virtual PBoolean | InformationElementsPresent ()
PBoolean | SendFrameNow ()
PBoolean | DeleteFrameNow ()
IAX2SequenceNumbers & | GetSequenceInfo ()
virtual void | PrintOn (ostream &strm) const
void | MarkAsResent ()
PBoolean | operator*= (IAX2FullFrame &other)
virtual PINDEX | GetEncryptionOffset ()
Public Member Functions inherited from IAX2Frame
| IAX2Frame (IAX2EndPoint &_endpoint)
virtual | ~IAX2Frame ()
PBoolean | ReadNetworkPacket (PUDPSocket &sock)
PBoolean | IsVideo () const
PBoolean | IsAudio () const
PINDEX | DataSize ()
IAX2Remote & | GetRemoteInfo ()
const BYTE * | GetDataPointer ()
IAX2Frame * | BuildAppropriateFrameType (IAX2Encryption &encryptionInfo)
IAX2Frame * | BuildAppropriateFrameType ()
PINDEX | GetUnReadBytes ()
virtual void | BuildTimeStamp (const PTimeInterval &callStartTick)
IAX2EndPoint & | GetEndpoint ()
PString | IdString () const
DWORD | GetTimeStamp ()
void | SetTimeStamp (DWORD newValue)
IAX2FrameType | GetFrameType ()
PBoolean | CanRetransmitFrame () const
PString | GetConnectionToken () const
void | SetConnectionToken (PString newToken)
void | BuildConnectionToken ()
PBoolean | EncryptContents (IAX2Encryption &encData)

## Additional Inherited Members

Static Public Member Functions inherited from IAX2Frame
static DWORD | CalcTimeStamp (const PTimeInterval &callStartTick)
Protected Types inherited from IAX2FullFrame
enum | RetryTime { minRetryTime = 1000, maxRetryTime = 010000, maxRetries = 3 }
Protected Member Functions inherited from IAX2FullFrame
virtual PBoolean | CallMustBeActive ()
void | UnCompressSubClass (BYTE a)
int | CompressSubClass ()
void | ClearListFlags ()
virtual void | InitialiseHeader (IAX2Processor *processor)
void | OnTransmissionTimeout (PTimer &, INT)
Protected Member Functions inherited from IAX2Frame
PBoolean | DecryptContents (IAX2Encryption &encryption)
PBoolean | Read1Byte (BYTE &res)
PBoolean | Read2Bytes (PINDEX &res)
PBoolean | Read2Bytes (WORD &res)
PBoolean | Read4Bytes (DWORD &res)
void | Write1Byte (BYTE newVal)
void | Write1Byte (PINDEX newVal)
void | Write2Bytes (PINDEX newVal)
void | Write4Bytes (unsigned int newVal)
void | ZeroAllValues ()
Protected Attributes inherited from IAX2FullFrame
PTimer | transmissionTimer
PINDEX | subClass
PTimeInterval | retryDelta
PTimeInterval | timeOffset
PINDEX | retries
IAX2SequenceNumbers | sequence
PBoolean | sendFrameNow
PBoolean | deleteFrameNow
PBoolean | packetResent
PBoolean | callMustBeActive
PBoolean | isAckFrame
Protected Attributes inherited from IAX2Frame
IAX2Remote | remote
IAX2FrameType | frameType
IAX2EndPoint & | endpoint
PBYTEArray | data
PBoolean | isFullFrame
PBoolean | isVideo
PBoolean | isAudio
PINDEX | currentReadIndex
PINDEX | currentWriteIndex
DWORD | timeStamp
PBoolean | canRetransmitFrame
PString | connectionToken
DWORD | presetTimeStamp

## Detailed Description

Used for transmitting video packets in a relaible fashion. Typically, one is sent at the start of the call, and then at regular intervals in the call to keep the timestamps in sync.

The contents the data section is compressed video.

## Member Enumeration Documentation

enum IAX2FullFrameVideo::VideoSc

enum comtaining the possible (uncompressed) subclass value for these video frames

Enumerator
jpeg | Jpeg video format in this frame
png | PNG video format in this frame
h261 | H.261 video format in this frame
h263 | H.263 video format in this frame

## Constructor & Destructor Documentation

IAX2FullFrameVideo::IAX2FullFrameVideo | ( | const IAX2Frame & | srcFrame | ) |

Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet

IAX2FullFrameVideo::IAX2FullFrameVideo | ( | const IAX2FullFrame & | srcFrame | ) |

Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet

## Member Function Documentation

virtual BYTE IAX2FullFrameVideo::GetFullFrameType | ( |  | ) |

inline virtual

Return the FullFrame type represented here (voice, protocol, session etc

Reimplemented from IAX2FullFrame.

References IAX2Frame::videoType.

virtual PString IAX2FullFrameVideo::GetSubClassName | ( |  | ) | const

virtual

Get text description of the subclass contents

Reimplemented from IAX2FullFrame.

The documentation for this class was generated from the following file:

- frame.h