Lines Matching +full:- +full:section

4  * The Kernel Digital TV Demux kABI defines a driver-internal interface for
5 * registering low-level, hardware specific driver to a hardware independent
40 * DMX_MAX_FILTER_SIZE: Maximum length (in bytes) of a section/PES filter.
48 * DMX_MAX_SECFEED_SIZE: Maximum length (in bytes) of a private section feed
64 * enum ts_filter_type - filter type bitmap for dmx_ts_feed.set\(\)
69 * @TS_DECODER: Send stream to built-in decoder (if present).
81 * struct dmx_ts_feed - Structure that contains a TS feed filter
83 * @is_filtering: Set to non-zero when filtering in progress
108 * Section reception
112 * struct dmx_section_filter - Structure that describes a section filter
114 * @filter_value: Contains up to 16 bytes (128 bits) of the TS section header
115 * that will be matched by the section filter
120 * @parent: Back-pointer to struct dmx_section_feed.
125 * the section headers/payload. On a binary value of 1 in filter_mask, the
139 * struct dmx_section_feed - Structure that contains a section feed filter
141 * @is_filtering: Set to non-zero when filtering in progress
144 * @check_crc: If non-zero, check the CRC values of filtered sections.
145 * @set: sets the section filter
146 * @allocate_filter: This function is used to allocate a section filter on
148 * is in progress on this section feed. If a filter cannot
149 * be allocated, the function fails with -ENOSPC.
151 * previously allocated section filter. The function
153 * on this section feed. After calling this function,
156 * @start_filtering: starts section filtering
157 * @stop_filtering: stops section filtering
190 * typedef dmx_ts_cb - DVB demux TS filter callback function prototype
229 * TS-level forward error correction (FEC), the Transport_error_indicator
235 * is full and return -EOVERFLOW.
245 * - 0, on success;
247 * - -EOVERFLOW, on buffer overflow.
257 * typedef dmx_section_cb - DVB demux TS filter callback function prototype
259 * @buffer1: Pointer to the start of the filtered section, e.g.
261 * @buffer1_len: Length of the filtered section data in @buffer1,
263 * @buffer2: Pointer to the tail of the filtered section data,
266 * @buffer2_len: Length of the filtered section data in @buffer2,
268 * @source: Indicates which section feed is the source of the
279 * complete section that matches at least one section filter, the client
281 * for each received section; however, it is also possible to deliver
283 * is high. If an error occurs while receiving a section, this
285 * success field, whether or not there is data to deliver. The Section Feed
287 * However, this is not necessary if the Section Feed API is implemented as
290 * configured using the &dmx_ts_feed.@set function in the Section Feed API.
291 * If there is no room in the circular buffer when a new section is received,
292 * the section must be discarded. If this happens, the value of the success
303 * DVB Front-End
307 * enum dmx_frontend_source - Used to identify the type of frontend
310 * the MPEG-TS to be filtered comes from userspace,
322 * struct dmx_frontend - Structure that lists the frontends associated with
325 * @connectivity_list: List of front-ends that can be connected to a
330 * media-controller based logic.
338 * MPEG-2 TS Demux
342 * enum dmx_demux_caps - MPEG-2 TS Demux capabilities bitmap
345 * @DMX_SECTION_FILTERING: set if section filtering is supported;
361 * DMX_FE_ENTRY - Casts elements in the list of registered
362 * front-ends from the generic type struct list_head
371 * struct dmx_demux - Structure that contains the demux capabilities and
376 * @frontend: Front-end connected to the demux
390 * -EUSERS, if maximum usage count was reached;
391 * -EINVAL, on bad parameter.
403 * -ENODEV, if demux was not in use (e. g. no users);
404 * -EINVAL, on bad parameter.
408 * front-end, the demux driver software will read packets from memory.
409 * Any clients of this demux with active TS, PES or Section filters will
413 * case, memory-based filtering has to be implemented entirely in software.
417 * kernel-space memory.
421 * -ERESTARTSYS, if mutex lock was interrupted;
422 * -EINTR, if a signal handling is pending;
423 * -ENODEV, if demux was removed;
424 * -EINVAL, on bad parameter.
437 * -ERESTARTSYS, if mutex lock was interrupted;
438 * -EBUSY, if no more TS feeds is available;
439 * -EINVAL, on bad parameter.
450 * -EINVAL on bad parameter.
452 * @allocate_section_feed: Allocates a new section feed, i.e. a demux resource
454 * support for section filtering, a section feed is directly mapped to
456 * hardware and a hardware section filter then emulated in software. The
468 * -EBUSY, if no more TS feeds is available;
469 * -EINVAL, on bad parameter.
473 * progress on the section feed should be stopped before calling this
481 * -EINVAL, on bad parameter.
483 * @add_frontend: Registers a connectivity between a demux and a front-end,
485 * @connect_frontend to use the given front-end as a TS source. The
493 * The @frontend function parameter contains a pointer to the front-end
497 * -EINVAL, on bad parameter.
499 * @remove_frontend: Indicates that the given front-end, registered by a call
501 * demux. The function should be called when a front-end driver or a demux
502 * driver is removed from the system. If the front-end is in use, the
503 * function fails with the return value of -EBUSY. After successfully
509 * The @frontend function parameter contains a pointer to the front-end
513 * -ENODEV, if the front-end was not found,
514 * -EINVAL, on bad parameter.
516 * @get_frontends: Provides the APIs of the front-ends that have been
517 * registered for this demux. Any of the front-ends obtained with this
525 * It returns a struct list_head pointer to the list of front-end
528 * @connect_frontend: Connects the TS output of the front-end to the input of
529 * the demux. A demux can only be connected to a front-end registered to
531 * possible to connect multiple demuxes to the same front-end, depending
532 * on the capabilities of the HW platform. When not used, the front-end
536 * The @frontend function parameter contains a pointer to the front-end
540 * -EINVAL, on bad parameter.
542 * @disconnect_frontend: Disconnects the demux and a front-end previously
548 * -EINVAL on bad parameter.
558 * -EINVAL on bad parameter.