History

media: dvb: add continuity error indicators for memory mapped buffers

While userspace can detect discontinuity errors, it is useful to also let Kernelspace reporting discontinuity, as it can help to identify if the data loss happened either at Kernel or userspace side. Update documentation accordingly.

Mauro Carvalho Chehab committed 8 years ago

Commit 9c171cd1 parent 0b234983 files · +49 −7Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/dvb/dmx.h+35−0
@@ -211,6 +211,32 @@ struct dmx_stc { · 210 unmodified lines
211 __u64 stc;211 __u64 stc;
212};212};
213 213
214/**
215 * enum dmx_buffer_flags - DMX memory-mapped buffer flags
216 *
217 * @DMX_BUFFER_FLAG_HAD_CRC32_DISCARD:
218 * Indicates that the Kernel discarded one or more frames due to wrong
219 * CRC32 checksum.
220 * @DMX_BUFFER_FLAG_TEI:
221 * Indicates that the Kernel has detected a Transport Error indicator
222 * (TEI) on a filtered pid.
223 * @DMX_BUFFER_PKT_COUNTER_MISMATCH:
224 * Indicates that the Kernel has detected a packet counter mismatch
225 * on a filtered pid.
226 * @DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED:
227 * Indicates that the Kernel has detected one or more frame discontinuity.
228 * @DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR:
229 * Received at least one packet with a frame discontinuity indicator.
230 */
231
232enum dmx_buffer_flags {
233 DMX_BUFFER_FLAG_HAD_CRC32_DISCARD = 1 << 0,
234 DMX_BUFFER_FLAG_TEI = 1 << 1,
235 DMX_BUFFER_PKT_COUNTER_MISMATCH = 1 << 2,
236 DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED = 1 << 3,
237 DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR = 1 << 4,
238};
239
214/**240/**
215 * struct dmx_buffer - dmx buffer info241 * struct dmx_buffer - dmx buffer info
216 *242 *
@@ -220,15 +246,24 @@ struct dmx_stc { · 3 unmodified lines
220 * offset from the start of the device memory for this plane,246 * offset from the start of the device memory for this plane,
221 * (or a "cookie" that should be passed to mmap() as offset)247 * (or a "cookie" that should be passed to mmap() as offset)
222 * @length: size in bytes of the buffer248 * @length: size in bytes of the buffer
249 * @flags: bit array of buffer flags as defined by &enum dmx_buffer_flags.
250 * Filled only at &DMX_DQBUF.
251 * @count: monotonic counter for filled buffers. Helps to identify
252 * data stream loses. Filled only at &DMX_DQBUF.
223 *253 *
224 * Contains data exchanged by application and driver using one of the streaming254 * Contains data exchanged by application and driver using one of the streaming
225 * I/O methods.255 * I/O methods.
256 *
257 * Please notice that, for &DMX_QBUF, only @index should be filled.
258 * On &DMX_DQBUF calls, all fields will be filled by the Kernel.
226 */259 */
227struct dmx_buffer {260struct dmx_buffer {
228 __u32 index;261 __u32 index;
229 __u32 bytesused;262 __u32 bytesused;
230 __u32 offset;263 __u32 offset;
231 __u32 length;264 __u32 length;
265 __u32 flags;
266 __u32 count;
232};267};
233 268
234/**269/**