blob: dca2d4544015cea9e8ddacf7c4ac359c1268ffd1 [file] [log] [blame]
Gong Ked869dd72020-07-20 09:00:25 +08001/**
2 * \file
3 * \brief DVB utility functions
4 */
5
6#ifndef DVB_UTILS_H_
7#define DVB_UTILS_H_
Gong Ke2a0ebbe2021-05-25 15:22:50 +08008
Chuanzhi Wang742ba112020-09-15 11:43:55 +08009#include <android/log.h>
Gong Ke2a0ebbe2021-05-25 15:22:50 +080010#include <stdio.h>
11#include <inttypes.h>
Gong Ked869dd72020-07-20 09:00:25 +080012
13#ifdef __cplusplus
14extern "C" {
15#endif
16
Chuanzhi Wang742ba112020-09-15 11:43:55 +080017 typedef enum
18 {
19 DVB_FAILURE = -1,
20 DVB_SUCCESS = 0
21 } DVB_RESULT;
Gong Ked869dd72020-07-20 09:00:25 +080022
Chuanzhi Wang742ba112020-09-15 11:43:55 +080023/**Logcat TAG of dvb*/
24#define DVB_LOG_TAG "dvb_debug"
25/**Default debug level*/
26#define DVB_DEBUG_LEVEL 1
Gong Ke2a0ebbe2021-05-25 15:22:50 +080027
Chuanzhi Wang742ba112020-09-15 11:43:55 +080028/**Log output*/
29#define dvb_log_print(...) __android_log_print(ANDROID_LOG_INFO, DVB_LOG_TAG, __VA_ARGS__)
30
Gong Ke2a0ebbe2021-05-25 15:22:50 +080031#ifndef __ANDROID_API__
32typedef unsigned int uint_t;
33#endif
34
Chuanzhi Wang742ba112020-09-15 11:43:55 +080035/**Output debug message.*/
36#define DVB_DEBUG(_level, _fmt...) \
37 do \
38 { \
39 if (_level <= DVB_DEBUG_LEVEL) \
40 dvb_log_print(_fmt); \
41 } while (0)
42
43 /**Demux input source.*/
44 typedef enum
45 {
46 DVB_DEMUX_SOURCE_TS0, /**< Hardware TS input port 0.*/
47 DVB_DEMUX_SOURCE_TS1, /**< Hardware TS input port 1.*/
48 DVB_DEMUX_SOURCE_TS2, /**< Hardware TS input port 2.*/
49 DVB_DEMUX_SOURCE_TS3, /**< Hardware TS input port 3.*/
50 DVB_DEMUX_SOURCE_TS4, /**< Hardware TS input port 4.*/
51 DVB_DEMUX_SOURCE_TS5, /**< Hardware TS input port 5.*/
52 DVB_DEMUX_SOURCE_TS6, /**< Hardware TS input port 6.*/
53 DVB_DEMUX_SOURCE_TS7, /**< Hardware TS input port 7.*/
54 DVB_DEMUX_SOURCE_DMA0, /**< DMA input port 0.*/
55 DVB_DEMUX_SOURCE_DMA1, /**< DMA input port 1.*/
56 DVB_DEMUX_SOURCE_DMA2, /**< DMA input port 2.*/
57 DVB_DEMUX_SOURCE_DMA3, /**< DMA input port 3.*/
58 DVB_DEMUX_SOURCE_DMA4, /**< DMA input port 4.*/
59 DVB_DEMUX_SOURCE_DMA5, /**< DMA input port 5.*/
60 DVB_DEMUX_SOURCE_DMA6, /**< DMA input port 6.*/
hualing chen03fd4942021-07-15 15:56:41 +080061 DVB_DEMUX_SOURCE_DMA7, /**< DMA input port 7.*/
62 DVB_DEMUX_SECSOURCE_DMA0, /**< DMA secure port 0.*/
63 DVB_DEMUX_SECSOURCE_DMA1, /**< DMA secure port 1.*/
64 DVB_DEMUX_SECSOURCE_DMA2, /**< DMA secure port 2.*/
65 DVB_DEMUX_SECSOURCE_DMA3, /**< DMA secure port 3.*/
66 DVB_DEMUX_SECSOURCE_DMA4, /**< DMA secure port 4.*/
67 DVB_DEMUX_SECSOURCE_DMA5, /**< DMA secure port 5.*/
68 DVB_DEMUX_SECSOURCE_DMA6, /**< DMA secure port 6.*/
Chuangcheng Pengaaa4a982021-11-01 13:31:47 +080069 DVB_DEMUX_SECSOURCE_DMA7, /**< DMA secure port 7.*/
70 DVB_DEMUX_SOURCE_DMA0_1, /**< DMA input port 0_1.*/
71 DVB_DEMUX_SOURCE_DMA1_1, /**< DMA input port 1_1.*/
72 DVB_DEMUX_SOURCE_DMA2_1, /**< DMA input port 2_1.*/
73 DVB_DEMUX_SOURCE_DMA3_1, /**< DMA input port 3_1.*/
74 DVB_DEMUX_SOURCE_DMA4_1, /**< DMA input port 4_1.*/
75 DVB_DEMUX_SOURCE_DMA5_1, /**< DMA input port 5_1.*/
76 DVB_DEMUX_SOURCE_DMA6_1, /**< DMA input port 6_1.*/
77 DVB_DEMUX_SOURCE_DMA7_1, /**< DMA input port 7_1.*/
78 DVB_DEMUX_SECSOURCE_DMA0_1, /**< DMA secure port 0_1.*/
79 DVB_DEMUX_SECSOURCE_DMA1_1, /**< DMA secure port 1_1.*/
80 DVB_DEMUX_SECSOURCE_DMA2_1, /**< DMA secure port 2_1.*/
81 DVB_DEMUX_SECSOURCE_DMA3_1, /**< DMA secure port 3_1.*/
82 DVB_DEMUX_SECSOURCE_DMA4_1, /**< DMA secure port 4_1.*/
83 DVB_DEMUX_SECSOURCE_DMA5_1, /**< DMA secure port 5_1.*/
84 DVB_DEMUX_SECSOURCE_DMA6_1, /**< DMA secure port 6_1.*/
85 DVB_DEMUX_SECSOURCE_DMA7_1, /**< DMA secure port 7_1.*/
86 DVB_DEMUX_SOURCE_TS0_1, /**< DMA secure port 0_1.*/
87 DVB_DEMUX_SOURCE_TS1_1, /**< DMA secure port 1_1.*/
88 DVB_DEMUX_SOURCE_TS2_1, /**< DMA secure port 2_1.*/
89 DVB_DEMUX_SOURCE_TS3_1, /**< DMA secure port 3_1.*/
90 DVB_DEMUX_SOURCE_TS4_1, /**< DMA secure port 4_1.*/
91 DVB_DEMUX_SOURCE_TS5_1, /**< DMA secure port 5_1.*/
92 DVB_DEMUX_SOURCE_TS6_1, /**< DMA secure port 6_1.*/
93 DVB_DEMUX_SOURCE_TS7_1, /**< DMA secure port 7_1.*/
Chuanzhi Wang742ba112020-09-15 11:43:55 +080094 } DVB_DemuxSource_t;
95
Gong Keb1771942021-11-27 10:42:56 +080096/**
97 * Enable/disable CIplus mode.
98 * \param enable Enable/disable.
99 * \retval 0 On success.
100 * \retval -1 On error.
101 */
102int dvb_enable_ciplus(int enable);
Chuangcheng Pengaaa4a982021-11-01 13:31:47 +0800103
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800104 /**
Gong Ked869dd72020-07-20 09:00:25 +0800105 * Set the demux's input source.
106 * \param dmx_idx Demux device's index.
107 * \param src The demux's input source.
108 * \retval 0 On success.
109 * \retval -1 On error.
110 */
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800111 int dvb_set_demux_source(int dmx_idx, DVB_DemuxSource_t src);
Gong Ked869dd72020-07-20 09:00:25 +0800112
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800113 /**
Chuanzhi Wang41bc0672020-07-29 15:58:56 +0800114 * Get the demux's input source.
115 * \param dmx_idx Demux device's index.
116 * \param point src that demux's input source.
117 * \retval 0 On success.
118 * \retval -1 On error.
119 */
120int dvb_get_demux_source (int dmx_idx, DVB_DemuxSource_t *src);
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800121
hualing chenf9867402020-09-23 17:06:20 +0800122/**
123 * check the demux's is new driver.
124 * \retval 0 On old.
125 * \retval 1 On new.
126 */
127int dvr_check_dmx_isNew(void);
Chuanzhi Wang41bc0672020-07-29 15:58:56 +0800128
129
Gong Ked869dd72020-07-20 09:00:25 +0800130#ifdef __cplusplus
131}
132#endif
133
134#endif /*DVB_UTILS_H_*/
135