summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index 861c303df..07be5e758 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -742,7 +742,21 @@ static int dvb_frontend_ioctl (struct inode *inode, struct file *file,
delay_ms = dvb_frontend_internal_ioctl(&fe->frontend, FE_GETMINDELAY, &fe->parameters);
if (delay_ms >= 0) fe->min_delay = (delay_ms * HZ) / 1000;
- else fe->min_delay = HZ/20; // default mindelay of 50ms
+ else {
+ switch(fe->info->type) {
+ case FE_QPSK:
+ fe->min_delay = HZ/20; // default mindelay of 50ms
+ break;
+
+ case FE_QAM:
+ fe->min_delay = HZ/20; // default mindelay of 50ms
+ break;
+
+ case FE_OFDM:
+ fe->min_delay = HZ/10; // default mindelay of 100ms
+ break;
+ }
+ }
dvb_frontend_add_event (fe, 0);
break;