| /linux/include/media/ |
| H A D | demux.h | 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 [all …]
|
| H A D | dvb_demux.h | 2 * dvb_demux.h: DVB kernel demux API 27 #include <media/demux.h> 30 * enum dvb_dmx_filter_type - type of demux feed. 41 * enum dvb_dmx_state - state machine for a demux filter. 64 * struct dvb_demux_filter - Describes a DVB demux section filter. 72 * @index: index of the used demux filter. 111 * @demux: pointer to &struct dvb_demux. 126 * @list_head: head for the list of digital TV demux feeds. 141 struct dvb_demux *demux; member 165 * struct dvb_demux - represents a digital TV demux [all …]
|
| H A D | dmxdev.h | 35 #include <media/demux.h> 40 * enum dmxdev_type - type of demux filter type. 155 * struct dmxdev - Describes a digital TV demux device. 158 * the demux device node. 162 * @demux: pointer to &struct dmx_demux. 164 * @capabilities: demux capabilities as defined by &enum dmx_demux_caps. 166 * @exit: flag to indicate that the demux is being released. 178 struct dmx_demux *demux; member 198 * dvb_dmxdev_init - initializes a digital TV demux and registers both demux 207 * dvb_dmxdev_release - releases a digital TV demux and unregisters it.
|
| /linux/Documentation/driver-api/media/ |
| H A D | dtv-demux.rst | 3 Digital TV Demux kABI 6 Digital TV Demux 9 The Kernel Digital TV Demux kABI defines a driver-internal interface for 11 demux layer. It is only of interest for Digital TV device driver writers. 12 The header file for this kABI is named ``demux.h`` and located in 15 The demux kABI should be implemented for each demux in the system. It is 16 used to select the TS source of a demux and to manage the demux resources. 17 When the demux client allocates a resource via the demux kABI, it receives 20 Each demux receives its TS input from a DVB front-end or from memory, as 21 set via this demux kABI. In a system with more than one front-end, the kABI [all …]
|
| /linux/drivers/media/firewire/ |
| H A D | firedtv-dvb.c | 51 struct firedtv *fdtv = dvbdmxfeed->demux->priv; in fdtv_start_feed() 121 struct dvb_demux *demux = dvbdmxfeed->demux; in fdtv_stop_feed() local 122 struct firedtv *fdtv = demux->priv; in fdtv_stop_feed() 128 (demux->dmx.frontend->source != DMX_MEMORY_FE))) { in fdtv_stop_feed() 132 !demux->pesfilter[dvbdmxfeed->pes_type]) in fdtv_stop_feed() 135 demux->pids[dvbdmxfeed->pes_type] |= 0x8000; in fdtv_stop_feed() 136 demux->pesfilter[dvbdmxfeed->pes_type] = NULL; in fdtv_stop_feed() 170 fdtv->demux.dmx.capabilities = 0; in fdtv_dvb_register() 172 fdtv->demux.priv = fdtv; in fdtv_dvb_register() 173 fdtv->demux.filternum = 16; in fdtv_dvb_register() [all …]
|
| /linux/drivers/media/common/videobuf2/ |
| H A D | videobuf2-dvb.c | 6 * (i.e. we are using the software demux, ...). Also uses vb2 31 dvb_dmx_swfilter(&dvb->demux, vb2_plane_vaddr(vb, 0), in dvb_fnc() 38 struct dvb_demux *demux = feed->demux; in vb2_dvb_start_feed() local 39 struct vb2_dvb *dvb = demux->priv; in vb2_dvb_start_feed() 42 if (!demux->dmx.frontend) in vb2_dvb_start_feed() 61 struct dvb_demux *demux = feed->demux; in vb2_dvb_stop_feed() local 62 struct vb2_dvb *dvb = demux->priv; in vb2_dvb_stop_feed() 115 /* register demux stuff */ in vb2_dvb_register_frontend() 116 dvb->demux.dmx.capabilities = in vb2_dvb_register_frontend() 119 dvb->demux.priv = dvb; in vb2_dvb_register_frontend() [all …]
|
| /linux/drivers/media/pci/mantis/ |
| H A D | mantis_dvb.c | 93 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in mantis_dvb_start_feed() 116 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in mantis_dvb_stop_feed() 155 mantis->demux.dmx.capabilities = DMX_TS_FILTERING | in mantis_dvb_init() 159 mantis->demux.priv = mantis; in mantis_dvb_init() 160 mantis->demux.filternum = 256; in mantis_dvb_init() 161 mantis->demux.feednum = 256; in mantis_dvb_init() 162 mantis->demux.start_feed = mantis_dvb_start_feed; in mantis_dvb_init() 163 mantis->demux.stop_feed = mantis_dvb_stop_feed; in mantis_dvb_init() 164 mantis->demux.write_to_decoder = NULL; in mantis_dvb_init() 167 result = dvb_dmx_init(&mantis->demux); in mantis_dvb_init() [all …]
|
| /linux/drivers/media/spi/ |
| H A D | cxd2880-spi.c | 47 struct dvb_demux demux; member 300 dvb_dmx_swfilter(&dvb_spi->demux, in cxd2880_ts_read() 310 dvb_dmx_swfilter(&dvb_spi->demux, in cxd2880_ts_read() 326 struct dvb_demux *demux = NULL; in cxd2880_start_feed() local 334 demux = feed->demux; in cxd2880_start_feed() 335 if (!demux) { in cxd2880_start_feed() 336 pr_err("feed->demux is NULL\n"); in cxd2880_start_feed() 339 dvb_spi = demux->priv; in cxd2880_start_feed() 424 struct dvb_demux *demux = NULL; in cxd2880_stop_feed() local 432 demux = feed->demux; in cxd2880_stop_feed() [all …]
|
| /linux/drivers/media/pci/saa7164/ |
| H A D | saa7164-dvb.c | 282 struct dvb_demux *demux = feed->demux; in saa7164_dvb_start_feed() local 283 struct saa7164_port *port = demux->priv; in saa7164_dvb_start_feed() 290 if (!demux->dmx.frontend) in saa7164_dvb_start_feed() 309 struct dvb_demux *demux = feed->demux; in saa7164_dvb_stop_feed() local 310 struct saa7164_port *port = demux->priv; in saa7164_dvb_stop_feed() 401 /* register demux stuff */ in dvb_register() 402 dvb->demux.dmx.capabilities = in dvb_register() 405 dvb->demux.priv = port; in dvb_register() 406 dvb->demux.filternum = 256; in dvb_register() 407 dvb->demux.feednum = 256; in dvb_register() [all …]
|
| /linux/drivers/media/usb/dvb-usb/ |
| H A D | dvb-usb-dvb.c | 16 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; in dvb_usb_ctrl_feed() 172 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in dvb_usb_adapter_dvb_init() 173 adap->demux.priv = adap; in dvb_usb_adapter_dvb_init() 175 adap->demux.filternum = 0; in dvb_usb_adapter_dvb_init() 177 if (adap->demux.filternum < adap->fe_adap[i].max_feed_count) in dvb_usb_adapter_dvb_init() 178 adap->demux.filternum = adap->fe_adap[i].max_feed_count; in dvb_usb_adapter_dvb_init() 180 adap->demux.feednum = adap->demux.filternum; in dvb_usb_adapter_dvb_init() 181 adap->demux.start_feed = dvb_usb_start_feed; in dvb_usb_adapter_dvb_init() 182 adap->demux.stop_feed = dvb_usb_stop_feed; in dvb_usb_adapter_dvb_init() 183 adap->demux.write_to_decoder = NULL; in dvb_usb_adapter_dvb_init() [all …]
|
| /linux/drivers/media/usb/pvrusb2/ |
| H A D | pvrusb2-dvb.c | 41 &adap->demux, in pvr2_dvb_feed_func() 192 struct pvr2_dvb_adapter *adap = dvbdmxfeed->demux->priv; in pvr2_dvb_ctrl_feed() 202 "start feeding demux"); in pvr2_dvb_ctrl_feed() 211 "stop feeding demux"); in pvr2_dvb_ctrl_feed() 256 adap->demux.dmx.capabilities = DMX_TS_FILTERING | in pvr2_dvb_adapter_init() 259 adap->demux.priv = adap; in pvr2_dvb_adapter_init() 260 adap->demux.filternum = 256; in pvr2_dvb_adapter_init() 261 adap->demux.feednum = 256; in pvr2_dvb_adapter_init() 262 adap->demux.start_feed = pvr2_dvb_start_feed; in pvr2_dvb_adapter_init() 263 adap->demux.stop_feed = pvr2_dvb_stop_feed; in pvr2_dvb_adapter_init() [all …]
|
| /linux/drivers/media/usb/cx231xx/ |
| H A D | cx231xx-dvb.c | 59 struct dvb_demux demux; member 232 dvb_dmx_swfilter(&dev->dvb->demux, in dvb_isoc_copy() 255 /* Feed the transport payload into the kernel demux */ in dvb_bulk_copy() 256 dvb_dmx_swfilter(&dev->dvb->demux, in dvb_bulk_copy() 309 struct dvb_demux *demux = feed->demux; in start_feed() local 310 struct cx231xx_dvb *dvb = demux->priv; in start_feed() 313 if (!demux->dmx.frontend) in start_feed() 332 struct dvb_demux *demux = feed->demux; in stop_feed() local 333 struct cx231xx_dvb *dvb = demux->priv; in stop_feed() 503 /* register demux stuff */ in register_dvb() [all …]
|
| /linux/drivers/media/dvb-core/ |
| H A D | dmxdev.c | 102 static struct dmx_frontend *get_fe(struct dmx_demux *demux, int type) in get_fe() argument 106 head = demux->get_frontends(demux); in get_fe() 182 dmxdev->dvr_orig_fe = dmxdev->demux->frontend; in dvb_dvr_open() 184 if (!dmxdev->demux->write) { in dvb_dvr_open() 189 front = get_fe(dmxdev->demux, DMX_MEMORY_FE); in dvb_dvr_open() 195 dmxdev->demux->disconnect_frontend(dmxdev->demux); in dvb_dvr_open() 196 dmxdev->demux->connect_frontend(dmxdev->demux, front); in dvb_dvr_open() 211 dmxdev->demux->disconnect_frontend(dmxdev->demux); in dvb_dvr_release() 212 dmxdev->demux->connect_frontend(dmxdev->demux, in dvb_dvr_release() 252 if (!dmxdev->demux->write) in dvb_dvr_write() [all …]
|
| H A D | dvbdev.c | 50 [DVB_DEVICE_DEMUX] = "demux", 288 #define DEMUX_TSOUT "demux-tsout" 435 * DVB demux intf -> dvr in dvb_register_media_device() 668 struct media_entity *demux = NULL, *ca = NULL; in dvb_create_media_graph() local 691 demux = entity; in dvb_create_media_graph() 775 if (ndemod && demux) { in dvb_create_media_graph() 780 demux, 0, MEDIA_LNK_FL_ENABLED, in dvb_create_media_graph() 785 if (demux && ca) { in dvb_create_media_graph() 786 ret = media_create_pad_link(demux, 1, ca, in dvb_create_media_graph() 792 /* Create demux links for each ringbuffer/pad */ in dvb_create_media_graph() [all …]
|
| /linux/drivers/media/pci/bt8xx/ |
| H A D | dvb-bt8xx.c | 51 (&card->demux, in dvb_bt8xx_work() 62 struct dvb_demux*dvbdmx = dvbdmxfeed->demux; in dvb_bt8xx_start_feed() 83 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in dvb_bt8xx_stop_feed() 730 memset(&card->demux, 0, sizeof(struct dvb_demux)); in dvb_bt8xx_load_card() 732 …card->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING | DMX_MEMORY_BASED_FILTERI… in dvb_bt8xx_load_card() 734 card->demux.priv = card; in dvb_bt8xx_load_card() 735 card->demux.filternum = 256; in dvb_bt8xx_load_card() 736 card->demux.feednum = 256; in dvb_bt8xx_load_card() 737 card->demux.start_feed = dvb_bt8xx_start_feed; in dvb_bt8xx_load_card() 738 card->demux.stop_feed = dvb_bt8xx_stop_feed; in dvb_bt8xx_load_card() [all …]
|
| /linux/Documentation/userspace-api/media/dvb/ |
| H A D | dmx-fwrite.rst | 7 Digital TV demux write() 13 Digital TV demux write() 36 ``/dev/dvb/adapter?/dvr?``, associated with the physical demux device that 39 in the corresponding physical demux device, ``/dev/dvb/adapter?/demux?``. 65 corresponding demux device is setup to receive data from the
|
| H A D | dmx-fopen.rst | 7 Digital TV demux open() 13 Digital TV demux open() 24 Name of specific Digital TV demux device. 52 This system call, used with a device name of ``/dev/dvb/adapter?/demux?``, 59 all PES filters set in the corresponding demux device 60 (``/dev/dvb/adapter?/demux?``) having the output set to ``DMX_OUT_TS_TAP``.
|
| H A D | demux.rst | 6 Digital TV Demux Device 9 The Digital TV demux device controls the MPEG-TS filters for the 14 It can be accessed through ``/dev/adapter?/demux?``. Data types and
|
| /linux/drivers/media/test-drivers/vidtv/ |
| H A D | vidtv_bridge.h | 37 * @demux: The demux used by the dvb_dmx_swfilter_packets() call. 38 * @dmx_dev: Represents a demux device. 39 * @dmx_fe: The frontends associated with the demux. 53 struct dvb_demux demux; member
|
| /linux/drivers/media/pci/ttpci/ |
| H A D | budget-core.c | 200 dvb_dmx_swfilter_packets(&budget->demux, mem + olddma, count / 188); in vpeirq() 203 dvb_dmx_swfilter_packets(&budget->demux, mem + olddma, count / 188); in vpeirq() 205 dvb_dmx_swfilter_packets(&budget->demux, mem, newdma / 188); in vpeirq() 313 struct dvb_demux *demux = feed->demux; in budget_start_feed() local 314 struct budget *budget = demux->priv; in budget_start_feed() 319 if (!demux->dmx.frontend) in budget_start_feed() 332 struct dvb_demux *demux = feed->demux; in budget_stop_feed() local 333 struct budget *budget = demux->priv; in budget_stop_feed() 347 struct dvb_demux *dvbdemux = &budget->demux; in budget_register() 363 dvb_dmx_init(&budget->demux); in budget_register() [all …]
|
| /linux/drivers/media/pci/pt3/ |
| H A D | pt3.c | 502 adap = container_of(feed->demux, struct pt3_adapter, demux); in pt3_start_feed() 515 adap = container_of(feed->demux, struct pt3_adapter, demux); in pt3_stop_feed() 552 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in pt3_alloc_adapter() 553 adap->demux.priv = adap; in pt3_alloc_adapter() 554 adap->demux.feednum = 256; in pt3_alloc_adapter() 555 adap->demux.filternum = 256; in pt3_alloc_adapter() 556 adap->demux.start_feed = pt3_start_feed; in pt3_alloc_adapter() 557 adap->demux.stop_feed = pt3_stop_feed; in pt3_alloc_adapter() 558 ret = dvb_dmx_init(&adap->demux); in pt3_alloc_adapter() 565 adap->dmxdev.demux = &adap->demux.dmx; in pt3_alloc_adapter() [all …]
|
| /linux/drivers/media/pci/cx23885/ |
| H A D | altera-ci.c | 120 struct dvb_demux *demux; member 156 /* check demux */ 166 if (temp_int->pid_filt[filt_nr]->demux == demux_dev) in check_filter() 172 /* find chip by demux */ 180 * find it by demux in find_dinode() 464 pid_filt->demux->start_feed = pid_filt->start_feed; in altera_hw_filt_release() 465 pid_filt->demux->stop_feed = pid_filt->stop_feed; in altera_hw_filt_release() 598 altera_pid_feed_control(feed->demux, num, feed, 1); in altera_ci_start_feed() 605 altera_pid_feed_control(feed->demux, num, feed, 0); in altera_ci_stop_feed() 673 pid_filt->demux = config->demux; in altera_hw_filt_init() [all …]
|
| /linux/drivers/media/usb/ttusb-dec/ |
| H A D | ttusb_dec.c | 99 struct dvb_demux demux; member 966 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in ttusb_dec_start_ts_feed() 1034 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_start_sec_feed() 1088 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in ttusb_dec_start_feed() 1114 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_stop_ts_feed() 1128 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_stop_sec_feed() 1471 dec->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in ttusb_dec_init_dvb() 1473 dec->demux.priv = (void *)dec; in ttusb_dec_init_dvb() 1474 dec->demux.filternum = 31; in ttusb_dec_init_dvb() 1475 dec->demux.feednum = 31; in ttusb_dec_init_dvb() [all …]
|
| /linux/drivers/media/usb/as102/ |
| H A D | as102_drv.c | 136 struct dvb_demux *demux = dvbdmxfeed->demux; in as102_dvb_dmx_start_feed() local 137 struct as102_dev_t *as102_dev = demux->priv; in as102_dvb_dmx_start_feed() 155 struct dvb_demux *demux = dvbdmxfeed->demux; in as102_dvb_dmx_stop_feed() local 156 struct as102_dev_t *as102_dev = demux->priv; in as102_dvb_dmx_stop_feed() 309 as102_dev->dvb_dmxdev.demux = &as102_dev->dvb_dmx.dmx; in as102_dvb_register() 378 /* unregister demux device */ in as102_dvb_unregister()
|
| /linux/drivers/media/pci/pt1/ |
| H A D | pt1.c | 100 struct dvb_demux demux; member 478 dvb_dmx_swfilter_packets(&adap->demux, buf, 21); in pt1_filter() 695 adap = container_of(feed->demux, struct pt1_adapter, demux); in pt1_start_feed() 725 adap = container_of(feed->demux, struct pt1_adapter, demux); in pt1_stop_feed() 816 adap->demux.dmx.close(&adap->demux.dmx); in pt1_free_adapter() 818 dvb_dmx_release(&adap->demux); in pt1_free_adapter() 832 struct dvb_demux *demux; in pt1_alloc_adapter() local 865 demux = &adap->demux; in pt1_alloc_adapter() 866 demux->dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in pt1_alloc_adapter() 867 demux->priv = adap; in pt1_alloc_adapter() [all …]
|