~ubuntu-dev/mplayer/ubuntu-feisty

« back to all changes in this revision

Viewing changes to libmpdemux/dvbin.h

  • Committer: Reinhard Tartler
  • Date: 2006-07-08 08:45:33 UTC
  • Revision ID: siretart@tauware.de-20060708084533-dbc155bde7122e78
imported mplayer_0.99+1.0pre7try2+cvs20060117

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Imported from the dvbstream project
 
2
 *
 
3
 * Modified for use with MPlayer, for details see the CVS changelog at
 
4
 * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
 
5
 * $Id: dvbin.h,v 1.10 2005/04/16 12:51:09 diego Exp $
 
6
 */
 
7
 
 
8
#ifndef DVBIN_H
 
9
#define DVBIN_H
 
10
 
 
11
#include "dvb_defaults.h"
 
12
#include "stream.h"
 
13
 
 
14
#ifdef HAVE_DVB_HEAD
 
15
        #include <linux/dvb/dmx.h>
 
16
        #include <linux/dvb/frontend.h>
 
17
        #include <linux/dvb/version.h>
 
18
#else
 
19
        #include <ost/dmx.h>
 
20
        #include <ost/sec.h>
 
21
        #include <ost/frontend.h>
 
22
        #define fe_status_t FrontendStatus
 
23
        #define fe_spectral_inversion_t SpectralInversion
 
24
        #define fe_modulation_t Modulation
 
25
        #define fe_code_rate_t CodeRate
 
26
        #define fe_transmit_mode_t TransmitMode
 
27
        #define fe_guard_interval_t GuardInterval
 
28
        #define fe_bandwidth_t BandWidth
 
29
        #define fe_hierarchy_t Hierarchy
 
30
        #define fe_sec_voltage_t SecVoltage
 
31
        #define dmx_pes_filter_params dmxPesFilterParams
 
32
        #define dmx_sct_filter_params dmxSctFilterParams
 
33
        #define dmx_pes_type_t dmxPesType_t
 
34
#endif
 
35
 
 
36
#undef DVB_ATSC
 
37
#if defined(DVB_API_VERSION_MINOR)
 
38
#if DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1
 
39
#define DVB_ATSC 1
 
40
#endif
 
41
#endif
 
42
 
 
43
 
 
44
#define DVB_CHANNEL_LOWER -1
 
45
#define DVB_CHANNEL_HIGHER 1
 
46
 
 
47
#include "inttypes.h"
 
48
 
 
49
#ifndef DMX_FILTER_SIZE
 
50
#define DMX_FILTER_SIZE 16
 
51
#endif
 
52
 
 
53
typedef struct {
 
54
        char                            *name;
 
55
        int                             freq, srate, diseqc, tone;
 
56
        char                            pol;
 
57
        int                             tpid, dpid1, dpid2, progid, ca, pids[DMX_FILTER_SIZE], pids_cnt;
 
58
        fe_spectral_inversion_t         inv;
 
59
        fe_modulation_t                 mod;
 
60
        fe_transmit_mode_t              trans;
 
61
        fe_bandwidth_t                  bw;
 
62
        fe_guard_interval_t             gi;
 
63
        fe_code_rate_t                  cr, cr_lp;
 
64
        fe_hierarchy_t                  hier;
 
65
} dvb_channel_t;
 
66
 
 
67
 
 
68
typedef struct {
 
69
        uint16_t NUM_CHANNELS;
 
70
        uint16_t current;
 
71
        dvb_channel_t *channels;
 
72
} dvb_channels_list;
 
73
 
 
74
typedef struct {
 
75
        int type;
 
76
        dvb_channels_list *list;
 
77
        char *name;
 
78
        int devno;
 
79
} dvb_card_config_t;
 
80
 
 
81
typedef struct {
 
82
        int count;
 
83
        dvb_card_config_t *cards;
 
84
        void *priv;
 
85
} dvb_config_t;
 
86
 
 
87
 
 
88
typedef struct {
 
89
        int card;
 
90
    int fe_fd;
 
91
    int sec_fd;
 
92
    int demux_fd[3], demux_fds[DMX_FILTER_SIZE], demux_fds_cnt;
 
93
    int dvr_fd;
 
94
 
 
95
    dvb_config_t *config;
 
96
    dvb_channels_list *list;
 
97
        int tuner_type;
 
98
        int is_on;
 
99
        stream_t *stream;
 
100
        char new_tuning[256], prev_tuning[256];
 
101
        int retry;
 
102
} dvb_priv_t;
 
103
 
 
104
 
 
105
#define TUNER_SAT       1
 
106
#define TUNER_TER       2
 
107
#define TUNER_CBL       3
 
108
#define TUNER_ATSC      4
 
109
 
 
110
extern int dvb_step_channel(dvb_priv_t *, int);
 
111
extern int dvb_set_channel(dvb_priv_t *, int, int);
 
112
extern dvb_config_t *dvb_get_config();
 
113
 
 
114
#endif