diff options
author | Michael Krufky <mkrufky@kernellabs.com> | 2011-08-27 17:46:37 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-20 09:03:06 -0400 |
commit | 8e156702aadbec4b478f60b9fc6af91990fcd6d0 (patch) | |
tree | 360e4da893b1ec2f6862c77d8f1ad704c1422524 /drivers/media | |
parent | adabb266efb5a8d36f664ca44f7000063e566671 (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')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_demux.c | 10 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_demux.h | 2 |
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 | } |
569 | EXPORT_SYMBOL(dvb_dmx_swfilter_204); | 569 | EXPORT_SYMBOL(dvb_dmx_swfilter_204); |
570 | 570 | ||
571 | void 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 | } | ||
579 | EXPORT_SYMBOL(dvb_dmx_swfilter_raw); | ||
580 | |||
571 | static struct dvb_demux_filter *dvb_dmx_filter_alloc(struct dvb_demux *demux) | 581 | static 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, | |||
145 | void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count); | 145 | void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count); |
146 | void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, | 146 | void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, |
147 | size_t count); | 147 | size_t count); |
148 | void 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_ */ |