X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1aeefd997cc362c3b37c1587c5f08891b35c3a75..3f9644531fb06a71290b65fbc97f9a8f29fd8076:/lib/dvb/esection.h diff --git a/lib/dvb/esection.h b/lib/dvb/esection.h index 78895e76..af5c012b 100644 --- a/lib/dvb/esection.h +++ b/lib/dvb/esection.h @@ -1,16 +1,18 @@ #ifndef __esection_h #define __esection_h -#include +#include #include class eGTable: public iObject, public Object { -DECLARE_REF; +DECLARE_REF(eGTable); private: ePtr m_reader; eDVBTableSpec m_table; + unsigned int m_tries; + eTimer *m_timeout; void sectionRead(const __u8 *data); @@ -42,7 +44,6 @@ protected: delete sections[nr]; sections.resize(max); - sections[nr] = new Section(data); avail.insert(nr); @@ -52,11 +53,13 @@ protected: else printf("-"); - printf(" %d/%d\n", avail.size(), max); + printf(" %d/%d TID %02x\n", avail.size(), max, data[0]); if (avail.size() == max) + { + printf("done!\n"); return 1; - else + } else return 0; } public: @@ -95,7 +98,12 @@ public: ~eAUTable() { - current=next=0; + stop(); + } + + void stop() + { + current = next = 0; } int begin(eMainloop *m, const eDVBTableSpec &spec, ePtr demux)