blob: fb529d32fde7b593104a8bd5dce3b03ed98fa40d [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.*/
69 DVB_DEMUX_SECSOURCE_DMA7 /**< DMA secure port 7.*/
Chuanzhi Wang742ba112020-09-15 11:43:55 +080070 } DVB_DemuxSource_t;
71
72 /**
Gong Ked869dd72020-07-20 09:00:25 +080073 * Set the demux's input source.
74 * \param dmx_idx Demux device's index.
75 * \param src The demux's input source.
76 * \retval 0 On success.
77 * \retval -1 On error.
78 */
Chuanzhi Wang742ba112020-09-15 11:43:55 +080079 int dvb_set_demux_source(int dmx_idx, DVB_DemuxSource_t src);
Gong Ked869dd72020-07-20 09:00:25 +080080
Chuanzhi Wang742ba112020-09-15 11:43:55 +080081 /**
Chuanzhi Wang41bc0672020-07-29 15:58:56 +080082 * Get the demux's input source.
83 * \param dmx_idx Demux device's index.
84 * \param point src that demux's input source.
85 * \retval 0 On success.
86 * \retval -1 On error.
87 */
88int dvb_get_demux_source (int dmx_idx, DVB_DemuxSource_t *src);
Chuanzhi Wang742ba112020-09-15 11:43:55 +080089
hualing chenf9867402020-09-23 17:06:20 +080090/**
91 * check the demux's is new driver.
92 * \retval 0 On old.
93 * \retval 1 On new.
94 */
95int dvr_check_dmx_isNew(void);
Chuanzhi Wang41bc0672020-07-29 15:58:56 +080096
97
Gong Ked869dd72020-07-20 09:00:25 +080098#ifdef __cplusplus
99}
100#endif
101
102#endif /*DVB_UTILS_H_*/
103