Mercurial > mplayer.hg
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 |