00001 // -*- Mode: c++ -*- 00002 // This file, "tsstats.h" is in the public domain, written by Daniel Kristjansson, 2004 CE 00003 #ifndef __TS_STATS__ 00004 #define __TS_STATS__ 00005 00006 #include <QString> 00007 #include <QMap> 00008 00014 class TSStats 00015 { 00016 public: 00017 TSStats() : _tspacket_count(0) { ; } 00018 void IncrPIDCount(int pid) { _pid_counts[pid]++; } 00019 void IncrTSPacketCount() { _tspacket_count++; } 00020 long long TSPacketCount() { return _tspacket_count; } 00021 void Reset() { _tspacket_count = 0; _pid_counts.clear(); } 00022 inline QString toString(); 00023 private: 00024 long long _tspacket_count; 00025 QMap<int, long long> _pid_counts; 00026 }; 00027 00028 inline QString TSStats::toString() { 00029 QString str("Transport Stream Statistics\n"); 00030 str.append(QString("TSPacket Count: %1").arg((long)_tspacket_count)); 00031 QMapIterator<int, long long> it = _pid_counts.begin(); 00032 for (; it != _pid_counts.end(); it++) 00033 str.append(QString("\nPID 0x%1 Count: %2"). 00034 arg((int)it.key(),0,16).arg((long)it.data(),10,10)); 00035 return str; 00036 } 00037 00038 #endif // __TS_STATS__
1.6.3