comparison libmpdemux/dvb_tune.c @ 12309:5c375ea5fb0f

new configuration structure, gcc warn silencing
author nicodvb
date Mon, 26 Apr 2004 21:22:33 +0000
parents 09aae06de9c8
children 168238f8c715
comparison
equal deleted inserted replaced
12308:e76abd2a803c 12309:5c375ea5fb0f
50 #include "dvbin.h" 50 #include "dvbin.h"
51 #include "../mp_msg.h" 51 #include "../mp_msg.h"
52 52
53 53
54 54
55 int dvb_get_tuner_type(dvb_priv_t *priv) 55 int dvb_get_tuner_type(int fe_fd)
56 { 56 {
57 #ifdef HAVE_DVB_HEAD 57 #ifdef HAVE_DVB_HEAD
58 struct dvb_frontend_info fe_info; 58 struct dvb_frontend_info fe_info;
59 #else 59 #else
60 FrontendInfo fe_info; 60 FrontendInfo fe_info;
61 #endif 61 #endif
62 62
63 int res, fe_fd; 63 int res;
64
65 fe_fd = priv->fe_fd;
66 64
67 res = ioctl(fe_fd, FE_GET_INFO, &fe_info); 65 res = ioctl(fe_fd, FE_GET_INFO, &fe_info);
68 if(res < 0) 66 if(res < 0)
69 { 67 {
70 mp_msg(MSGT_DEMUX, MSGL_ERR, "FE_GET_INFO error: %d, FD: %d\n\n", errno, fe_fd); 68 mp_msg(MSGT_DEMUX, MSGL_ERR, "FE_GET_INFO error: %d, FD: %d\n\n", errno, fe_fd);
72 } 70 }
73 71
74 switch(fe_info.type) 72 switch(fe_info.type)
75 { 73 {
76 case FE_OFDM: 74 case FE_OFDM:
77 mp_msg(MSGT_DEMUX, MSGL_INFO, "TUNER TYPE SEEMS TO BE DVB-T\n"); 75 mp_msg(MSGT_DEMUX, MSGL_V, "TUNER TYPE SEEMS TO BE DVB-T\n");
78 return TUNER_TER; 76 return TUNER_TER;
79 77
80 case FE_QPSK: 78 case FE_QPSK:
81 mp_msg(MSGT_DEMUX, MSGL_INFO, "TUNER TYPE SEEMS TO BE DVB-S\n"); 79 mp_msg(MSGT_DEMUX, MSGL_V, "TUNER TYPE SEEMS TO BE DVB-S\n");
82 return TUNER_SAT; 80 return TUNER_SAT;
83 81
84 case FE_QAM: 82 case FE_QAM:
85 mp_msg(MSGT_DEMUX, MSGL_INFO, "TUNER TYPE SEEMS TO BE DVB-C\n"); 83 mp_msg(MSGT_DEMUX, MSGL_V, "TUNER TYPE SEEMS TO BE DVB-C\n");
86 return TUNER_CBL; 84 return TUNER_CBL;
87 85
88 default: 86 default:
89 mp_msg(MSGT_DEMUX, MSGL_ERR, "UNKNOWN TUNER TYPE\n"); 87 mp_msg(MSGT_DEMUX, MSGL_ERR, "UNKNOWN TUNER TYPE\n");
90 return 0; 88 return 0;
91 } 89 }
92 90
93 } 91 }
94 92
95 93 int dvb_open_devices(dvb_priv_t *priv, int n)
96 int dvb_open_fe(dvb_priv_t *priv) 94 {
97 { 95 priv->fe_fd = open(dvb_frontenddev[n], O_RDWR | O_NONBLOCK);
98 priv->fe_fd = open(dvb_frontenddev[priv->card], O_RDWR | O_NONBLOCK);
99 if(priv->fe_fd < 0) 96 if(priv->fe_fd < 0)
100 { 97 {
101 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR IN OPENING FRONTEND DEVICE %s: ERRNO %d\n", dvb_frontenddev[priv->card], errno); 98 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING FRONTEND DEVICE %s: ERRNO %d\n", dvb_frontenddev[n], errno);
102 return 0; 99 return 0;
103 } 100 }
104 #ifdef HAVE_DVB_HEAD 101 #ifdef HAVE_DVB_HEAD
105 priv->sec_fd=0; 102 priv->sec_fd=0;
106 #else 103 #else
107 priv->sec_fd = open(dvb_secdev[priv->card], O_RDWR); 104 priv->sec_fd = open(dvb_secdev[n], O_RDWR);
108 if(priv->sec_fd < 0) 105 if(priv->sec_fd < 0)
109 { 106 {
110 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR IN OPENING SEC DEVICE %s: ERRNO %d\n", dvb_secdev[priv->card], errno); 107 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING SEC DEVICE %s: ERRNO %d\n", dvb_secdev[n], errno);
111 close(priv->fe_fd); 108 close(priv->fe_fd);
112 return 0; 109 return 0;
113 } 110 }
114 #endif 111 #endif
112 priv->demux_fd[0] = open(dvb_demuxdev[n], O_RDWR);
113 if(priv->demux_fd[0] < 0)
114 {
115 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING DEMUX 0: %d\n", errno);
116 return 0;
117 }
118
119 priv->demux_fd[1] = open(dvb_demuxdev[n], O_RDWR);
120 if(priv->demux_fd[1] < 0)
121 {
122 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING DEMUX 1: %d\n", errno);
123 return 0;
124 }
125
126
127 priv->dvr_fd = open(dvb_dvrdev[n], O_RDONLY| O_NONBLOCK);
128 if(priv->dvr_fd < 0)
129 {
130 mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING DVR DEVICE %s: %d\n", dvb_dvrdev[n], errno);
131 return 0;
132 }
115 133
116 return 1; 134 return 1;
117 } 135 }
118 136
119 137
170 static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, 188 static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone,
171 fe_spectral_inversion_t specInv, unsigned int diseqc, fe_modulation_t modulation, fe_code_rate_t HP_CodeRate, 189 fe_spectral_inversion_t specInv, unsigned int diseqc, fe_modulation_t modulation, fe_code_rate_t HP_CodeRate,
172 fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth); 190 fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth);
173 191
174 192
175 dvb_tune(dvb_priv_t *priv, int freq, char pol, int srate, int diseqc, int tone, 193 int dvb_tune(dvb_priv_t *priv, int freq, char pol, int srate, int diseqc, int tone,
176 fe_spectral_inversion_t specInv, fe_modulation_t modulation, fe_guard_interval_t guardInterval, 194 fe_spectral_inversion_t specInv, fe_modulation_t modulation, fe_guard_interval_t guardInterval,
177 fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate) 195 fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate)
178 { 196 {
179 int ris; 197 int ris;
180 198
268 286
269 287
270 #ifdef HAVE_DVB_HEAD 288 #ifdef HAVE_DVB_HEAD
271 static int check_status(int fd_frontend,struct dvb_frontend_parameters* feparams, int tuner_type, uint32_t base) 289 static int check_status(int fd_frontend,struct dvb_frontend_parameters* feparams, int tuner_type, uint32_t base)
272 { 290 {
273 int res;
274 int32_t strength; 291 int32_t strength;
275 fe_status_t festatus; 292 fe_status_t festatus;
276 struct dvb_frontend_event event; 293 struct dvb_frontend_event event;
277 struct pollfd pfd[1]; 294 struct pollfd pfd[1];
278 295