diff options
author | Johannes Stezenbach <devnull@localhost> | 2003-03-07 15:26:03 +0000 |
---|---|---|
committer | Johannes Stezenbach <devnull@localhost> | 2003-03-07 15:26:03 +0000 |
commit | 9651959e6fa95fe6ce08b2b996863edca00620bd (patch) | |
tree | 152c5ca6ad0d22622a17a07791acc30e1fbbc1b9 /linux/drivers/media | |
parent | 98fead3006b45b081b53fed2c0fa0c3fe155f507 (diff) | |
download | mediapointer-dvb-s2-9651959e6fa95fe6ce08b2b996863edca00620bd.tar.gz mediapointer-dvb-s2-9651959e6fa95fe6ce08b2b996863edca00620bd.tar.bz2 |
added ioctl DMX_GET_STC
Diffstat (limited to 'linux/drivers/media')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/demux.h | 3 | ||||
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dmxdev.c | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/demux.h b/linux/drivers/media/dvb/dvb-core/demux.h index 1042bdab1..d1dfa8b5e 100644 --- a/linux/drivers/media/dvb/dvb-core/demux.h +++ b/linux/drivers/media/dvb/dvb-core/demux.h @@ -286,6 +286,9 @@ struct dmx_demux_s { int (*disconnect_frontend) (struct dmx_demux_s* demux); int (*get_pes_pids) (struct dmx_demux_s* demux, __u16 *pids); + + int (*get_stc) (struct dmx_demux_s* demux, unsigned int num, + uint64_t *stc, unsigned int *base); }; typedef struct dmx_demux_s dmx_demux_t; diff --git a/linux/drivers/media/dvb/dvb-core/dmxdev.c b/linux/drivers/media/dvb/dvb-core/dmxdev.c index c54e397cd..b7034c0f2 100644 --- a/linux/drivers/media/dvb/dvb-core/dmxdev.c +++ b/linux/drivers/media/dvb/dvb-core/dmxdev.c @@ -960,6 +960,17 @@ static int dvb_demux_do_ioctl(struct inode *inode, struct file *file, dmxdev->demux->get_pes_pids(dmxdev->demux, (uint16_t *)parg); break; + case DMX_GET_STC: + if (!dmxdev->demux->get_stc) { + ret=-EINVAL; + break; + } + ret = dmxdev->demux->get_stc(dmxdev->demux, + ((struct dmx_stc *)parg)->num, + &((struct dmx_stc *)parg)->stc, + &((struct dmx_stc *)parg)->base); + break; + default: ret=-EINVAL; } |