Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _dmx_types: | |
4 | ||
5 | **************** | |
6 | Demux Data Types | |
7 | **************** | |
8 | ||
5377d91f MH |
9 | Output for the demux |
10 | ==================== | |
11 | ||
836cf1db | 12 | .. c:type:: dmx_output |
5377d91f | 13 | |
836cf1db | 14 | .. tabularcolumns:: |p{5.0cm}|p{12.5cm}| |
5377d91f MH |
15 | |
16 | .. flat-table:: enum dmx_output | |
17 | :header-rows: 1 | |
18 | :stub-columns: 0 | |
19 | ||
20 | ||
21 | - .. row 1 | |
22 | ||
23 | - ID | |
24 | ||
25 | - Description | |
26 | ||
27 | - .. row 2 | |
28 | ||
6aeb3f67 | 29 | - .. _DMX-OUT-DECODER: |
5377d91f | 30 | |
0579e6e3 | 31 | DMX_OUT_DECODER |
5377d91f MH |
32 | |
33 | - Streaming directly to decoder. | |
34 | ||
35 | - .. row 3 | |
36 | ||
6aeb3f67 | 37 | - .. _DMX-OUT-TAP: |
5377d91f | 38 | |
0579e6e3 | 39 | DMX_OUT_TAP |
5377d91f MH |
40 | |
41 | - Output going to a memory buffer (to be retrieved via the read | |
0579e6e3 MCC |
42 | command). Delivers the stream output to the demux device on which |
43 | the ioctl is called. | |
5377d91f MH |
44 | |
45 | - .. row 4 | |
46 | ||
6aeb3f67 | 47 | - .. _DMX-OUT-TS-TAP: |
5377d91f | 48 | |
0579e6e3 | 49 | DMX_OUT_TS_TAP |
5377d91f MH |
50 | |
51 | - Output multiplexed into a new TS (to be retrieved by reading from | |
0579e6e3 MCC |
52 | the logical DVR device). Routes output to the logical DVR device |
53 | ``/dev/dvb/adapter?/dvr?``, which delivers a TS multiplexed from | |
54 | all filters for which ``DMX_OUT_TS_TAP`` was specified. | |
5377d91f MH |
55 | |
56 | - .. row 5 | |
57 | ||
6aeb3f67 | 58 | - .. _DMX-OUT-TSDEMUX-TAP: |
5377d91f | 59 | |
0579e6e3 | 60 | DMX_OUT_TSDEMUX_TAP |
5377d91f MH |
61 | |
62 | - Like :ref:`DMX_OUT_TS_TAP <DMX-OUT-TS-TAP>` but retrieved | |
0579e6e3 | 63 | from the DMX device. |
5377d91f MH |
64 | |
65 | ||
5377d91f MH |
66 | dmx_input_t |
67 | =========== | |
68 | ||
836cf1db | 69 | .. c:type:: dmx_input |
5377d91f MH |
70 | |
71 | .. code-block:: c | |
72 | ||
73 | typedef enum | |
74 | { | |
0579e6e3 MCC |
75 | DMX_IN_FRONTEND, /* Input from a front-end device. */ |
76 | DMX_IN_DVR /* Input from the logical DVR device. */ | |
5377d91f MH |
77 | } dmx_input_t; |
78 | ||
79 | ||
5377d91f MH |
80 | dmx_pes_type_t |
81 | ============== | |
82 | ||
836cf1db MCC |
83 | .. c:type:: dmx_pes_type |
84 | ||
5377d91f MH |
85 | |
86 | .. code-block:: c | |
87 | ||
88 | typedef enum | |
89 | { | |
0579e6e3 MCC |
90 | DMX_PES_AUDIO0, |
91 | DMX_PES_VIDEO0, | |
92 | DMX_PES_TELETEXT0, | |
93 | DMX_PES_SUBTITLE0, | |
94 | DMX_PES_PCR0, | |
95 | ||
96 | DMX_PES_AUDIO1, | |
97 | DMX_PES_VIDEO1, | |
98 | DMX_PES_TELETEXT1, | |
99 | DMX_PES_SUBTITLE1, | |
100 | DMX_PES_PCR1, | |
101 | ||
102 | DMX_PES_AUDIO2, | |
103 | DMX_PES_VIDEO2, | |
104 | DMX_PES_TELETEXT2, | |
105 | DMX_PES_SUBTITLE2, | |
106 | DMX_PES_PCR2, | |
107 | ||
108 | DMX_PES_AUDIO3, | |
109 | DMX_PES_VIDEO3, | |
110 | DMX_PES_TELETEXT3, | |
111 | DMX_PES_SUBTITLE3, | |
112 | DMX_PES_PCR3, | |
113 | ||
114 | DMX_PES_OTHER | |
5377d91f MH |
115 | } dmx_pes_type_t; |
116 | ||
117 | ||
5377d91f MH |
118 | struct dmx_filter |
119 | ================= | |
120 | ||
836cf1db | 121 | .. c:type:: dmx_filter |
5377d91f MH |
122 | |
123 | .. code-block:: c | |
124 | ||
125 | typedef struct dmx_filter | |
126 | { | |
0579e6e3 MCC |
127 | __u8 filter[DMX_FILTER_SIZE]; |
128 | __u8 mask[DMX_FILTER_SIZE]; | |
129 | __u8 mode[DMX_FILTER_SIZE]; | |
5377d91f MH |
130 | } dmx_filter_t; |
131 | ||
132 | ||
e8be7e97 | 133 | .. c:type:: dmx_sct_filter_params |
5377d91f MH |
134 | |
135 | struct dmx_sct_filter_params | |
136 | ============================ | |
137 | ||
138 | ||
139 | .. code-block:: c | |
140 | ||
141 | struct dmx_sct_filter_params | |
142 | { | |
0579e6e3 MCC |
143 | __u16 pid; |
144 | dmx_filter_t filter; | |
145 | __u32 timeout; | |
146 | __u32 flags; | |
5377d91f MH |
147 | #define DMX_CHECK_CRC 1 |
148 | #define DMX_ONESHOT 2 | |
149 | #define DMX_IMMEDIATE_START 4 | |
150 | #define DMX_KERNEL_CLIENT 0x8000 | |
151 | }; | |
152 | ||
153 | ||
5377d91f MH |
154 | struct dmx_pes_filter_params |
155 | ============================ | |
156 | ||
836cf1db | 157 | .. c:type:: dmx_pes_filter_params |
5377d91f MH |
158 | |
159 | .. code-block:: c | |
160 | ||
161 | struct dmx_pes_filter_params | |
162 | { | |
0579e6e3 MCC |
163 | __u16 pid; |
164 | dmx_input_t input; | |
165 | dmx_output_t output; | |
166 | dmx_pes_type_t pes_type; | |
167 | __u32 flags; | |
5377d91f MH |
168 | }; |
169 | ||
170 | ||
5377d91f MH |
171 | struct dmx_event |
172 | ================ | |
173 | ||
836cf1db | 174 | .. c:type:: dmx_event |
5377d91f MH |
175 | |
176 | .. code-block:: c | |
177 | ||
178 | struct dmx_event | |
179 | { | |
0579e6e3 MCC |
180 | dmx_event_t event; |
181 | time_t timeStamp; | |
182 | union | |
183 | { | |
184 | dmx_scrambling_status_t scrambling; | |
185 | } u; | |
5377d91f MH |
186 | }; |
187 | ||
188 | ||
5377d91f MH |
189 | struct dmx_stc |
190 | ============== | |
191 | ||
836cf1db | 192 | .. c:type:: dmx_stc |
5377d91f MH |
193 | |
194 | .. code-block:: c | |
195 | ||
196 | struct dmx_stc { | |
0579e6e3 MCC |
197 | unsigned int num; /* input : which STC? 0..N */ |
198 | unsigned int base; /* output: divisor for stc to get 90 kHz clock */ | |
199 | __u64 stc; /* output: stc in 'base'*90 kHz units */ | |
5377d91f MH |
200 | }; |
201 | ||
202 | ||
5377d91f MH |
203 | struct dmx_caps |
204 | =============== | |
205 | ||
836cf1db | 206 | .. c:type:: dmx_caps |
5377d91f MH |
207 | |
208 | .. code-block:: c | |
209 | ||
210 | typedef struct dmx_caps { | |
0579e6e3 MCC |
211 | __u32 caps; |
212 | int num_decoders; | |
5377d91f MH |
213 | } dmx_caps_t; |
214 | ||
215 | ||
836cf1db MCC |
216 | enum dmx_source |
217 | =============== | |
5377d91f | 218 | |
836cf1db | 219 | .. c:type:: dmx_source |
5377d91f MH |
220 | |
221 | .. code-block:: c | |
222 | ||
836cf1db | 223 | typedef enum dmx_source { |
0579e6e3 MCC |
224 | DMX_SOURCE_FRONT0 = 0, |
225 | DMX_SOURCE_FRONT1, | |
226 | DMX_SOURCE_FRONT2, | |
227 | DMX_SOURCE_FRONT3, | |
228 | DMX_SOURCE_DVR0 = 16, | |
229 | DMX_SOURCE_DVR1, | |
230 | DMX_SOURCE_DVR2, | |
231 | DMX_SOURCE_DVR3 | |
5377d91f | 232 | } dmx_source_t; |