vdr  2.7.6
dvbsubtitle.h
Go to the documentation of this file.
1 /*
2  * dvbsubtitle.h: DVB subtitles
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * Original author: Marco Schluessler <marco@lordzodiac.de>
8  *
9  * $Id: dvbsubtitle.h 5.3 2025/03/28 22:49:17 kls Exp $
10  */
11 
12 #ifndef __DVBSUBTITLE_H
13 #define __DVBSUBTITLE_H
14 
15 #include "osd.h"
16 #include "thread.h"
17 #include "tools.h"
18 
19 class cDvbSubtitlePage;
20 class cDvbSubtitleAssembler; // for legacy PES recordings
22 
24 private:
25  static int setupLevel;
28  bool frozen;
36  int osdDeltaX;
37  int osdDeltaY;
38  double osdFactorX;
39  double osdFactorY;
40  int retention;
41  bool visible;
42  uint64_t endVisible;
46  cDvbSubtitlePage *GetPageById(int PageId, bool New = false);
47  void SetOsdData(void);
48  bool AssertOsd(void);
49  int ExtractSegment(const uchar *Data, int Length, int64_t Pts);
50  int ExtractPgsSegment(const uchar *Data, int Length, int64_t Pts);
51  void FinishPage(cDvbSubtitlePage *Page);
52 public:
54  virtual ~cDvbSubtitleConverter() override;
55  virtual void Action(void) override;
56  void SetVisible(bool Visible);
57  void SetTempVisible(void);
58  void Reset(void);
59  void Freeze(bool Status) { frozen = Status; }
60  int ConvertFragments(const uchar *Data, int Length); // for legacy PES recordings
61  int Convert(const uchar *Data, int Length);
62  static void SetupChanged(void);
63  };
64 
65 #endif //__DVBSUBTITLE_H
int Convert(const uchar *Data, int Length)
Definition: dvbsubtitle.c:1472
void Freeze(bool Status)
Definition: dvbsubtitle.h:59
virtual void Action(void) override
A derived cThread class must implement the code it wants to execute as a separate thread in this func...
Definition: dvbsubtitle.c:1517
void SetTempVisible(void)
Definition: dvbsubtitle.c:1399
void SetVisible(bool Visible)
Definition: dvbsubtitle.c:1390
cList< cDvbSubtitleBitmaps > * bitmaps
Definition: dvbsubtitle.h:44
void FinishPage(cDvbSubtitlePage *Page)
Definition: dvbsubtitle.c:1801
int ExtractPgsSegment(const uchar *Data, int Length, int64_t Pts)
Definition: dvbsubtitle.c:1736
virtual ~cDvbSubtitleConverter() override
Definition: dvbsubtitle.c:1381
int ExtractSegment(const uchar *Data, int Length, int64_t Pts)
Definition: dvbsubtitle.c:1616
cDvbSubtitleAssembler * dvbSubtitleAssembler
Definition: dvbsubtitle.h:26
cList< cDvbSubtitlePage > * pages
Definition: dvbsubtitle.h:43
static int setupLevel
Definition: dvbsubtitle.h:25
cDvbSubtitlePage * GetPageById(int PageId, bool New=false)
Definition: dvbsubtitle.c:1603
static void SetupChanged(void)
Definition: dvbsubtitle.c:1408
int ConvertFragments(const uchar *Data, int Length)
Definition: dvbsubtitle.c:1426
cDvbSubtitleBitmaps * current
Definition: dvbsubtitle.h:45
The cOsd class is the interface to the "On Screen Display".
Definition: osd.h:753
Definition: thread.h:79
unsigned char uchar
Definition: tools.h:31