Mercurial > mplayer.hg
annotate libmpdemux/dvbin.h @ 18044:b693d92e6210
workaround to prevent segfault: when using -ve lavc with b-frames write_chunk(1st video frame) gets called with len=-1UL; -1ULl to whomever calls me that way
author | nicodvb |
---|---|
date | Wed, 05 Apr 2006 20:51:35 +0000 |
parents | f580a7755ac5 |
children | 15fbdb09330f |
rev | line source |
---|---|
15178
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
1 /* Imported from the dvbstream project |
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
2 * |
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
3 * Modified for use with MPlayer, for details see the CVS changelog at |
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
4 * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ |
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
5 * $Id$ |
8dd7a656eaf8
Mark modified imported files as such to comply more closely with GPL ¡ø2a.
diego
parents:
14382
diff
changeset
|
6 */ |
9610 | 7 |
8 #ifndef DVBIN_H | |
9 #define DVBIN_H | |
10 | |
10560 | 11 #include "dvb_defaults.h" |
12 #include "stream.h" | |
13 | |
9610 | 14 #ifdef HAVE_DVB_HEAD |
15 #include <linux/dvb/dmx.h> | |
16 #include <linux/dvb/frontend.h> | |
14382 | 17 #include <linux/dvb/version.h> |
9610 | 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 | |
13155
fd40ef23053b
added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents:
12803
diff
changeset
|
29 #define fe_hierarchy_t Hierarchy |
9610 | 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 | |
14382 | 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 | |
9610 | 42 |
43 | |
44 #define DVB_CHANNEL_LOWER -1 | |
45 #define DVB_CHANNEL_HIGHER 1 | |
46 | |
10395 | 47 #include "inttypes.h" |
9610 | 48 |
12803
168238f8c715
added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents:
12309
diff
changeset
|
49 #ifndef DMX_FILTER_SIZE |
168238f8c715
added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents:
12309
diff
changeset
|
50 #define DMX_FILTER_SIZE 16 |
168238f8c715
added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents:
12309
diff
changeset
|
51 #endif |
9610 | 52 |
53 typedef struct { | |
54 char *name; | |
55 int freq, srate, diseqc, tone; | |
56 char pol; | |
12803
168238f8c715
added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents:
12309
diff
changeset
|
57 int tpid, dpid1, dpid2, progid, ca, pids[DMX_FILTER_SIZE], pids_cnt; |
9610 | 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; | |
13155
fd40ef23053b
added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents:
12803
diff
changeset
|
63 fe_code_rate_t cr, cr_lp; |
fd40ef23053b
added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents:
12803
diff
changeset
|
64 fe_hierarchy_t hier; |
9610 | 65 } dvb_channel_t; |
66 | |
67 | |
68 typedef struct { | |
69 uint16_t NUM_CHANNELS; | |
70 uint16_t current; | |
12309 | 71 dvb_channel_t *channels; |
9610 | 72 } dvb_channels_list; |
73 | |
12309 | 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; | |
9610 | 86 |
87 | |
88 typedef struct { | |
10560 | 89 int card; |
9610 | 90 int fe_fd; |
91 int sec_fd; | |
12803
168238f8c715
added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents:
12309
diff
changeset
|
92 int demux_fd[3], demux_fds[DMX_FILTER_SIZE], demux_fds_cnt; |
9610 | 93 int dvr_fd; |
94 | |
12309 | 95 dvb_config_t *config; |
9610 | 96 dvb_channels_list *list; |
10560 | 97 int tuner_type; |
98 int is_on; | |
99 stream_t *stream; | |
100 char new_tuning[256], prev_tuning[256]; | |
101 int retry; | |
9610 | 102 } dvb_priv_t; |
103 | |
104 | |
10560 | 105 #define TUNER_SAT 1 |
106 #define TUNER_TER 2 | |
107 #define TUNER_CBL 3 | |
14382 | 108 #define TUNER_ATSC 4 |
9610 | 109 |
10560 | 110 extern int dvb_step_channel(dvb_priv_t *, int); |
12309 | 111 extern int dvb_set_channel(dvb_priv_t *, int, int); |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
15178
diff
changeset
|
112 extern dvb_config_t *dvb_get_config(void); |
9610 | 113 |
114 #endif |