X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FMPEGDVBBundle%2FSNDUPacket.cc;h=e55812f8a560ab427f4936fcd1d86629f65a1782;hb=f1fc7057fa65a9509651d08c6c134d136fbb0424;hp=2e52a845d888fb03b4d94d022e876bf2554ef746;hpb=aa8de2975f5365cd4f29f6f337f93ad328f6685c;p=senf.git diff --git a/Packets/MPEGDVBBundle/SNDUPacket.cc b/Packets/MPEGDVBBundle/SNDUPacket.cc index 2e52a84..e55812f 100644 --- a/Packets/MPEGDVBBundle/SNDUPacket.cc +++ b/Packets/MPEGDVBBundle/SNDUPacket.cc @@ -1,4 +1,4 @@ -// $Id: DSMCCSection.cc 350 2007-07-25 08:26:41Z g0dil $ +// $Id$ // // Copyright (C) 2007 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) @@ -28,6 +28,8 @@ // Custom includes #include +#include "Utils/hexdump.hh" +#include "Packets/PacketData.hh" #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// @@ -47,9 +49,23 @@ prefix_ senf::PacketParserBase::size_type senf::Parse_SNDUPacket::bytes() return 2 + 2 + 4 + 6; // + 6 Byte NPA destination address } +prefix_ boost::uint32_t senf::Parse_SNDUPacket::calcCrc() + const +{ + ule_crc32 result; + senf::PacketData::iterator i (data().begin()); + senf::PacketData::iterator const i_end(boost::prior(data().end(),4)); + for (; i!=i_end; ++i) + result.process_byte(*i); + return result.checksum(); +} + prefix_ void senf::SNDUPacketType::dump(packet p, std::ostream & os) { - os << "SNDUPacket:\n"; + os << "SNDUPacket:\n" + << " d_bit: " << p->d_bit() << "\n" + << " length: " << unsigned(p->length()) << "\n" + << " crc: " << unsigned(p->crc()) << "\n"; } prefix_ senf::PacketParserBase::size_type senf::SNDUPacketType::initSize()