X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FMPEGDVBBundle%2FSNDUPacket.cc;h=6f4e8ea246cd6c5c1f3bf9be93747d9338fa161d;hb=4d90b955bf3590e215488395d1c9cec827476e07;hp=e6761b335106be048015e31755f00657e706a706;hpb=5367b304d03eba5b7738b46b86532b0141b60d95;p=senf.git diff --git a/senf/Packets/MPEGDVBBundle/SNDUPacket.cc b/senf/Packets/MPEGDVBBundle/SNDUPacket.cc index e6761b3..6f4e8ea 100644 --- a/senf/Packets/MPEGDVBBundle/SNDUPacket.cc +++ b/senf/Packets/MPEGDVBBundle/SNDUPacket.cc @@ -38,14 +38,14 @@ 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) @@ -57,20 +57,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(); + senf::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