summaryrefslogtreecommitdiff
path: root/ttxtsubsreceiver.h
diff options
context:
space:
mode:
Diffstat (limited to 'ttxtsubsreceiver.h')
-rw-r--r--ttxtsubsreceiver.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/ttxtsubsreceiver.h b/ttxtsubsreceiver.h
new file mode 100644
index 0000000..a88aa65
--- /dev/null
+++ b/ttxtsubsreceiver.h
@@ -0,0 +1,34 @@
+
+class cRingBufferFrame;
+
+class cTtxtSubsReceiver : public cReceiver
+{
+ public:
+ cTtxtSubsReceiver(int Ca, struct ttxtpidinfo *PI);
+ virtual ~cTtxtSubsReceiver();
+
+ // returns pointer buf if there is new data
+ uint8_t *Get(uint8_t *buf);
+ // wait for more data
+ void Wait(void);
+
+ void IndexPage(char ***lines, int *linecount);
+
+ protected:
+ virtual void Activate(bool On);
+ virtual void Receive(uchar *Data, int Length);
+
+ virtual void AddIndexInfo(char *lang, int type, uint16_t page);
+ virtual void EndIndexInfo(void);
+
+ private:
+ cMutex mGetMutex;
+ cCondVar mGetCond;
+ cRingBufferFrame mRingBuf;
+ struct ttxtpidinfo mPI;
+ cTtxtSubsFilter mFilter;
+ uint8_t mIndexPage[24][46];
+ uint8_t mIndexPageLines;
+ uint8_t mIndexPageCol;
+ uint16_t mIndexPageNo;
+};