X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FMPEGDVBBundle%2FSNDUPacket.cc;h=53c3bd30bff98c63223587f4ffb561c83afdb36f;hb=e3179a2123ad51d0d9eb63834a581145c4f77c92;hp=a034f7bb92666510bdd311f4da1efa306d4587a6;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Packets/MPEGDVBBundle/SNDUPacket.cc b/senf/Packets/MPEGDVBBundle/SNDUPacket.cc index a034f7b..53c3bd3 100644 --- a/senf/Packets/MPEGDVBBundle/SNDUPacket.cc +++ b/senf/Packets/MPEGDVBBundle/SNDUPacket.cc @@ -28,31 +28,22 @@ // Custom includes #include -#include -#include - #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// - -//namespace { -// senf::PacketRegistry::RegistrationProxy -// registerEthVLanPacket(0x8100); -//} - +//-///////////////////////////////////////////////////////////////////////////////////////////////// prefix_ boost::uint32_t senf::SNDUPacketParser::calcCrc() const { return std::for_each( - data().begin(), - boost::prior(data().end(), 4), + data().begin(), + boost::prior(data().end(), 4), ule_crc32() ).checksum(); } //prefix_ senf::SNDUPacketType::key_t senf::SNDUPacketType::nextPacketKey(packet p) //{ -// return p->type(); +// return p->type(); //} prefix_ void senf::SNDUPacketType::init(packet p) @@ -64,20 +55,26 @@ prefix_ senf::PacketInterpreterBase::factory_t senf::SNDUPacketType::nextPacketT { if (p.data().size() < 8) return no_factory(); - PkReg_Entry const * e; - if (p->type() < 1536) - e = PacketRegistry::lookup( p->type(), nothrow ); - else - e = PacketRegistry::lookup( p->type(), nothrow ); - return e ? e->factory() : no_factory(); + PacketInterpreterBase::factory_t f (no_factory()); + if (p->type() < 1536) { + PacketRegistry::Entry const * e ( + PacketRegistry::lookup( p->type(), nothrow )); + if (e) f = e->factory(); + } + else { + PacketRegistry::Entry const * e ( + PacketRegistry::lookup( p->type(), nothrow )); + if (e) f = e->factory(); + } + return f; } -prefix_ senf::PacketInterpreterBase::optional_range -senf::SNDUPacketType::nextPacketRange(packet p) +prefix_ senf::PacketInterpreterBase::optional_range +senf::SNDUPacketType::nextPacketRange(packet p) { if (p.data().size() < 8) return no_range(); - + size_type sz = 2 + 2; // D-Bit + 15 bits length + 16 bits type field if (! p->d_bit() ) sz += 6; // + 6 Byte NPA destination address @@ -90,12 +87,12 @@ prefix_ void senf::SNDUPacketType::dump(packet p, std::ostream & os) { os << "SNDUPacket:\n" << std::dec - << " d_bit : " << p->d_bit() << "\n" - << " length : " << unsigned(p->length()) << "\n" + << senf::fieldName("d_bit") << p->d_bit() << "\n" + << senf::fieldName("length") << unsigned(p->length()) << "\n" << std::hex - << " type : 0x" << unsigned(p->type()) << "\n" + << senf::fieldName("type") << "0x" << unsigned(p->type()) << "\n" << std::dec - << " crc : " << unsigned(p->crc()) << "\n"; + << senf::fieldName("crc") << unsigned(p->crc()) << "\n"; } prefix_ senf::PacketParserBase::size_type senf::SNDUPacketType::initSize() @@ -108,7 +105,7 @@ prefix_ senf::PacketParserBase::size_type senf::SNDUPacketType::initHeadSize() return 2 + 2; // D-Bit + 15 bits length + 16 bits type field } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_