blob: 1a33d2358432afe1fed9a3447efc94c927bcdfa6
1 | // |
2 | // |
3 | // amlogic 2013 |
4 | // |
5 | // @ Project : tv |
6 | // @ File Name : CTvDimension.h |
7 | // @ Date : 2013-11 |
8 | // @ Author : |
9 | // |
10 | // |
11 | |
12 | #if !defined(_CTVVCHIPCHECK_H) |
13 | #define _CTVVCHIPCHECK_H |
14 | #include <utils/Vector.h> |
15 | #include "CTvDatabase.h" |
16 | #include <utils/String8.h> |
17 | #include <stdlib.h> |
18 | #include "CTvDimension.h" |
19 | #include "CTvProgram.h" |
20 | #include "CTvTime.h" |
21 | #include "CTvEvent.h" |
22 | #include "CTvLog.h" |
23 | #include "tvutils/CThread.h" |
24 | // TV ATSC rating dimension |
25 | class CTvVchipCheck: public CThread { |
26 | public: |
27 | CTvVchipCheck(); |
28 | ~CTvVchipCheck(); |
29 | bool CheckProgramBlock(int id); |
30 | static void *VchipCheckingThread ( void *arg ); |
31 | int startVChipCheck(); |
32 | int stopVChipCheck(); |
33 | int pauseVChipCheck(); |
34 | int resumeVChipCheck(); |
35 | int requestAndWaitPauseVChipCheck(); |
36 | private: |
37 | bool threadLoop(); |
38 | mutable CMutex mLock; |
39 | CCondition mDetectPauseCondition; |
40 | CCondition mRequestPauseCondition; |
41 | volatile bool m_request_pause_detect; |
42 | enum DetectState { |
43 | STATE_STOPED = 0, |
44 | STATE_RUNNING, |
45 | STATE_PAUSE |
46 | }; |
47 | int mDetectState; |
48 | }; |
49 | #endif //_CTVDIMENSION_H |
50 |