diff --git a/stream/dvb_tune.c b/stream/dvb_tune.c index b02e915cb3..a1d85bb3d3 100644 --- a/stream/dvb_tune.c +++ b/stream/dvb_tune.c @@ -77,23 +77,21 @@ unsigned int dvb_get_tuner_delsys_mask(int fe_fd, struct mp_log *log) struct dtv_property prop[1]; struct dtv_properties cmdseq = {.num = 1, .props = prop}; - mp_verbose(log, "Querying tuner frontend type via DVBv5 API for frontend FD %d\n", - fe_fd); prop[0].cmd = DTV_ENUM_DELSYS; if (ioctl(fe_fd, FE_GET_PROPERTY, &cmdseq) < 0) { - mp_err(log, "DVBv5: FE_GET_PROPERTY(DTV_ENUM_DELSYS) error: %d, FD: %d\n\n", errno, fe_fd); + mp_err(log, "DVBv5: FE_GET_PROPERTY(DTV_ENUM_DELSYS) error: %d\n", errno); return ret_mask; } unsigned int i, delsys_count = prop[0].u.buffer.len; - mp_verbose(log, "DVBv5: Number of supported delivery systems: %d\n", delsys_count); if (delsys_count == 0) { - mp_err(log, "DVBv5: Frontend FD %d returned no delivery systems!\n", fe_fd); + mp_err(log, "DVBv5: Frontend returned no delivery systems!\n"); return ret_mask; } + mp_verbose(log, "DVBv5: Number of supported delivery systems: %d\n", delsys_count); for (i = 0; i < delsys_count; i++) { delsys = (unsigned int)prop[0].u.buffer.data[i]; DELSYS_SET(ret_mask, delsys); - mp_verbose(log, "DVBv5: Tuner frontend type seems to be %s\n", get_dvb_delsys(delsys)); + mp_verbose(log, " %s\n", get_dvb_delsys(delsys)); } return ret_mask; @@ -109,30 +107,27 @@ int dvb_open_devices(dvb_priv_t *priv, unsigned int adapter, snprintf(frontend_dev, sizeof(frontend_dev), "/dev/dvb/adapter%u/frontend%u", adapter, frontend); snprintf(dvr_dev, sizeof(dvr_dev), "/dev/dvb/adapter%u/dvr0", adapter); snprintf(demux_dev, sizeof(demux_dev), "/dev/dvb/adapter%u/demux0", adapter); - MP_VERBOSE(priv, "DVB_OPEN_DEVICES: frontend: %s\n", frontend_dev); + MP_VERBOSE(priv, "Opening frontend device %s\n", frontend_dev); state->fe_fd = open(frontend_dev, O_RDWR | O_NONBLOCK | O_CLOEXEC); if (state->fe_fd < 0) { - MP_ERR(priv, "ERROR OPENING FRONTEND DEVICE %s: ERRNO %d\n", - frontend_dev, errno); + MP_ERR(priv, "Error opening frontend device: %d\n", errno); return 0; } state->demux_fds_cnt = 0; - MP_VERBOSE(priv, "DVB_OPEN_DEVICES(%d)\n", demux_cnt); + MP_VERBOSE(priv, "Opening %d demuxers\n", demux_cnt); for (i = 0; i < demux_cnt; i++) { state->demux_fds[i] = open(demux_dev, O_RDWR | O_NONBLOCK | O_CLOEXEC); if (state->demux_fds[i] < 0) { - MP_ERR(priv, "ERROR OPENING DEMUX 0: %d\n", errno); + MP_ERR(priv, "Error opening demux0: %d\n", errno); return 0; } else { - MP_VERBOSE(priv, "OPEN(%d), file %s: FD=%d, CNT=%d\n", i, demux_dev, - state->demux_fds[i], state->demux_fds_cnt); state->demux_fds_cnt++; } } state->dvr_fd = open(dvr_dev, O_RDONLY | O_NONBLOCK | O_CLOEXEC); if (state->dvr_fd < 0) { - MP_ERR(priv, "ERROR OPENING DVR DEVICE %s: %d\n", dvr_dev, errno); + MP_ERR(priv, "Error opening dvr device %s: %d\n", dvr_dev, errno); return 0; } @@ -149,10 +144,9 @@ int dvb_fix_demuxes(dvb_priv_t *priv, unsigned int cnt) snprintf(demux_dev, sizeof(demux_dev), "/dev/dvb/adapter%d/demux0", state->adapters[state->cur_adapter].devno); - MP_VERBOSE(priv, "FIX %d -> %d\n", state->demux_fds_cnt, cnt); + MP_VERBOSE(priv, "Changing demuxer count %d -> %d\n", state->demux_fds_cnt, cnt); if (state->demux_fds_cnt >= cnt) { for (i = state->demux_fds_cnt - 1; i >= (int)cnt; i--) { - MP_VERBOSE(priv, "FIX, CLOSE fd(%d): %d\n", i, state->demux_fds[i]); close(state->demux_fds[i]); } state->demux_fds_cnt = cnt; @@ -160,9 +154,8 @@ int dvb_fix_demuxes(dvb_priv_t *priv, unsigned int cnt) for (i = state->demux_fds_cnt; i < cnt; i++) { state->demux_fds[i] = open(demux_dev, O_RDWR | O_NONBLOCK | O_CLOEXEC); - MP_VERBOSE(priv, "FIX, OPEN fd(%d): %d\n", i, state->demux_fds[i]); if (state->demux_fds[i] < 0) { - MP_ERR(priv, "ERROR OPENING DEMUX 0: %d\n", errno); + MP_ERR(priv, "Error opening demux0: %d\n", errno); return 0; } else state->demux_fds_cnt++; @@ -187,19 +180,17 @@ int dvb_set_ts_filt(dvb_priv_t *priv, int fd, uint16_t pid, { int buffersize = 256 * 1024; if (ioctl(fd, DMX_SET_BUFFER_SIZE, buffersize) < 0) - MP_ERR(priv, "ERROR IN DMX_SET_BUFFER_SIZE %i for fd %d: ERRNO: %d\n", - pid, fd, errno); + MP_ERR(priv, "Error in DMX_SET_BUFFER_SIZE %i: errno=%d\n", + pid, errno); } errno = 0; if ((i = ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams)) < 0) { - MP_ERR(priv, "ERROR IN SETTING DMX_FILTER %i for fd %d: ERRNO: %d\n", - pid, fd, errno); + MP_ERR(priv, "Error in DMX_SET_PES_FILTER %i: errno=%d\n", + pid, errno); return 0; } - MP_VERBOSE(priv, "SET PES FILTER ON PID %d to fd %d, RESULT: %d, ERRNO: %d\n", - pid, fd, i, errno); return 1; } @@ -221,12 +212,12 @@ int dvb_get_pmt_pid(dvb_priv_t *priv, int devno, int service_id) int pat_fd; if ((pat_fd = open(demux_dev, O_RDWR)) < 0) { - MP_ERR(priv, "Opening PAT DEMUX failed, error: %d", errno); + MP_ERR(priv, "Opening PAT demux failed: %d", errno); return -1; } if (ioctl(pat_fd, DMX_SET_FILTER, &fparams) < 0) { - MP_ERR(priv, "ioctl DMX_SET_FILTER failed, error: %d", errno); + MP_ERR(priv, "ioctl DMX_SET_FILTER failed: %d", errno); close(pat_fd); return -1; } @@ -245,7 +236,7 @@ int dvb_get_pmt_pid(dvb_priv_t *priv, int devno, int service_id) sizeof(buft))) < 0) && errno == EOVERFLOW) bytes_read = read(pat_fd, bufptr, sizeof(buft)); if (bytes_read < 0) { - MP_ERR(priv, "PAT: read_sections: read error: %d", errno); + MP_ERR(priv, "PAT: read error: %d", errno); close(pat_fd); return -1; } @@ -394,16 +385,14 @@ static int do_diseqc(int secfd, int sat_no, int polv, int hi_lo) static int dvbv5_tune(dvb_priv_t *priv, int fd_frontend, unsigned int delsys, struct dtv_properties* cmdseq) { - MP_VERBOSE(priv, "Tuning via S2API, channel is %s.\n", - get_dvb_delsys(delsys)); MP_VERBOSE(priv, "Dumping raw tuning commands and values:\n"); for (int i = 0; i < cmdseq->num; ++i) { - MP_VERBOSE(priv, "%02d: 0x%x(%d) => 0x%x(%d)\n", + MP_VERBOSE(priv, " %02d: 0x%x(%d) => 0x%x(%d)\n", i, cmdseq->props[i].cmd, cmdseq->props[i].cmd, cmdseq->props[i].u.data, cmdseq->props[i].u.data); } if (ioctl(fd_frontend, FE_SET_PROPERTY, cmdseq) < 0) { - MP_ERR(priv, "ERROR tuning channel\n"); + MP_ERR(priv, "Error tuning channel\n"); return -1; } return 0; @@ -424,7 +413,7 @@ static int tune_it(dvb_priv_t *priv, int fd_frontend, unsigned int delsys, int hi_lo = 0, bandwidth_hz = 0; dvb_state_t* state = priv->state; - MP_VERBOSE(priv, "TUNE_IT, fd_frontend %d, %s freq %lu, srate %lu, " + MP_VERBOSE(priv, "tune_it: fd_frontend %d, %s freq %lu, srate %lu, " "pol %c, diseqc %u\n", fd_frontend, get_dvb_delsys(delsys), (long unsigned int)freq, (long unsigned int)srate, @@ -516,7 +505,7 @@ static int tune_it(dvb_priv_t *priv, int fd_frontend, unsigned int delsys, get_dvb_delsys(delsys), freq, modulation); break; default: - MP_VERBOSE(priv, "Unknown FE type. Aborting\n"); + MP_VERBOSE(priv, "Unknown FE type, aborting.\n"); return 0; } @@ -534,7 +523,7 @@ static int tune_it(dvb_priv_t *priv, int fd_frontend, unsigned int delsys, .props = p_clear }; if (ioctl(fd_frontend, FE_SET_PROPERTY, &cmdseq_clear) < 0) { - MP_ERR(priv, "FE_SET_PROPERTY DTV_CLEAR failed\n"); + MP_ERR(priv, "DTV_CLEAR failed\n"); } /* Tune. */ @@ -634,12 +623,12 @@ static int tune_it(dvb_priv_t *priv, int fd_frontend, unsigned int delsys, int tune_status = check_status(priv, fd_frontend, timeout); if (tune_status != 0) { - MP_ERR(priv, "ERROR locking to channel\n"); + MP_ERR(priv, "Error locking to channel\n"); } return tune_status; error_tune: - MP_ERR(priv, "ERROR tuning channel\n"); + MP_ERR(priv, "Error tuning channel\n"); return -1; } @@ -652,7 +641,7 @@ int dvb_tune(dvb_priv_t *priv, unsigned int delsys, fe_code_rate_t LP_CodeRate, fe_hierarchy_t hier, int timeout) { - MP_INFO(priv, "dvb_tune %s Freq: %lu\n", + MP_INFO(priv, "Tuning to %s frequency %lu Hz\n", get_dvb_delsys(delsys), (long unsigned int) freq); dvb_state_t* state = priv->state; @@ -663,7 +652,7 @@ int dvb_tune(dvb_priv_t *priv, unsigned int delsys, bandWidth, LP_CodeRate, hier, timeout); if (ris != 0) - MP_INFO(priv, "dvb_tune, TUNING FAILED\n"); + MP_INFO(priv, "Tuning failed\n"); return ris == 0; } diff --git a/stream/stream_dvb.c b/stream/stream_dvb.c index 21cc272511..8bb785bf89 100644 --- a/stream/stream_dvb.c +++ b/stream/stream_dvb.c @@ -277,10 +277,10 @@ static dvb_channels_list_t *dvb_get_channels(struct mp_log *log, const char *vdr_conf = "%d:%255[^:]:%255[^:]:%d:%255[^:]:%255[^:]:%255[^:]:%*255[^:]:%d:%*d:%*d:%*d\n%n"; - mp_verbose(log, "CONFIG_READ FILE: %s, type: %s\n", + mp_verbose(log, "Reading config file %s for type %s\n", filename, get_dvb_delsys(delsys)); if ((f = fopen(filename, "r")) == NULL) { - mp_fatal(log, "CAN'T READ CONFIG FILE %s\n", filename); + mp_fatal(log, "Can't open file %s\n", filename); return list; } @@ -619,7 +619,7 @@ static dvb_channels_list_t *dvb_get_channels(struct mp_log *log, } if (!DELSYS_IS_SET(delsys_mask, delsys)) continue; /* Skip channel. */ - mp_verbose(log, "Switched to delivery system for ATSC: %s (guessed from modulation).\n", + mp_verbose(log, "Switched to delivery system for ATSC: %s (guessed from modulation)\n", get_dvb_delsys(delsys)); } @@ -720,7 +720,7 @@ static int dvb_streaming_read(stream_t *stream, void *buffer, int size) pfds[0].fd = fd; pfds[0].events = POLLIN | POLLPRI; if (poll(pfds, 1, 2000) <= 0) { - MP_ERR(stream, "dvb_streaming_read, failed with " + MP_ERR(stream, "dvb_streaming_read: failed with " "errno %d when reading %d bytes\n", errno, size - pos); errno = 0; break; @@ -728,11 +728,11 @@ static int dvb_streaming_read(stream_t *stream, void *buffer, int size) continue; } pos += rk; - MP_TRACE(stream, "ret (%d) bytes\n", pos); + MP_TRACE(stream, "got %d bytes\n", pos); } if (!pos) - MP_ERR(stream, "dvb_streaming_read, return 0 bytes\n"); + MP_ERR(stream, "dvb_streaming_read: returning 0 bytes\n"); // Check if config parameters have been updated. dvb_update_config(stream); @@ -750,19 +750,10 @@ int dvb_set_channel(stream_t *stream, unsigned int adapter, unsigned int n) int devno; int i; - if (adapter >= state->adapters_count) { - MP_ERR(stream, "dvb_set_channel: INVALID internal ADAPTER NUMBER: %d vs %d, abort\n", - adapter, state->adapters_count); - return 0; - } - + assert(adapter < state->adapters_count); devno = state->adapters[adapter].devno; new_list = state->adapters[adapter].list; - if (n > new_list->NUM_CHANNELS) { - MP_ERR(stream, "dvb_set_channel: INVALID CHANNEL NUMBER: %d, for " - "adapter %d, abort\n", n, devno); - return 0; - } + assert(n < new_list->NUM_CHANNELS); channel = &(new_list->channels[n]); if (state->is_on) { //the fds are already open and we have to stop the demuxers @@ -776,8 +767,8 @@ int dvb_set_channel(stream_t *stream, unsigned int adapter, unsigned int n) state->cur_frontend != channel->frontend) { dvbin_close(stream); if (!dvb_open_devices(priv, devno, channel->frontend, channel->pids_cnt)) { - MP_ERR(stream, "DVB_SET_CHANNEL, COULDN'T OPEN DEVICES OF " - "ADAPTER: %d, EXIT\n", devno); + MP_ERR(stream, "dvb_set_channel: couldn't open devices of adapter " + "%d\n", devno); return 0; } } else { @@ -788,16 +779,16 @@ int dvb_set_channel(stream_t *stream, unsigned int adapter, unsigned int n) } } else { if (!dvb_open_devices(priv, devno, channel->frontend, channel->pids_cnt)) { - MP_ERR(stream, "DVB_SET_CHANNEL2, COULDN'T OPEN DEVICES OF " - "ADAPTER: %d, EXIT\n", devno); + MP_ERR(stream, "dvb_set_channel: couldn't open devices of adapter " + "%d\n", devno); return 0; } } state->retry = 5; new_list->current = n; - MP_VERBOSE(stream, "DVB_SET_CHANNEL: new channel name=%s, adapter: %d, " - "channel %d\n", channel->name, devno, n); + MP_VERBOSE(stream, "dvb_set_channel: new channel name=\"%s\", adapter: %d, " + "channel: %d\n", channel->name, devno, n); if (channel->freq != state->last_freq) { if (!dvb_tune(priv, channel->delsys, channel->freq, @@ -819,12 +810,11 @@ int dvb_set_channel(stream_t *stream, unsigned int adapter, unsigned int n) If it has not yet beem resolved, do it now. */ for (i = 0; i < channel->pids_cnt; i++) { if (channel->pids[i] == -1) { - MP_VERBOSE(stream, "DVB_SET_CHANNEL: PMT-PID for service %d " + MP_VERBOSE(stream, "dvb_set_channel: PMT-PID for service %d " "not resolved yet, parsing PAT...\n", channel->service_id); int pmt_pid = dvb_get_pmt_pid(priv, adapter, channel->service_id); - MP_VERBOSE(stream, "DVB_SET_CHANNEL: Found PMT-PID: %d\n", - pmt_pid); + MP_VERBOSE(stream, "found PMT-PID: %d\n", pmt_pid); channel->pids[i] = pmt_pid; } } @@ -834,8 +824,8 @@ int dvb_set_channel(stream_t *stream, unsigned int adapter, unsigned int n) for (i = 0; i < channel->pids_cnt; i++) { if (channel->pids[i] == -1) { // In case PMT was not resolved, skip it here. - MP_ERR(stream, "DVB_SET_CHANNEL: PMT-PID not found, " - "teletext-decoding may fail.\n"); + MP_ERR(stream, "dvb_set_channel: PMT-PID not found, " + "teletext decoding may fail.\n"); } else { if (!dvb_set_ts_filt(priv, state->demux_fds[i], channel->pids[i], DMX_PES_OTHER)) @@ -884,8 +874,6 @@ void dvbin_close(stream_t *stream) for (int i = state->demux_fds_cnt - 1; i >= 0; i--) { state->demux_fds_cnt--; - MP_VERBOSE(stream, "DVBIN_CLOSE, close(%d), fd=%d, COUNT=%d\n", i, - state->demux_fds[i], state->demux_fds_cnt); close(state->demux_fds[i]); } close(state->dvr_fd); @@ -911,8 +899,6 @@ static int dvb_streaming_start(stream_t *stream, char *progname) if (progname == NULL) return 0; - MP_VERBOSE(stream, "\r\ndvb_streaming_start(PROG: %s, ADAPTER: %d)\n", - progname, priv->devno); list = state->adapters[state->cur_adapter].list; for (i = 0; i < list->NUM_CHANNELS; i ++) { @@ -923,7 +909,7 @@ static int dvb_streaming_start(stream_t *stream, char *progname) } if (channel == NULL) { - MP_ERR(stream, "\n\nDVBIN: no such channel \"%s\"\n\n", progname); + MP_ERR(stream, "no such channel \"%s\"\n", progname); return 0; } @@ -934,17 +920,14 @@ static int dvb_streaming_start(stream_t *stream, char *progname) list->current = (list->NUM_CHANNELS + list->current + priv->opts->cfg_channel_switch_offset) % list->NUM_CHANNELS; channel = &(list->channels[list->current]); MP_INFO(stream, "Tuning to channel \"%s\"...\n", channel->name); - MP_VERBOSE(stream, "PROGRAM NUMBER %d: name=%s, freq=%u\n", i, + MP_VERBOSE(stream, "Program number %d: name=\"%s\", freq=%u\n", i, channel->name, channel->freq); if (!dvb_set_channel(stream, state->cur_adapter, list->current)) { - MP_ERR(stream, "ERROR, COULDN'T SET CHANNEL %i: \"%s\"\n", list->current, progname); dvbin_close(stream); return 0; } - MP_VERBOSE(stream, "SUCCESSFUL EXIT from dvb_streaming_start\n"); - return 1; } @@ -979,8 +962,6 @@ void dvb_update_config(stream_t *stream) static int dvb_open(stream_t *stream) { - // I don't force the file format because, although it's almost always TS, - // there are some providers that stream an IP multicast with M$ Mpeg4 inside dvb_priv_t *priv = NULL; pthread_mutex_lock(&global_dvb_state_lock); @@ -1001,7 +982,7 @@ static int dvb_open(stream_t *stream) priv->state = state; priv->log = stream->log; if (state == NULL) { - MP_ERR(stream, "DVB CONFIGURATION IS EMPTY, exit\n"); + MP_ERR(stream, "DVB configuration is empty\n"); pthread_mutex_unlock(&global_dvb_state_lock); goto err_out; } @@ -1020,9 +1001,6 @@ static int dvb_open(stream_t *stream) state->cur_frontend = -1; - MP_VERBOSE(stream, "OPEN_DVB: prog=%s, devno=%d\n", - priv->prog, state->adapters[state->cur_adapter].devno); - if (!dvb_streaming_start(stream, priv->prog)) goto err_out; } @@ -1079,7 +1057,7 @@ int dvb_parse_path(stream_t *stream) } if (state->cur_adapter == -1) { - MP_ERR(stream, "NO CONFIGURATION FOUND FOR ADAPTER N. %d!\n", + MP_ERR(stream, "No configuration found for adapter %d!\n", priv->devno); return 0; } @@ -1100,7 +1078,7 @@ int dvb_parse_path(stream_t *stream) priv->prog = talloc_strdup(priv, state->adapters[state->cur_adapter].list->channels[0].name); } - MP_VERBOSE(stream, "DVB_CONFIG: prog=%s, devno=%d\n", + MP_VERBOSE(stream, "dvb_config: prog=\"%s\", devno=%d\n", priv->prog, priv->devno); return 1; } @@ -1133,7 +1111,6 @@ dvb_state_t *dvb_get_state(stream_t *stream) if (fd < 0) continue; - mp_verbose(log, "Opened device %s, FD: %d\n", filename, fd); delsys_mask[f] = dvb_get_tuner_delsys_mask(fd, log); delsys_mask[f] &= DELSYS_SUPP_MASK; /* Filter unsupported delivery systems. */ close(fd); @@ -1142,8 +1119,6 @@ dvb_state_t *dvb_get_state(stream_t *stream) filename); continue; /* Skip tuner. */ } - mp_verbose(log, "Frontend device %s offers some supported delivery systems.\n", - filename); /* Create channel list for adapter. */ for (delsys = 0; delsys < SYS_DVB__COUNT__; delsys++) { if (!DELSYS_IS_SET(delsys_mask[f], delsys))