Merge remote-tracking branch 'omap_dss2/for-next'
[deliverable/linux.git] / Documentation / media / uapi / dvb / dmx_types.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _dmx_types:
4
5 ****************
6 Demux Data Types
7 ****************
8
9 Output for the demux
10 ====================
11
12 .. c:type:: dmx_output
13
14 .. tabularcolumns:: |p{5.0cm}|p{12.5cm}|
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
29 - .. _DMX-OUT-DECODER:
30
31 DMX_OUT_DECODER
32
33 - Streaming directly to decoder.
34
35 - .. row 3
36
37 - .. _DMX-OUT-TAP:
38
39 DMX_OUT_TAP
40
41 - Output going to a memory buffer (to be retrieved via the read
42 command). Delivers the stream output to the demux device on which
43 the ioctl is called.
44
45 - .. row 4
46
47 - .. _DMX-OUT-TS-TAP:
48
49 DMX_OUT_TS_TAP
50
51 - Output multiplexed into a new TS (to be retrieved by reading from
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.
55
56 - .. row 5
57
58 - .. _DMX-OUT-TSDEMUX-TAP:
59
60 DMX_OUT_TSDEMUX_TAP
61
62 - Like :ref:`DMX_OUT_TS_TAP <DMX-OUT-TS-TAP>` but retrieved
63 from the DMX device.
64
65
66 dmx_input_t
67 ===========
68
69 .. c:type:: dmx_input
70
71 .. code-block:: c
72
73 typedef enum
74 {
75 DMX_IN_FRONTEND, /* Input from a front-end device. */
76 DMX_IN_DVR /* Input from the logical DVR device. */
77 } dmx_input_t;
78
79
80 dmx_pes_type_t
81 ==============
82
83 .. c:type:: dmx_pes_type
84
85
86 .. code-block:: c
87
88 typedef enum
89 {
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
115 } dmx_pes_type_t;
116
117
118 struct dmx_filter
119 =================
120
121 .. c:type:: dmx_filter
122
123 .. code-block:: c
124
125 typedef struct dmx_filter
126 {
127 __u8 filter[DMX_FILTER_SIZE];
128 __u8 mask[DMX_FILTER_SIZE];
129 __u8 mode[DMX_FILTER_SIZE];
130 } dmx_filter_t;
131
132
133 .. c:type:: dmx_sct_filter_params
134
135 struct dmx_sct_filter_params
136 ============================
137
138
139 .. code-block:: c
140
141 struct dmx_sct_filter_params
142 {
143 __u16 pid;
144 dmx_filter_t filter;
145 __u32 timeout;
146 __u32 flags;
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
154 struct dmx_pes_filter_params
155 ============================
156
157 .. c:type:: dmx_pes_filter_params
158
159 .. code-block:: c
160
161 struct dmx_pes_filter_params
162 {
163 __u16 pid;
164 dmx_input_t input;
165 dmx_output_t output;
166 dmx_pes_type_t pes_type;
167 __u32 flags;
168 };
169
170
171 struct dmx_event
172 ================
173
174 .. c:type:: dmx_event
175
176 .. code-block:: c
177
178 struct dmx_event
179 {
180 dmx_event_t event;
181 time_t timeStamp;
182 union
183 {
184 dmx_scrambling_status_t scrambling;
185 } u;
186 };
187
188
189 struct dmx_stc
190 ==============
191
192 .. c:type:: dmx_stc
193
194 .. code-block:: c
195
196 struct dmx_stc {
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 */
200 };
201
202
203 struct dmx_caps
204 ===============
205
206 .. c:type:: dmx_caps
207
208 .. code-block:: c
209
210 typedef struct dmx_caps {
211 __u32 caps;
212 int num_decoders;
213 } dmx_caps_t;
214
215
216 enum dmx_source
217 ===============
218
219 .. c:type:: dmx_source
220
221 .. code-block:: c
222
223 typedef enum dmx_source {
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
232 } dmx_source_t;
This page took 0.036423 seconds and 5 git commands to generate.