| @@ -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 | |
| | 232 | enum 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 info | 241 | * 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 buffer | 248 | * @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 streaming | 254 | * 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 | */ |
| 227 | struct dmx_buffer { | 260 | struct 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 | /** |