X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FRTPPacket.hh;h=421e6686be8277a72b0428bf787966a47a1c9532;hb=5cb66935d4b2973ea0fe7487b862b9ddc31648f4;hp=403d994a1dbd051bea83728db53d14e5562c2337;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Packets/DefaultBundle/RTPPacket.hh b/senf/Packets/DefaultBundle/RTPPacket.hh index 403d994..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_ - -#include "../../Packets/Packets.hh" -#include "../../Socket/Protocols/INet/INet6Address.hh" +#define HH_SENF_Packets_DefaultBundle_RTPPacket_ 1 +// Custom includes +#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