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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
7
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
8 #ifndef DVBIN_H
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
9 #define DVBIN_H
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
10
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
11 #include "dvb_defaults.h"
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
12 #include "stream.h"
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
13
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
14 #ifdef HAVE_DVB_HEAD
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
15 #include <linux/dvb/dmx.h>
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
16 #include <linux/dvb/frontend.h>
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
17 #include <linux/dvb/version.h>
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
18 #else
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
19 #include <ost/dmx.h>
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
20 #include <ost/sec.h>
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
21 #include <ost/frontend.h>
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
22 #define fe_status_t FrontendStatus
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
23 #define fe_spectral_inversion_t SpectralInversion
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
24 #define fe_modulation_t Modulation
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
25 #define fe_code_rate_t CodeRate
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
26 #define fe_transmit_mode_t TransmitMode
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
27 #define fe_guard_interval_t GuardInterval
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
30 #define fe_sec_voltage_t SecVoltage
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
31 #define dmx_pes_filter_params dmxPesFilterParams
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
32 #define dmx_sct_filter_params dmxSctFilterParams
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
33 #define dmx_pes_type_t dmxPesType_t
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
34 #endif
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
35
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
36 #undef DVB_ATSC
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
37 #if defined(DVB_API_VERSION_MINOR)
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
38 #if DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
39 #define DVB_ATSC 1
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
40 #endif
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
41 #endif
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
42
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
43
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
44 #define DVB_CHANNEL_LOWER -1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
45 #define DVB_CHANNEL_HIGHER 1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
46
10395
362a0e40491b fix compilation (uint*_t undefined)
colin
parents: 9611
diff changeset
47 #include "inttypes.h"
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
52
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
53 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
54 char *name;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
55 int freq, srate, diseqc, tone;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
58 fe_spectral_inversion_t inv;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
59 fe_modulation_t mod;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
60 fe_transmit_mode_t trans;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
61 fe_bandwidth_t bw;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
65 } dvb_channel_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
66
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
67
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
68 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
69 uint16_t NUM_CHANNELS;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
70 uint16_t current;
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
71 dvb_channel_t *channels;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
72 } dvb_channels_list;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
73
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
74 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
75 int type;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
76 dvb_channels_list *list;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
77 char *name;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
78 int devno;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
79 } dvb_card_config_t;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
80
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
81 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
82 int count;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
83 dvb_card_config_t *cards;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
84 void *priv;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
85 } dvb_config_t;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
86
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
87
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
88 typedef struct {
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
89 int card;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
90 int fe_fd;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
93 int dvr_fd;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
94
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
95 dvb_config_t *config;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
96 dvb_channels_list *list;
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
97 int tuner_type;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
98 int is_on;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
99 stream_t *stream;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
100 char new_tuning[256], prev_tuning[256];
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
101 int retry;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
102 } dvb_priv_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
103
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
104
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
105 #define TUNER_SAT 1
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
106 #define TUNER_TER 2
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
107 #define TUNER_CBL 3
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
108 #define TUNER_ATSC 4
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
109
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
110 extern int dvb_step_channel(dvb_priv_t *, int);
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
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
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
113
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
114 #endif