#ifndef __esection_h
#define __esection_h
-#include <lib/dvb/isection.h>
+#include <lib/dvb/idemux.h>
#include <set>
-class eGTable: public virtual iObject, public Object
+class eGTable: public iObject, public Object
{
-DECLARE_REF;
+DECLARE_REF(eGTable);
private:
ePtr<iDVBSectionReader> m_reader;
eDVBTableSpec m_table;
+ unsigned int m_tries;
+
eTimer *m_timeout;
void sectionRead(const __u8 *data);
delete sections[nr];
sections.resize(max);
-
sections[nr] = new Section(data);
avail.insert(nr);
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:
~eAUTable()
{
- current=next=0;
+ stop();
+ }
+
+ void stop()
+ {
+ current = next = 0;
}
int begin(eMainloop *m, const eDVBTableSpec &spec, ePtr<iDVBDemux> demux)