/linux-6.12.1/drivers/media/platform/st/sti/c8sectpfe/ |
D | c8sectpfe-common.c | 34 static int register_dvb(struct stdemux *demux, struct dvb_adapter *adap, in register_dvb() argument 40 demux->dvb_demux.dmx.capabilities = DMX_TS_FILTERING | in register_dvb() 44 demux->dvb_demux.priv = demux; in register_dvb() 45 demux->dvb_demux.filternum = C8SECTPFE_MAXCHANNEL; in register_dvb() 46 demux->dvb_demux.feednum = C8SECTPFE_MAXCHANNEL; in register_dvb() 48 demux->dvb_demux.start_feed = start_feed; in register_dvb() 49 demux->dvb_demux.stop_feed = stop_feed; in register_dvb() 50 demux->dvb_demux.write_to_decoder = NULL; in register_dvb() 52 result = dvb_dmx_init(&demux->dvb_demux); in register_dvb() 59 demux->dmxdev.filternum = demux->dvb_demux.filternum; in register_dvb() [all …]
|
/linux-6.12.1/drivers/media/dvb-core/ |
D | dvb_demux.c | 158 struct dvb_demux *demux = feed->demux; in dvb_dmx_swfilter_section_feed() local 172 demux->check_crc32(feed, sec->secbuf, sec->seclen)) { in dvb_dmx_swfilter_section_feed() 234 struct dvb_demux *demux = feed->demux; in dvb_dmx_swfilter_section_copy_dump() local 252 demux->memcopy(feed, sec->secbuf_base + sec->tsfeedp, buf, len); in dvb_dmx_swfilter_section_copy_dump() 384 if (feed->demux->write_to_decoder) in dvb_dmx_swfilter_packet_type() 385 feed->demux->write_to_decoder(feed, buf, 188); in dvb_dmx_swfilter_packet_type() 405 static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf) in dvb_dmx_swfilter_packet() argument 415 demux->speed_pkts_cnt++; in dvb_dmx_swfilter_packet() 418 if (!(demux->speed_pkts_cnt % SPEED_PKTS_INTERVAL)) { in dvb_dmx_swfilter_packet() 421 if (ktime_to_ns(demux->speed_last_time) != 0) { in dvb_dmx_swfilter_packet() [all …]
|
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() 179 dmxdev->dvr_orig_fe = dmxdev->demux->frontend; in dvb_dvr_open() 181 if (!dmxdev->demux->write) { in dvb_dvr_open() 186 front = get_fe(dmxdev->demux, DMX_MEMORY_FE); in dvb_dvr_open() 192 dmxdev->demux->disconnect_frontend(dmxdev->demux); in dvb_dvr_open() 193 dmxdev->demux->connect_frontend(dmxdev->demux, front); in dvb_dvr_open() 208 dmxdev->demux->disconnect_frontend(dmxdev->demux); in dvb_dvr_release() 209 dmxdev->demux->connect_frontend(dmxdev->demux, in dvb_dvr_release() 249 if (!dmxdev->demux->write) in dvb_dvr_write() [all …]
|
/linux-6.12.1/drivers/media/firewire/ |
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-6.12.1/drivers/media/common/b2c2/ |
D | flexcop.c | 47 struct flexcop_device *fc = dvbdmxfeed->demux->priv; in flexcop_dvb_start_feed() 53 struct flexcop_device *fc = dvbdmxfeed->demux->priv; in flexcop_dvb_stop_feed() 68 fc->demux.dmx.capabilities = (DMX_TS_FILTERING | DMX_SECTION_FILTERING in flexcop_dvb_init() 70 fc->demux.priv = fc; in flexcop_dvb_init() 71 fc->demux.filternum = fc->demux.feednum = FC_MAX_FEED; in flexcop_dvb_init() 72 fc->demux.start_feed = flexcop_dvb_start_feed; in flexcop_dvb_init() 73 fc->demux.stop_feed = flexcop_dvb_stop_feed; in flexcop_dvb_init() 74 fc->demux.write_to_decoder = NULL; in flexcop_dvb_init() 76 ret = dvb_dmx_init(&fc->demux); in flexcop_dvb_init() 84 fc->dmxdev.filternum = fc->demux.feednum; in flexcop_dvb_init() [all …]
|
/linux-6.12.1/drivers/media/pci/mantis/ |
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-6.12.1/drivers/media/common/videobuf2/ |
D | videobuf2-dvb.c | 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() 116 dvb->demux.dmx.capabilities = in vb2_dvb_register_frontend() 119 dvb->demux.priv = dvb; in vb2_dvb_register_frontend() 120 dvb->demux.filternum = 256; in vb2_dvb_register_frontend() 121 dvb->demux.feednum = 256; in vb2_dvb_register_frontend() [all …]
|
/linux-6.12.1/include/media/ |
D | demux.h | 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); [all …]
|
D | dvb_demux.h | 141 struct dvb_demux *demux; member 267 int dvb_dmx_init(struct dvb_demux *demux); 278 void dvb_dmx_release(struct dvb_demux *demux); 295 void dvb_dmx_swfilter_packets(struct dvb_demux *demux, const u8 *buf, 314 void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count); 332 void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, 351 void dvb_dmx_swfilter_raw(struct dvb_demux *demux, const u8 *buf,
|
/linux-6.12.1/drivers/media/usb/au0828/ |
D | au0828-dvb.c | 150 dvb_dmx_swfilter_packets(&dev->dvb.demux, in urb_completion() 275 struct dvb_demux *demux = feed->demux; in au0828_dvb_start_feed() local 276 struct au0828_dev *dev = demux->priv; in au0828_dvb_start_feed() 282 if (!demux->dmx.frontend) in au0828_dvb_start_feed() 307 struct dvb_demux *demux = feed->demux; in au0828_dvb_stop_feed() local 308 struct au0828_dev *dev = demux->priv; in au0828_dvb_stop_feed() 448 dvb->demux.dmx.capabilities = in dvb_register() 451 dvb->demux.priv = dev; in dvb_register() 452 dvb->demux.filternum = 256; in dvb_register() 453 dvb->demux.feednum = 256; in dvb_register() [all …]
|
/linux-6.12.1/drivers/media/spi/ |
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() 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() 433 if (!demux) { in cxd2880_stop_feed() [all …]
|
/linux-6.12.1/Documentation/driver-api/media/ |
D | dtv-demux.rst | 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 22 can be used to select one of the DVB front-ends as a TS source for a demux, 25 The demux kABI only controls front-ends regarding to their connections with 29 The functions that implement the abstract interface demux should be defined [all …]
|
/linux-6.12.1/drivers/media/test-drivers/vidtv/ |
D | vidtv_bridge.c | 163 dvb_dmx_swfilter_packets(&dvb->demux, buf, npkts); in vidtv_bridge_on_new_pkts_avail() 219 struct dvb_demux *demux = feed->demux; in vidtv_start_feed() local 220 struct vidtv_dvb *dvb = demux->priv; in vidtv_start_feed() 224 if (!demux->dmx.frontend) in vidtv_start_feed() 244 struct dvb_demux *demux = feed->demux; in vidtv_stop_feed() local 245 struct vidtv_dvb *dvb = demux->priv; in vidtv_stop_feed() 319 dvb->demux.dmx.capabilities = DMX_TS_FILTERING | in vidtv_bridge_dmx_init() 322 dvb->demux.priv = dvb; in vidtv_bridge_dmx_init() 323 dvb->demux.filternum = 256; in vidtv_bridge_dmx_init() 324 dvb->demux.feednum = 256; in vidtv_bridge_dmx_init() [all …]
|
/linux-6.12.1/drivers/media/usb/dvb-usb/ |
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-6.12.1/drivers/media/pci/saa7164/ |
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() 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() 408 dvb->demux.start_feed = saa7164_dvb_start_feed; in dvb_register() [all …]
|
/linux-6.12.1/drivers/media/usb/cx231xx/ |
D | cx231xx-dvb.c | 59 struct dvb_demux demux; member 232 dvb_dmx_swfilter(&dev->dvb->demux, in dvb_isoc_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() 504 dvb->demux.dmx.capabilities = in register_dvb() 507 dvb->demux.priv = dvb; in register_dvb() [all …]
|
/linux-6.12.1/drivers/media/usb/pvrusb2/ |
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() 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() 264 adap->demux.write_to_decoder = NULL; in pvr2_dvb_adapter_init() 266 ret = dvb_dmx_init(&adap->demux); in pvr2_dvb_adapter_init() [all …]
|
/linux-6.12.1/drivers/media/pci/bt8xx/ |
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-6.12.1/Documentation/userspace-api/media/dvb/ |
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
|
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``.
|
/linux-6.12.1/drivers/media/pci/ttpci/ |
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-6.12.1/drivers/staging/media/av7110/ |
D | av7110.c | 275 if (!dvbdmxfilter->feed->demux->dmx.frontend) in DvbDmxFilterCallback() 277 if (dvbdmxfilter->feed->demux->dmx.frontend->source == DMX_MEMORY_FE) in DvbDmxFilterCallback() 368 dvb_dmx_swfilter_packets(&av7110->demux, in debiirq() 375 if (av7110->demux.recording) in debiirq() 761 struct av7110 *av7110 = dvbdmxfeed->demux->priv; in StartHWFilter() 811 struct av7110 *av7110 = dvbdmxfilter->feed->demux->priv; in StopHWFilter() 846 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in dvb_feed_start_pid() 892 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in dvb_feed_stop_pid() 937 struct dvb_demux *demux = feed->demux; in av7110_start_feed() local 938 struct av7110 *av7110 = demux->priv; in av7110_start_feed() [all …]
|
/linux-6.12.1/drivers/media/usb/ttusb-dec/ |
D | ttusb_dec.c | 99 struct dvb_demux demux; member 967 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in ttusb_dec_start_ts_feed() 1035 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_start_sec_feed() 1090 struct dvb_demux *dvbdmx = dvbdmxfeed->demux; in ttusb_dec_start_feed() 1116 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_stop_ts_feed() 1130 struct ttusb_dec *dec = dvbdmxfeed->demux->priv; in ttusb_dec_stop_sec_feed() 1473 dec->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in ttusb_dec_init_dvb() 1475 dec->demux.priv = (void *)dec; in ttusb_dec_init_dvb() 1476 dec->demux.filternum = 31; in ttusb_dec_init_dvb() 1477 dec->demux.feednum = 31; in ttusb_dec_init_dvb() [all …]
|
/linux-6.12.1/drivers/media/usb/em28xx/ |
D | em28xx-dvb.c | 89 struct dvb_demux demux; member 173 dvb_dmx_swfilter(&dev->dvb->demux, urb->transfer_buffer, in em28xx_dvb_urb_data_copy() 184 dvb_dmx_swfilter(&dev->dvb->demux, in em28xx_dvb_urb_data_copy() 250 struct dvb_demux *demux = feed->demux; in em28xx_start_feed() local 251 struct em28xx_dvb *dvb = demux->priv; in em28xx_start_feed() 254 if (!demux->dmx.frontend) in em28xx_start_feed() 273 struct dvb_demux *demux = feed->demux; in em28xx_stop_feed() local 274 struct em28xx_dvb *dvb = demux->priv; in em28xx_stop_feed() 1023 dvb->demux.dmx.capabilities = in em28xx_register_dvb() 1026 dvb->demux.priv = dvb; in em28xx_register_dvb() [all …]
|
/linux-6.12.1/drivers/media/pci/pt3/ |
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 …]
|