Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

MNRTPDecoderBase Class Reference

#include <MNRTPDecoderBase.h>

Inheritance diagram for MNRTPDecoderBase:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 MNRTPDecoderBase ()
virtual ~MNRTPDecoderBase ()
virtual SH::DataPtr decode_data (MNRTPPacketPtr packet, MNRope *&indata)=0
virtual SH::DataPtr decode_data (MNRTPPacketPtr packet, MNRope *&indata, u_int64_t bytecount)=0
virtual bool curPacketCompletesFrame ()=0

Static Public Member Functions

MNRTPDecoderBasefactory (int payload_type, RetransRecvBase *retrans, int rtp_payload_type, const SDP::PayloadTypeTable *_payload_types)

Constructor & Destructor Documentation

MNRTPDecoderBase::MNRTPDecoderBase  ) 
 

Constructor.

virtual MNRTPDecoderBase::~MNRTPDecoderBase  )  [virtual]
 

Destructor.


Member Function Documentation

virtual bool MNRTPDecoderBase::curPacketCompletesFrame  )  [pure virtual]
 

Experimental! Needed because of different handling of RTP marker bit.

Implemented in MNRTPDecoderCommon.

virtual SH::DataPtr MNRTPDecoderBase::decode_data MNRTPPacketPtr  packet,
MNRope *&  indata,
u_int64_t  bytecount
[pure virtual]
 

Like decode_data, but returns the ordered variation of the SH::Data child class, which contains the file offset of the data packet as well (bytecount).

Implemented in RTP::DecLayerDummy, MNRTPDecoderH261, MNRTPDecoderMP3, MNRTPDecoderMP4A, MNRTPDecoderMP4V, MNRTPDecoderMPEG, MNRTPDecoderPCMU, MNRTPDecoderSPEG, and RTPDecoderJVC_ASF.

virtual SH::DataPtr MNRTPDecoderBase::decode_data MNRTPPacketPtr  packet,
MNRope *&  indata
[pure virtual]
 

This function is called by the MNRTPDecoderSH stream handler class to remove all traces of packaging. Since RTP packets can contain several frames (or other units) of content, this function is called in a loop. This loop terminates if, and only if the variable indata is NULL after a call to this function. If it is not NULL after the call, that caller assumes that a portion of the data has been consumed and that the same pointer can be passed to decode_data again.

Parameters:
indata The payload of an RTP data packet, where the content type is determined by the subclass of this codec. On exit, this parameter must be changed to NULL to indicate that all data was consumed. The decode_data is responsible for releasing the memory (it may also use indate as a return value).
Returns:
One decoded data unit, not necessarily all of indata.

Implemented in RTP::DecLayerDummy, MNRTPDecoderH261, MNRTPDecoderMP3, MNRTPDecoderMP4A, MNRTPDecoderMP4V, MNRTPDecoderMPEG, MNRTPDecoderPCMU, MNRTPDecoderSPEG, and RTPDecoderJVC_ASF.

MNRTPDecoderBase* MNRTPDecoderBase::factory int  payload_type,
RetransRecvBase retrans,
int  rtp_payload_type,
const SDP::PayloadTypeTable _payload_types
[static]
 

Static factory function that creates a new DecoderCodec of the given type if it is known.


The documentation for this class was generated from the following file:
Generated on Sun Mar 6 13:36:00 2005 for Komssys by doxygen 1.3.8