]> Pileus Git - ~andy/linux/commitdiff
[media] dvb-demux: add functionality to send raw payload to the dvr device
authorMichael Krufky <mkrufky@kernellabs.com>
Sat, 27 Aug 2011 21:46:37 +0000 (18:46 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 20 May 2012 13:03:06 +0000 (10:03 -0300)
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>
drivers/media/dvb/dvb-core/dvb_demux.c
drivers/media/dvb/dvb-core/dvb_demux.h

index faa3671b649e1dd54214abf5f7bce1c4044c2bac..d82469f842e2e023a85c88f8917081b5bce2c776 100644 (file)
@@ -568,6 +568,16 @@ void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf, size_t count)
 }
 EXPORT_SYMBOL(dvb_dmx_swfilter_204);
 
+void dvb_dmx_swfilter_raw(struct dvb_demux *demux, const u8 *buf, size_t count)
+{
+       spin_lock(&demux->lock);
+
+       demux->feed->cb.ts(buf, count, NULL, 0, &demux->feed->feed.ts, DMX_OK);
+
+       spin_unlock(&demux->lock);
+}
+EXPORT_SYMBOL(dvb_dmx_swfilter_raw);
+
 static struct dvb_demux_filter *dvb_dmx_filter_alloc(struct dvb_demux *demux)
 {
        int i;
index a7d876fd02dd8067cf722488c3902699e196fb56..fa7188a253aa0add2f6275420391106ed51a6e83 100644 (file)
@@ -145,5 +145,7 @@ void dvb_dmx_swfilter_packets(struct dvb_demux *dvbdmx, const u8 *buf,
 void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count);
 void dvb_dmx_swfilter_204(struct dvb_demux *demux, const u8 *buf,
                          size_t count);
+void dvb_dmx_swfilter_raw(struct dvb_demux *demux, const u8 *buf,
+                         size_t count);
 
 #endif /* _DVB_DEMUX_H_ */