blob: 4ebc86aa7f7a4ea76e3f44659f6ce112b5711071
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 | { |
27 | public: |
28 | CTvVchipCheck(); |
29 | ~CTvVchipCheck(); |
30 | bool CheckProgramBlock(int id); |
31 | static void *VchipCheckingThread ( void *arg ); |
32 | int startVChipCheck(); |
33 | int stopVChipCheck(); |
34 | int pauseVChipCheck(); |
35 | int resumeVChipCheck(); |
36 | int requestAndWaitPauseVChipCheck(); |
37 | private: |
38 | bool threadLoop(); |
39 | mutable CMutex mLock; |
40 | CCondition mDetectPauseCondition; |
41 | CCondition mRequestPauseCondition; |
42 | volatile bool m_request_pause_detect; |
43 | enum DetectState { |
44 | STATE_STOPED = 0, |
45 | STATE_RUNNING, |
46 | STATE_PAUSE |
47 | }; |
48 | int mDetectState; |
49 | }; |
50 | #endif //_CTVDIMENSION_H |
51 |