#include <MNRTPDecoderBase.h>
Inheritance diagram for MNRTPDecoderBase:
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 | |
MNRTPDecoderBase * | factory (int payload_type, RetransRecvBase *retrans, int rtp_payload_type, const SDP::PayloadTypeTable *_payload_types) |
|
Constructor. |
|
Destructor. |
|
Experimental! Needed because of different handling of RTP marker bit. Implemented in MNRTPDecoderCommon.
|
|
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.
|
|
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.
Implemented in RTP::DecLayerDummy, MNRTPDecoderH261, MNRTPDecoderMP3, MNRTPDecoderMP4A, MNRTPDecoderMP4V, MNRTPDecoderMPEG, MNRTPDecoderPCMU, MNRTPDecoderSPEG, and RTPDecoderJVC_ASF.
|
|
Static factory function that creates a new DecoderCodec of the given type if it is known. |