00001
00002
00003 #include <iostream>
00004 #include "tspacket.h"
00005
00006 const unsigned int TSPacket::SIZE = 188;
00007 const unsigned int TSHeader::HEADER_SIZE = 4;
00008 const unsigned int TSPacket::PAYLOAD_SIZE = 188-4;
00009
00010 const unsigned char TSHeader::PAYLOAD_ONLY_HEADER[4] =
00011 {
00012 SYNC_BYTE,
00013 0x40,
00014 0x0,
00015 0x10,
00016 };
00017
00018 const unsigned char NULL_PACKET_BYTES[188] =
00019 {
00020 SYNC_BYTE, 0x1F, 0xFF, 0x00,
00021 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00022 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00023 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00024 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00025 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00026 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
00027 };
00028
00029 const TSPacket *TSPacket::NULL_PACKET =
00030 reinterpret_cast<const TSPacket*>(NULL_PACKET_BYTES);
00031
00032 QString TSPacket::toString() const {
00033 QString str;
00034 str.append("TSPacket @0x%1 ").arg(long(&data()[0]),0,16);
00035 str.append("raw: 0x%1 0x%2 0x%3 0x%4\n").arg(int(data()[0]),0,16).
00036 arg(int(data()[1]),0,16).arg(int(data()[2]),0,16).arg(int(data()[3]),0,16);
00037 str.append(" inSync: %1\n").arg( HasSync());
00038 str.append(" transportError: %1\n").arg( TransportError());
00039 str.append(" payloadStart: %1\n").arg( PayloadStart() );
00040 str.append(" priority: %1\n").arg( Priority() );
00041 str.append(" pid: %1\n").arg( PID() );
00042 str.append(" scrampled: %1\n").arg( ScramplingControl() );
00043 str.append(" adaptationFieldControl: %1\n").arg( AdaptationFieldControl() );
00044 str.append(" continuityCounter: %1\n").arg( ContinuityCounter() );
00045 return str;
00046 }