annotate stream/dvbin.h @ 34115:3d7ee643b110

Port to Wine. This makes MPlayer and the GUI compile and run as a Wine executable, which is mainly to allow Windows code checking in a Linux environment. In Makefile: Generalize the windres call by specifying option "-o" for the output file. In gui/win32/interface.c: Use the same function to create a thread as Cygwin, and convert Windows style file names so that they are accessible in the Linux environment. In osdep/priority.c: Include windows.h. In configure: Add system "Wine" which shall be considered (mostly) a win32 system. Since winegcc by default compiles all files with the "-fpic" flag, remove it, and remove all MinGW compatibility WIN32 defines, because we're not compiling for real Windows. Define to not use Windows sockets (Wine uses different ones) and replace Windows' stricmp by strcasecmp. Ensure that yasm's object format isn't win32 and that HAVE_LINUX_DVD_STRUCT will be defined. In stream/tvi_dshow.c: Define MP_DEFINE_LOCAL_GUID, because Wine's DEFINE_GUID macro isn't compatible using "static" with it. In loader/com.h: Rename the IIDs to become local ones, because Wine's unknwn.h not only declares but defines them. In mplayer.c: Don't define a SIGSEGV signal handler, or the Wine executable will crash.
author ib
date Sat, 15 Oct 2011 13:20:52 +0000
parents 8449d9eab838
children
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
31450
8449d9eab838 Use angular brackets for system #includes.
diego
parents: 30776
diff changeset
18 #include <inttypes.h>
30776
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
19 #include <linux/dvb/dmx.h>
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
20 #include <linux/dvb/frontend.h>
d9bbd1844876 Drop support for old-style DVB code.
diego
parents: 30165
diff changeset
21 #include <linux/dvb/version.h>
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
22
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
23 #undef DVB_ATSC
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
24 #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
25
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
26 /* 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
27 *
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
28 * 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
29 */
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
30
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
31 #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
32 #define DVB_ATSC 1
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
33 #endif
28667
8363a6c42ace Accept DVB API 5, patch by Steven Brudenell, steven.brudenell gmail com.
diego
parents: 28051
diff changeset
34
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
35 #endif
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
36
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
37
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
38 #define DVB_CHANNEL_LOWER -1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
39 #define DVB_CHANNEL_HIGHER 1
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
40
12803
168238f8c715 added multi-pid parsing code (up to 15), pid 0 is always added (for the PAT)
nicodvb
parents: 12309
diff changeset
41 #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
42 #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
43 #endif
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
44
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
45 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
46 char *name;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
47 int freq, srate, diseqc, tone;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
48 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
49 int tpid, dpid1, dpid2, progid, ca, pids[DMX_FILTER_SIZE], pids_cnt;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
50 fe_spectral_inversion_t inv;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
51 fe_modulation_t mod;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
52 fe_transmit_mode_t trans;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
53 fe_bandwidth_t bw;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
54 fe_guard_interval_t gi;
13155
fd40ef23053b added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents: 12803
diff changeset
55 fe_code_rate_t cr, cr_lp;
fd40ef23053b added forgotten dvb-t params lp_coderate and hierarchy
nicodvb
parents: 12803
diff changeset
56 fe_hierarchy_t hier;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
57 } dvb_channel_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
58
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
59 typedef struct {
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
60 uint16_t NUM_CHANNELS;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
61 uint16_t current;
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
62 dvb_channel_t *channels;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
63 } dvb_channels_list;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
64
12309
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
65 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
66 int type;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
67 dvb_channels_list *list;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
68 char *name;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
69 int devno;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
70 } dvb_card_config_t;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
71
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
72 typedef struct {
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
73 int count;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
74 dvb_card_config_t *cards;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
75 void *priv;
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
76 } dvb_config_t;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
77
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
78 typedef struct {
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
79 int card;
20661
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
80 int fe_fd;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
81 int sec_fd;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
82 int demux_fd[3], demux_fds[DMX_FILTER_SIZE], demux_fds_cnt;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
83 int dvr_fd;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
84
20661
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
85 dvb_config_t *config;
d698ee121edc cosmetics: reformatted with only tabs
nicodvb
parents: 20659
diff changeset
86 dvb_channels_list *list;
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
87 int tuner_type;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
88 int is_on;
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
89 int retry;
18561
15fbdb09330f configurable tuning timeout
nicodvb
parents: 17566
diff changeset
90 int timeout;
20659
31b525f90395 nonsense removal: compare old and new frequency in order to skip tuning
nicodvb
parents: 19271
diff changeset
91 int last_freq;
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
92 } dvb_priv_t;
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
93
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
94
10560
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
95 #define TUNER_SAT 1
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
96 #define TUNER_TER 2
11826d9f90c7 this patch fixes
arpi
parents: 10395
diff changeset
97 #define TUNER_CBL 3
14382
42d792053cde added support for ATSC tuner and conf.file
nicodvb
parents: 13155
diff changeset
98 #define TUNER_ATSC 4
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
99
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
100 int dvb_step_channel(stream_t *, int);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
101 int dvb_set_channel(stream_t *, int, int);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
102 dvb_config_t *dvb_get_config(void);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
103 void dvb_free_config(dvb_config_t *config);
9610
76c6d8f1ebf5 this is a combo patch that:
arpi
parents:
diff changeset
104
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
105 #endif /* MPLAYER_DVBIN_H */