1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-30 11:02:10 +00:00
mpv/libmpdemux/dvbin.h
rathann e7db4ccf1a Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.

Comments about a similar patch applied to ffmpeg:

That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter

Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- Måns Rullgård


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17567 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-09 14:08:03 +00:00

115 lines
2.4 KiB
C

/* Imported from the dvbstream project
*
* Modified for use with MPlayer, for details see the CVS changelog at
* http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
* $Id$
*/
#ifndef DVBIN_H
#define DVBIN_H
#include "dvb_defaults.h"
#include "stream.h"
#ifdef HAVE_DVB_HEAD
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>
#include <linux/dvb/version.h>
#else
#include <ost/dmx.h>
#include <ost/sec.h>
#include <ost/frontend.h>
#define fe_status_t FrontendStatus
#define fe_spectral_inversion_t SpectralInversion
#define fe_modulation_t Modulation
#define fe_code_rate_t CodeRate
#define fe_transmit_mode_t TransmitMode
#define fe_guard_interval_t GuardInterval
#define fe_bandwidth_t BandWidth
#define fe_hierarchy_t Hierarchy
#define fe_sec_voltage_t SecVoltage
#define dmx_pes_filter_params dmxPesFilterParams
#define dmx_sct_filter_params dmxSctFilterParams
#define dmx_pes_type_t dmxPesType_t
#endif
#undef DVB_ATSC
#if defined(DVB_API_VERSION_MINOR)
#if DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1
#define DVB_ATSC 1
#endif
#endif
#define DVB_CHANNEL_LOWER -1
#define DVB_CHANNEL_HIGHER 1
#include "inttypes.h"
#ifndef DMX_FILTER_SIZE
#define DMX_FILTER_SIZE 16
#endif
typedef struct {
char *name;
int freq, srate, diseqc, tone;
char pol;
int tpid, dpid1, dpid2, progid, ca, pids[DMX_FILTER_SIZE], pids_cnt;
fe_spectral_inversion_t inv;
fe_modulation_t mod;
fe_transmit_mode_t trans;
fe_bandwidth_t bw;
fe_guard_interval_t gi;
fe_code_rate_t cr, cr_lp;
fe_hierarchy_t hier;
} dvb_channel_t;
typedef struct {
uint16_t NUM_CHANNELS;
uint16_t current;
dvb_channel_t *channels;
} dvb_channels_list;
typedef struct {
int type;
dvb_channels_list *list;
char *name;
int devno;
} dvb_card_config_t;
typedef struct {
int count;
dvb_card_config_t *cards;
void *priv;
} dvb_config_t;
typedef struct {
int card;
int fe_fd;
int sec_fd;
int demux_fd[3], demux_fds[DMX_FILTER_SIZE], demux_fds_cnt;
int dvr_fd;
dvb_config_t *config;
dvb_channels_list *list;
int tuner_type;
int is_on;
stream_t *stream;
char new_tuning[256], prev_tuning[256];
int retry;
} dvb_priv_t;
#define TUNER_SAT 1
#define TUNER_TER 2
#define TUNER_CBL 3
#define TUNER_ATSC 4
extern int dvb_step_channel(dvb_priv_t *, int);
extern int dvb_set_channel(dvb_priv_t *, int, int);
extern dvb_config_t *dvb_get_config(void);
#endif