/linux/drivers/media/platform/st/sti/c8sectpfe/ |
H A 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/drivers/media/dvb-core/ |
H A D | dvb_demux.c | 3 * dvb_demux.c - DVB kernel demux API 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() 214 * Losless Section Demux 1.4.1 by Emard 226 * when demux is started, let feed->pusi_seen = false to 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 [all …]
|
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() 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/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/b2c2/ |
H A 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/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/usb/au0828/ |
H A D | au0828-dvb.c | 149 /* Feed the transport payload into the kernel demux */ in urb_completion() 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() 447 /* register demux stuff */ in dvb_register() 448 dvb->demux.dmx.capabilities = in dvb_register() 451 dvb->demux.priv = dev; in dvb_register() [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/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``.
|
/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/staging/media/av7110/ |
H A D | av7110.c | 4 * - initialization and demux stuff 77 MODULE_PARM_DESC(pids_off, "clear video/audio/PCR PID filters when demux is closed"); 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() [all …]
|
/linux/drivers/media/usb/dvb-usb-v2/ |
H A D | dvb_usb_core.c | 204 dvb_dmx_swfilter(&adap->demux, buf, len); in dvb_usb_data_complete() 211 dvb_dmx_swfilter_204(&adap->demux, buf, len); in dvb_usb_data_complete_204() 218 dvb_dmx_swfilter_raw(&adap->demux, buf, len); in dvb_usb_data_complete_raw() 243 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; in dvb_usb_start_feed() 331 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; in dvb_usb_stop_feed() 466 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; in dvb_usbv2_adapter_dvb_init() 467 adap->demux.priv = adap; in dvb_usbv2_adapter_dvb_init() 468 adap->demux.filternum = 0; in dvb_usbv2_adapter_dvb_init() 469 adap->demux.filternum = adap->max_feed_count; in dvb_usbv2_adapter_dvb_init() 470 adap->demux.feednum = adap->demux.filternum; in dvb_usbv2_adapter_dvb_init() [all …]
|