X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FRTPPacket.hh;h=421e6686be8277a72b0428bf787966a47a1c9532;hb=57daeae6f2e924ce3f16f9677c3474f531cba9e5;hp=c588ab95426160ff0d2ced715e1df9966d82f97e;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Packets/DefaultBundle/RTPPacket.hh b/senf/Packets/DefaultBundle/RTPPacket.hh index c588ab9..421e668 100644 --- a/senf/Packets/DefaultBundle/RTPPacket.hh +++ b/senf/Packets/DefaultBundle/RTPPacket.hh @@ -23,16 +23,15 @@ /** \file \brief RTPPacket public header */ -// Custom includes #ifndef HH_SENF_Packets_DefaultBundle_RTPPacket_ -#define HH_SENF_Packets_DefaultBundle_RTPPacket_ +#define HH_SENF_Packets_DefaultBundle_RTPPacket_ 1 +// Custom includes #include -#include - +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { - + struct RTPPacketParser : public PacketParserBase { # include SENF_PARSER() @@ -43,30 +42,33 @@ namespace senf { SENF_PARSER_BITFIELD ( marker, 1, bool ); //Marker M=1, used to signal speech silent compression; further use in combination with PT to be defined SENF_PARSER_BITFIELD ( payloadType, 7, unsigned ); //Payload Type; e.g. PCM=8 (RFC 3550) SENF_PARSER_FIELD ( seqNumber, UInt16Parser ); //random number to identify initial segment of a stream, increment by 1 used to resequence segments at receiver - SENF_PARSER_FIELD ( timeStamp, UInt32Parser ); //signals sampling time of 1st byte of payload; initialised; used to calculate Jitter between segments - SENF_PARSER_FIELD ( synSourceId, UInt32Parser ); //Synchronisation source identifier; identifier of RFTP stream source (random number) in case of conferencing identifier of mixer + SENF_PARSER_FIELD ( timeStamp, UInt32Parser ); //signals sampling time of 1st byte of payload; initialized; used to calculate Jitter between segments + SENF_PARSER_FIELD ( synSourceId, UInt32Parser ); //Synchronization source identifier; identifier of RFTP stream source (random number) in case of conferencing identifier of mixer SENF_PARSER_VECTOR (csrcOpt, csrcCount, UInt32Parser ); - - bool valid() const {return version() == 2;} + SENF_PARSER_FINALIZE(RTPPacketParser); + + bool valid() const { return version() == 2; } }; - - struct RTPPacketType + + struct RTPPacketType : public PacketTypeBase, public PacketTypeMixin { typedef PacketTypeMixin mixin; typedef ConcretePacket packet; typedef RTPPacketParser parser; - + using mixin::nextPacketRange; using mixin::init; using mixin::initSize; - + static void dump(packet p, std::ostream &os); }; - + typedef RTPPacketType::packet RTPPacket; } + +//-///////////////////////////////////////////////////////////////////////////////////////////////// #endif