annotate libmpdemux/dvbin.h @ 15205:19243f85e164

nico partially fixed the bug i reported; here's the rest of the fix. basically demux_audio was mixing data in its header buffer in a bogus manner, whereby it could sometimes "make up" valid mpeg headers where no such header actually occurred in the file. it should be correct now. btw these changes also fix the bug where mplayer reports huge initial cpu usage for sound when playing mp3 files.
author rfelker
date Sun, 17 Apr 2005 17:17:52 +0000
parents 8dd7a656eaf8
children f580a7755ac5
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);
5c375ea5fb0f new configuration structure, gcc warn silencing
nicodvb
parents: 11872
diff changeset
112 extern dvb_config_t *dvb_get_config();
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