From 6f3aa64a79d7b997b6bb199f292d206376170c4c Mon Sep 17 00:00:00 2001
From: Lawrence Rust <lvr@softsystem.co.uk>
Date: Sun, 6 Nov 2011 13:53:58 +0100
Subject: [PATCH 71/85] libmythtv: Set the modulation system for all dvb-s2 channels
This works around a change in Linux 3.x handling of ioctl FE_SET_PROPERTY
when DTV_DELIVERY_SYSTEM is set to 0. In previous versions dvb_frontend
interpreted this as meaning dvb-s and passed that value on to the frontend
driver. In versions 3.0 and later the value 0 is left unchanged and so the
tune operation fails.
Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
---
mythtv/libs/libmythtv/dtvmultiplex.cpp | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/mythtv/libs/libmythtv/dtvmultiplex.cpp b/mythtv/libs/libmythtv/dtvmultiplex.cpp
index 2281a5e..be5dae9 100644
a
|
b
|
bool DTVMultiplex::ParseDVB_S2( |
246 | 246 | return false; |
247 | 247 | } |
248 | 248 | |
| 249 | switch (static_cast<int>(mod_sys)) |
| 250 | { |
| 251 | case DTVModulationSystem::kModulationSystem_UNDEFINED: |
| 252 | // Force dvb-s if using qpsk |
| 253 | if (DTVModulation::kModulationQPSK == modulation) |
| 254 | mod_sys = DTVModulationSystem::kModulationSystem_DVBS; |
| 255 | else |
| 256 | mod_sys = DTVModulationSystem::kModulationSystem_DVBS2; |
| 257 | break; |
| 258 | case DTVModulationSystem::kModulationSystem_DVBS: |
| 259 | case DTVModulationSystem::kModulationSystem_DVBS2: |
| 260 | break; |
| 261 | default: |
| 262 | VERBOSE(VB_IMPORTANT, LOC_ERR + "Unsupported S2 modulation system " + |
| 263 | QString("parameter '%1', aborting.").arg(_mod_sys)); |
| 264 | return false; |
| 265 | } |
| 266 | |
249 | 267 | if (!_rolloff.isEmpty()) |
250 | 268 | ok &= rolloff.Parse(_rolloff); |
251 | 269 | |