blob: 0d546097b75c39bfcbb65a5530bd6a3793ef7faa [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>
Wentao MA96f68962022-06-15 19:45:35 +080012#include "dvr_types.h"
Gong Ked869dd72020-07-20 09:00:25 +080013
14#ifdef __cplusplus
15extern "C" {
16#endif
17
Chuanzhi Wang742ba112020-09-15 11:43:55 +080018 typedef enum
19 {
20 DVB_FAILURE = -1,
21 DVB_SUCCESS = 0
22 } DVB_RESULT;
Gong Ked869dd72020-07-20 09:00:25 +080023
Chuanzhi Wang742ba112020-09-15 11:43:55 +080024
Gong Ke2a0ebbe2021-05-25 15:22:50 +080025#ifndef __ANDROID_API__
26typedef unsigned int uint_t;
27#endif
28
Wentao MA96f68962022-06-15 19:45:35 +080029/**Log facilities*/
30#define DVB_LOG_TAG "libdvr-dvb"
31#define DVB_DEBUG(...) DVR_LOG_PRINT(LOG_LV_DEBUG, DVB_LOG_TAG, __VA_ARGS__)
32#define DVB_INFO(...) DVR_LOG_PRINT(LOG_LV_INFO, DVB_LOG_TAG, __VA_ARGS__)
33#define DVB_WARN(...) DVR_LOG_PRINT(LOG_LV_WARN, DVB_LOG_TAG, __VA_ARGS__)
34#define DVB_ERROR(...) DVR_LOG_PRINT(LOG_LV_ERROR, DVB_LOG_TAG, __VA_ARGS__)
35#define DVB_FATAL(...) DVR_LOG_PRINT(LOG_LV_FATAL, DVB_LOG_TAG, __VA_ARGS__)
Chuanzhi Wang742ba112020-09-15 11:43:55 +080036
37 /**Demux input source.*/
38 typedef enum
39 {
40 DVB_DEMUX_SOURCE_TS0, /**< Hardware TS input port 0.*/
41 DVB_DEMUX_SOURCE_TS1, /**< Hardware TS input port 1.*/
42 DVB_DEMUX_SOURCE_TS2, /**< Hardware TS input port 2.*/
43 DVB_DEMUX_SOURCE_TS3, /**< Hardware TS input port 3.*/
44 DVB_DEMUX_SOURCE_TS4, /**< Hardware TS input port 4.*/
45 DVB_DEMUX_SOURCE_TS5, /**< Hardware TS input port 5.*/
46 DVB_DEMUX_SOURCE_TS6, /**< Hardware TS input port 6.*/
47 DVB_DEMUX_SOURCE_TS7, /**< Hardware TS input port 7.*/
48 DVB_DEMUX_SOURCE_DMA0, /**< DMA input port 0.*/
49 DVB_DEMUX_SOURCE_DMA1, /**< DMA input port 1.*/
50 DVB_DEMUX_SOURCE_DMA2, /**< DMA input port 2.*/
51 DVB_DEMUX_SOURCE_DMA3, /**< DMA input port 3.*/
52 DVB_DEMUX_SOURCE_DMA4, /**< DMA input port 4.*/
53 DVB_DEMUX_SOURCE_DMA5, /**< DMA input port 5.*/
54 DVB_DEMUX_SOURCE_DMA6, /**< DMA input port 6.*/
hualing chen03fd4942021-07-15 15:56:41 +080055 DVB_DEMUX_SOURCE_DMA7, /**< DMA input port 7.*/
56 DVB_DEMUX_SECSOURCE_DMA0, /**< DMA secure port 0.*/
57 DVB_DEMUX_SECSOURCE_DMA1, /**< DMA secure port 1.*/
58 DVB_DEMUX_SECSOURCE_DMA2, /**< DMA secure port 2.*/
59 DVB_DEMUX_SECSOURCE_DMA3, /**< DMA secure port 3.*/
60 DVB_DEMUX_SECSOURCE_DMA4, /**< DMA secure port 4.*/
61 DVB_DEMUX_SECSOURCE_DMA5, /**< DMA secure port 5.*/
62 DVB_DEMUX_SECSOURCE_DMA6, /**< DMA secure port 6.*/
Chuangcheng Pengaaa4a982021-11-01 13:31:47 +080063 DVB_DEMUX_SECSOURCE_DMA7, /**< DMA secure port 7.*/
64 DVB_DEMUX_SOURCE_DMA0_1, /**< DMA input port 0_1.*/
65 DVB_DEMUX_SOURCE_DMA1_1, /**< DMA input port 1_1.*/
66 DVB_DEMUX_SOURCE_DMA2_1, /**< DMA input port 2_1.*/
67 DVB_DEMUX_SOURCE_DMA3_1, /**< DMA input port 3_1.*/
68 DVB_DEMUX_SOURCE_DMA4_1, /**< DMA input port 4_1.*/
69 DVB_DEMUX_SOURCE_DMA5_1, /**< DMA input port 5_1.*/
70 DVB_DEMUX_SOURCE_DMA6_1, /**< DMA input port 6_1.*/
71 DVB_DEMUX_SOURCE_DMA7_1, /**< DMA input port 7_1.*/
72 DVB_DEMUX_SECSOURCE_DMA0_1, /**< DMA secure port 0_1.*/
73 DVB_DEMUX_SECSOURCE_DMA1_1, /**< DMA secure port 1_1.*/
74 DVB_DEMUX_SECSOURCE_DMA2_1, /**< DMA secure port 2_1.*/
75 DVB_DEMUX_SECSOURCE_DMA3_1, /**< DMA secure port 3_1.*/
76 DVB_DEMUX_SECSOURCE_DMA4_1, /**< DMA secure port 4_1.*/
77 DVB_DEMUX_SECSOURCE_DMA5_1, /**< DMA secure port 5_1.*/
78 DVB_DEMUX_SECSOURCE_DMA6_1, /**< DMA secure port 6_1.*/
79 DVB_DEMUX_SECSOURCE_DMA7_1, /**< DMA secure port 7_1.*/
80 DVB_DEMUX_SOURCE_TS0_1, /**< DMA secure port 0_1.*/
81 DVB_DEMUX_SOURCE_TS1_1, /**< DMA secure port 1_1.*/
82 DVB_DEMUX_SOURCE_TS2_1, /**< DMA secure port 2_1.*/
83 DVB_DEMUX_SOURCE_TS3_1, /**< DMA secure port 3_1.*/
84 DVB_DEMUX_SOURCE_TS4_1, /**< DMA secure port 4_1.*/
85 DVB_DEMUX_SOURCE_TS5_1, /**< DMA secure port 5_1.*/
86 DVB_DEMUX_SOURCE_TS6_1, /**< DMA secure port 6_1.*/
87 DVB_DEMUX_SOURCE_TS7_1, /**< DMA secure port 7_1.*/
Chuanzhi Wang742ba112020-09-15 11:43:55 +080088 } DVB_DemuxSource_t;
89
Gong Keb1771942021-11-27 10:42:56 +080090/**
91 * Enable/disable CIplus mode.
92 * \param enable Enable/disable.
93 * \retval 0 On success.
94 * \retval -1 On error.
95 */
96int dvb_enable_ciplus(int enable);
Chuangcheng Pengaaa4a982021-11-01 13:31:47 +080097
Chuanzhi Wang742ba112020-09-15 11:43:55 +080098 /**
Gong Ked869dd72020-07-20 09:00:25 +080099 * Set the demux's input source.
100 * \param dmx_idx Demux device's index.
101 * \param src The demux's input source.
102 * \retval 0 On success.
103 * \retval -1 On error.
104 */
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800105 int dvb_set_demux_source(int dmx_idx, DVB_DemuxSource_t src);
Gong Ked869dd72020-07-20 09:00:25 +0800106
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800107 /**
Chuanzhi Wang41bc0672020-07-29 15:58:56 +0800108 * Get the demux's input source.
109 * \param dmx_idx Demux device's index.
110 * \param point src that demux's input source.
111 * \retval 0 On success.
112 * \retval -1 On error.
113 */
114int dvb_get_demux_source (int dmx_idx, DVB_DemuxSource_t *src);
Chuanzhi Wang742ba112020-09-15 11:43:55 +0800115
hualing chenf9867402020-09-23 17:06:20 +0800116/**
117 * check the demux's is new driver.
118 * \retval 0 On old.
119 * \retval 1 On new.
120 */
121int dvr_check_dmx_isNew(void);
Chuanzhi Wang41bc0672020-07-29 15:58:56 +0800122
Yahui Hana1787d42023-08-01 15:04:59 +0800123/**
124 * check the demux ts clone status.
125 * \retval 0 Disabled.
126 * \retval 1 Enabled.
127 */
128int dvr_ts_clone_enable(void);
Gong Ked869dd72020-07-20 09:00:25 +0800129#ifdef __cplusplus
130}
131#endif
132
133#endif /*DVB_UTILS_H_*/
134