annotate stream/dvbin.h @ 30930:0f14ab03ec98

Fix crash with incomplete yuv2 frames.
author reimar
date Sun, 28 Mar 2010 00:08:28 +0000
parents d9bbd1844876
children 8449d9eab838
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 *
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 18561
diff changeset
3 * Modified for use with MPlayer, for details see the changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 18561
diff changeset
4 * http://svn.mplayerhq.hu/mplayer/trunk/
15178
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
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
8 #ifndef MPLAYER_DVBIN_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
9 #define MPLAYER_DVBIN_H
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
10
30165
b4cbeff5153e Add a few missing header #includes and #defines.
diego
parents: 28667
diff changeset
11 #include "config.h"
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
12 #include "stream.h"
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
13
19086
c51f44c008fc moved LOF macros from dvb_defaults.h
nicodvb
parents: 18783
diff changeset
14 #define SLOF (11700*1000UL)
c51f44c008fc moved LOF macros from dvb_defaults.h
nicodvb
parents: 18783
diff changeset
15 #define LOF1 (9750*1000UL)
c51f44c008fc moved LOF macros from dvb_defaults.h
nicodvb
parents: 18783
diff changeset
16 #define LOF2 (10600*1000UL)
c51f44c008fc moved LOF macros from dvb_defaults.h
nicodvb
parents: 18783
diff changeset
17
30776
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
18 #include <linux/dvb/dmx.h>
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
19 #include <linux/dvb/frontend.h>
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
20 #include <linux/dvb/version.h>
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
21
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
22 #undef DVB_ATSC
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
23 #if defined(DVB_API_VERSION_MINOR)
28667
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
24
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
25 /* kernel headers >=2.6.28 have version 5.
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
26 *
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
27 * FIXME: are there any real differences between 3.1 and 5?
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
28 */
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
29
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
30 #if (DVB_API_VERSION == 3 && DVB_API_VERSION_MINOR >= 1) || DVB_API_VERSION == 5
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
31 #define DVB_ATSC 1
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
32 #endif
28667
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
33
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
34 #endif
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
35
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
36
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
37 #define DVB_CHANNEL_LOWER -1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
38 #define DVB_CHANNEL_HIGHER 1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
39
10395
362a0e40491b fix compilation (uint*_t undefined)
colin
parents: 9611
diff changeset
40 #include "inttypes.h"
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
41
12803
168238f8c715 added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents: 12309
diff changeset
42 #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
43 #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
44 #endif
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
45
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
46 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
47 char *name;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
48 int freq, srate, diseqc, tone;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
49 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
50 int tpid, dpid1, dpid2, progid, ca, pids[DMX_FILTER_SIZE], pids_cnt;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
51 fe_spectral_inversion_t inv;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
52 fe_modulation_t mod;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
53 fe_transmit_mode_t trans;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
54 fe_bandwidth_t bw;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
55 fe_guard_interval_t gi;
13155
fd40ef23053b added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents: 12803
diff changeset
56 fe_code_rate_t cr, cr_lp;
fd40ef23053b added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents: 12803
diff changeset
57 fe_hierarchy_t hier;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
58 } dvb_channel_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
59
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
60 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
61 uint16_t NUM_CHANNELS;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
62 uint16_t current;
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
63 dvb_channel_t *channels;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
64 } dvb_channels_list;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
65
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
66 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
67 int type;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
68 dvb_channels_list *list;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
69 char *name;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
70 int devno;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
71 } dvb_card_config_t;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
72
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
73 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
74 int count;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
75 dvb_card_config_t *cards;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
76 void *priv;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
77 } dvb_config_t;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
78
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
79 typedef struct {
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
80 int card;
20661
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
81 int fe_fd;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
82 int sec_fd;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
83 int demux_fd[3], demux_fds[DMX_FILTER_SIZE], demux_fds_cnt;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
84 int dvr_fd;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
85
20661
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
86 dvb_config_t *config;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
87 dvb_channels_list *list;
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
88 int tuner_type;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
89 int is_on;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
90 int retry;
18561
15fbdb09330f configurable tuning timeout
nicodvb
parents: 17566
diff changeset
91 int timeout;
20659
31b525f90395 nonsense removal: compare old and new frequency in order to skip tuning
nicodvb
parents: 19271
diff changeset
92 int last_freq;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
93 } dvb_priv_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
94
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
95
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
96 #define TUNER_SAT 1
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
97 #define TUNER_TER 2
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
98 #define TUNER_CBL 3
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
99 #define TUNER_ATSC 4
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
100
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
101 int dvb_step_channel(stream_t *, int);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
102 int dvb_set_channel(stream_t *, int, int);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
103 dvb_config_t *dvb_get_config(void);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
104 void dvb_free_config(dvb_config_t *config);
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
105
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
106 #endif /* MPLAYER_DVBIN_H */