X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..4cdb4528bbff583dc193f24508157e96a0d95c59:/lib/dvb/esection.h diff --git a/lib/dvb/esection.h b/lib/dvb/esection.h index ca63c184..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 virtual iObject, public Object +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)