summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorAndreas Oberritter <devnull@localhost>2005-08-05 23:10:15 +0000
committerAndreas Oberritter <devnull@localhost>2005-08-05 23:10:15 +0000
commitdb3d51e152e3ca19af58dd03b5b77f74fa0b0840 (patch)
tree90ad7996644b9f01bf351c5fd3b0f4101f8b6290 /linux
parentb69ca9b39c300aa97f78fb79261c5d41faaf7153 (diff)
downloadmediapointer-dvb-s2-db3d51e152e3ca19af58dd03b5b77f74fa0b0840.tar.gz
mediapointer-dvb-s2-db3d51e152e3ca19af58dd03b5b77f74fa0b0840.tar.bz2
glue code for DMX_GET_CAPS and DMX_SET_SOURCE
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/dvb-core/demux.h5
-rw-r--r--linux/drivers/media/dvb/dvb-core/dmxdev.c16
2 files changed, 21 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/demux.h b/linux/drivers/media/dvb/dvb-core/demux.h
index fb55eaa5c..b86d03f51 100644
--- a/linux/drivers/media/dvb/dvb-core/demux.h
+++ b/linux/drivers/media/dvb/dvb-core/demux.h
@@ -30,6 +30,7 @@
#include <linux/errno.h>
#include <linux/list.h>
#include <linux/time.h>
+#include <linux/dvb/dmx.h>
/*--------------------------------------------------------------------------*/
/* Common definitions */
@@ -282,6 +283,10 @@ struct dmx_demux {
int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids);
+ int (*get_caps) (struct dmx_demux* demux, struct dmx_caps *caps);
+
+ int (*set_source) (struct dmx_demux* demux, const dmx_source_t *src);
+
int (*get_stc) (struct dmx_demux* demux, unsigned int num,
u64 *stc, unsigned int *base);
};
diff --git a/linux/drivers/media/dvb/dvb-core/dmxdev.c b/linux/drivers/media/dvb/dvb-core/dmxdev.c
index 68050cd52..6059562f4 100644
--- a/linux/drivers/media/dvb/dvb-core/dmxdev.c
+++ b/linux/drivers/media/dvb/dvb-core/dmxdev.c
@@ -929,6 +929,22 @@ static int dvb_demux_do_ioctl(struct inode *inode, struct file *file,
dmxdev->demux->get_pes_pids(dmxdev->demux, (u16 *)parg);
break;
+ case DMX_GET_CAPS:
+ if (!dmxdev->demux->get_caps) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = dmxdev->demux->get_caps(dmxdev->demux, parg);
+ break;
+
+ case DMX_SET_SOURCE:
+ if (!dmxdev->demux->set_source) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = dmxdev->demux->set_source(dmxdev->demux, parg);
+ break;
+
case DMX_GET_STC:
if (!dmxdev->demux->get_stc) {
ret=-EINVAL;