Lines Matching full:demux
2 * demux.h
4 * The Kernel Digital TV Demux kABI defines a driver-internal interface for
6 * demux layer.
70 * @TS_DEMUX: In case TS_PACKET is set, send the TS to the demux
90 * A TS feed is typically mapped to a hardware PID filter on the demux chip.
147 * the demux. It should only be called when no filtering
159 * A TS feed is typically mapped to a hardware PID filter on the demux chip.
190 * typedef dmx_ts_cb - DVB demux TS filter callback function prototype
202 * This function callback prototype, provided by the client of the demux API,
203 * is called from the demux code. The function is only called when filtering
234 * the demux driver should discard any TS packets received while the buffer
257 * typedef dmx_section_cb - DVB demux TS filter callback function prototype
260 * within the circular buffer of the demux driver.
275 * This function callback prototype, provided by the client of the demux API,
276 * is called from the demux code. The function is only called when
278 * &dmx_ts_feed.@start_filtering. When the demux driver has received a
309 * @DMX_MEMORY_FE: The source of the demux is memory. It means that
313 * @DMX_FRONTEND_0: The source of the demux is a frontend connected
314 * to the demux.
323 * a demux
326 * particular demux;
338 * MPEG-2 TS Demux
342 * enum dmx_demux_caps - MPEG-2 TS Demux capabilities bitmap
357 * Demux resource type identifier.
371 * struct dmx_demux - Structure that contains the demux capabilities and
376 * @frontend: Front-end connected to the demux
380 * @open: This function reserves the demux for use by the caller and, if
381 * necessary, initializes the demux. When the demux is no longer needed,
383 * multiple clients to access the demux at the same time. Thus, the
384 * function implementation should increment the demux usage count when
386 * The @demux function parameter contains a pointer to the demux API and
393 * @close: This function reserves the demux for use by the caller and, if
394 * necessary, initializes the demux. When the demux is no longer needed,
396 * multiple clients to access the demux at the same time. Thus, the
397 * function implementation should increment the demux usage count when
399 * The @demux function parameter contains a pointer to the demux API and
403 * -ENODEV, if demux was not in use (e. g. no users);
406 * @write: This function provides the demux driver with a memory buffer
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
410 * receive filtered data via the Demux callback API (see 0). The function
411 * returns when all the data in the buffer has been consumed by the demux.
412 * Demux hardware typically cannot read TS from memory. If this is the
414 * The @demux function parameter contains a pointer to the demux API and
423 * -ENODEV, if demux was removed;
428 * hardware PID filter on the demux chip.
429 * The @demux function parameter contains a pointer to the demux API and
444 * The @demux function parameter contains a pointer to the demux API and
452 * @allocate_section_feed: Allocates a new section feed, i.e. a demux resource
455 * the demux HW. On other platforms, TS packets are first PID filtered in
460 * The @demux function parameter contains a pointer to the demux API and
475 * The @demux function parameter contains a pointer to the demux API and
483 * @add_frontend: Registers a connectivity between a demux and a front-end,
484 * i.e., indicates that the demux can be connected via a call to
491 * The @demux function parameter contains a pointer to the demux API and
501 * demux. The function should be called when a front-end driver or a demux
507 * The @demux function parameter contains a pointer to the demux API and
517 * registered for this demux. Any of the front-ends obtained with this
519 * file demux.h contains the macro DMX_FE_ENTRY() for converting an
523 * The @demux function parameter contains a pointer to the demux API and
529 * the demux. A demux can only be connected to a front-end registered to
530 * the demux with the function @add_frontend. It may or may not be
534 * The @demux function parameter contains a pointer to the demux API and
542 * @disconnect_frontend: Disconnects the demux and a front-end previously
544 * The @demux function parameter contains a pointer to the demux API and
552 * The @demux function parameter contains a pointer to the demux API and
564 int (*open)(struct dmx_demux *demux);
565 int (*close)(struct dmx_demux *demux);
566 int (*write)(struct dmx_demux *demux, const char __user *buf,
568 int (*allocate_ts_feed)(struct dmx_demux *demux,
571 int (*release_ts_feed)(struct dmx_demux *demux,
573 int (*allocate_section_feed)(struct dmx_demux *demux,
576 int (*release_section_feed)(struct dmx_demux *demux,
578 int (*add_frontend)(struct dmx_demux *demux,
580 int (*remove_frontend)(struct dmx_demux *demux,
582 struct list_head *(*get_frontends)(struct dmx_demux *demux);
583 int (*connect_frontend)(struct dmx_demux *demux,
585 int (*disconnect_frontend)(struct dmx_demux *demux);
587 int (*get_pes_pids)(struct dmx_demux *demux, u16 *pids);
596 int (*get_stc)(struct dmx_demux *demux, unsigned int num,