aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-core
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2011-08-27 17:46:37 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-20 09:03:06 -0400
commit8e156702aadbec4b478f60b9fc6af91990fcd6d0 (patch)
tree360e4da893b1ec2f6862c77d8f1ad704c1422524 /drivers/media/dvb/dvb-core
parentadabb266efb5a8d36f664ca44f7000063e566671 (diff)
[media] dvb-demux: add functionality to send raw payload to the dvr device
If your driver needs to deliver the raw payload to userspace without passing through the kernel demux, use function: dvb_dmx_swfilter_raw Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-core')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_demux.c10
-rw-r--r--drivers/media/dvb/dvb-core/dvb_demux.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_demux.c b/drivers/media/dvb/dvb-core/dvb_demux.c
index faa3671b649..d82469f842e 100644
--- a/drivers/media/dvb/dvb-core/dvb_demux.c
+++ b/drivers/media/dvb/dvb-core/dvb_demux.c
@@ -568,6 +568,16 @@ void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, size_t count)
568} 568}
569EXPORT_SYMBOL(dvb_dmx_swfilter_204); 569EXPORT_SYMBOL(dvb_dmx_swfilter_204);
570 570
571void dvb_dmx_swfilter_raw(struct dvb_demux *demux, const u8 *buf, size_t count)
572{
573 spin_lock(&demux->lock);
574
575 demux->feed->cb.ts(buf, count, NULL, 0, &demux->feed->feed.ts, DMX_OK);
576
577 spin_unlock(&demux->lock);
578}
579EXPORT_SYMBOL(dvb_dmx_swfilter_raw);
580
571static struct dvb_demux_filter *dvb_dmx_filter_alloc(struct dvb_demux *demux) 581static struct dvb_demux_filter *dvb_dmx_filter_alloc(struct dvb_demux *demux)
572{ 582{
573 int i; 583 int i;
diff --git a/drivers/media/dvb/dvb-core/dvb_demux.h b/drivers/media/dvb/dvb-core/dvb_demux.h
index a7d876fd02d..fa7188a253a 100644
--- a/drivers/media/dvb/dvb-core/dvb_demux.h
+++ b/drivers/media/dvb/dvb-core/dvb_demux.h
@@ -145,5 +145,7 @@ void dvb_dmx_swfilter_packets(struct dvb_demux *dvbdmx, const u8 *buf,
145void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count); 145void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count);
146void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, 146void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf,
147 size_t count); 147 size_t count);
148void dvb_dmx_swfilter_raw(struct dvb_demux *demux, const u8 *buf,
149 size_t count);
148 150
149#endif /* _DVB_DEMUX_H_ */ 151#endif /* _DVB_DEMUX_H_ */