Mercurial > mplayer.hg
diff libmpdemux/dvbin.h @ 9610:76c6d8f1ebf5
this is a combo patch that:
1) adds an experimental TS demuxer to mplayer
2) adds an input (streaming) interface from DVB cards.
It compiles and runs with the following versions of the drivers:
dvb-kernel (HEAD) (with stock kernel 2.4.20) and 0.9.4 (with kernel 2.4.18)
patch by Nico <nsabbi@libero.it>
some cleanups, ts demuxer fixes by me
author | arpi |
---|---|
date | Sun, 16 Mar 2003 20:13:28 +0000 |
parents | |
children | 4847392922be |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libmpdemux/dvbin.h Sun Mar 16 20:13:28 2003 +0000 @@ -0,0 +1,102 @@ + +#ifndef DVBIN_H +#define DVBIN_H + +extern int dvbin_param_on; + +#ifdef HAVE_DVB_HEAD + #include <linux/dvb/dmx.h> + #include <linux/dvb/frontend.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_sec_voltage_t SecVoltage + #define dmx_pes_filter_params dmxPesFilterParams + #define dmx_sct_filter_params dmxSctFilterParams + #define dmx_pes_type_t dmxPesType_t +#endif + + + +#define DVB_CHANNEL_LOWER -1 +#define DVB_CHANNEL_HIGHER 1 + + +typedef struct +{ + int next, prev; +} dvb_history_t; + +typedef struct { + char *name; + int freq, srate, diseqc, tone; + char pol; + int vpid, apid1, apid2, tpid, dpid1, dpid2, progid, ca; + 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; +} dvb_channel_t; + + +typedef struct { + uint16_t NUM_CHANNELS; + uint16_t current; + dvb_channel_t channels[512]; +} dvb_channels_list; + + + +typedef struct { + int fe_fd; + int sec_fd; + int demux_fd[3]; + int dvr_fd; + int input; + int output; + int discard; + + dvb_channel_t channel; + dvb_channels_list *list; +} dvb_priv_t; + + +extern dvb_history_t *dvb_step_channel(dvb_priv_t*, int, dvb_history_t*); + +extern dvb_channels_list *dvb_get_channels(char *, const char *); +extern dvb_history_t dvb_prev_next; + + + + +#ifndef DVB_T_LOCATION + #ifndef UK + #warning No DVB-T country defined in dvb_defaults.h, defaulting to UK + #endif + + /* UNITED KINGDOM settings */ + #define DVB_T_LOCATION "in United Kingdom" + #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ + #define HP_CODERATE_DEFAULT FEC_2_3 + #define CONSTELLATION_DEFAULT QAM_64 + #define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K + #define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32 + #define HIERARCHY_DEFAULT HIERARCHY_NONE +#endif + +#define HIERARCHY_DEFAULT HIERARCHY_NONE +#define LP_CODERATE_DEFAULT (0) + + + +#endif