mirror of
https://github.com/rofafor/vdr-plugin-satip.git
synced 2023-10-10 13:37:42 +02:00
Add a new ForcePilot quirk.
This commit is contained in:
parent
0fc044a316
commit
6ed729c153
2
device.c
2
device.c
@ -134,7 +134,7 @@ cString cSatipDevice::GetGeneralInformation(void)
|
|||||||
{
|
{
|
||||||
debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM);
|
debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM);
|
||||||
LOCK_CHANNELS_READ;
|
LOCK_CHANNELS_READ;
|
||||||
return cString::sprintf("SAT>IP device: %d\nCardIndex: %d\nStream: %s\nSignal: %s\nStream bitrate: %s\n%sChannel: %s",
|
return cString::sprintf("SAT>IP device: %d\nCardIndex: %d\nStream: %s\nSignal: %s\nStream bitrate: %s\n%sChannel: %s\n",
|
||||||
deviceIndexM, CardIndex(),
|
deviceIndexM, CardIndex(),
|
||||||
pTunerM ? *pTunerM->GetInformation() : "",
|
pTunerM ? *pTunerM->GetInformation() : "",
|
||||||
pTunerM ? *pTunerM->GetSignalStatus() : "",
|
pTunerM ? *pTunerM->GetSignalStatus() : "",
|
||||||
|
9
server.c
9
server.c
@ -147,6 +147,13 @@ cSatipServer::cSatipServer(const char *addressP, const int portP, const char *mo
|
|||||||
if (strstr(*descriptionM, "DVBViewer") // DVBViewer Media Server
|
if (strstr(*descriptionM, "DVBViewer") // DVBViewer Media Server
|
||||||
)
|
)
|
||||||
quirkM |= eSatipQuirkCiTnr;
|
quirkM |= eSatipQuirkCiTnr;
|
||||||
|
// These devices don't support auto-detection of pilot tones
|
||||||
|
if (strstr(*descriptionM, "GSSBOX") || // Grundig Sat Systems GSS.box DSI 400
|
||||||
|
strstr(*descriptionM, "DIGIBIT") || // Telestar Digibit R1
|
||||||
|
strstr(*descriptionM, "Triax SatIP Converter") // Triax TSS 400
|
||||||
|
// Kathrein ExIP 414/E
|
||||||
|
)
|
||||||
|
quirkM |= eSatipQuirkForcePilot;
|
||||||
}
|
}
|
||||||
if ((quirkM & eSatipQuirkMask) & eSatipQuirkSessionId)
|
if ((quirkM & eSatipQuirkMask) & eSatipQuirkSessionId)
|
||||||
quirksM = cString::sprintf("%s%sSessionId", *quirksM, isempty(*quirksM) ? "" : ",");
|
quirksM = cString::sprintf("%s%sSessionId", *quirksM, isempty(*quirksM) ? "" : ",");
|
||||||
@ -160,6 +167,8 @@ cSatipServer::cSatipServer(const char *addressP, const int portP, const char *mo
|
|||||||
quirksM = cString::sprintf("%s%sCiXpmt", *quirksM, isempty(*quirksM) ? "" : ",");
|
quirksM = cString::sprintf("%s%sCiXpmt", *quirksM, isempty(*quirksM) ? "" : ",");
|
||||||
if ((quirkM & eSatipQuirkMask) & eSatipQuirkCiTnr)
|
if ((quirkM & eSatipQuirkMask) & eSatipQuirkCiTnr)
|
||||||
quirksM = cString::sprintf("%s%sCiTnr", *quirksM, isempty(*quirksM) ? "" : ",");
|
quirksM = cString::sprintf("%s%sCiTnr", *quirksM, isempty(*quirksM) ? "" : ",");
|
||||||
|
if ((quirkM & eSatipQuirkMask) & eSatipQuirkForcePilot)
|
||||||
|
quirksM = cString::sprintf("%s%sForcePilot", *quirksM, isempty(*quirksM) ? "" : ",");
|
||||||
debug3("%s description=%s quirks=%s", __PRETTY_FUNCTION__, *descriptionM, *quirksM);
|
debug3("%s description=%s quirks=%s", __PRETTY_FUNCTION__, *descriptionM, *quirksM);
|
||||||
// These devices support external CI
|
// These devices support external CI
|
||||||
if (strstr(*descriptionM, "OctopusNet") || // Digital Devices OctopusNet
|
if (strstr(*descriptionM, "OctopusNet") || // Digital Devices OctopusNet
|
||||||
|
1
server.h
1
server.h
@ -81,6 +81,7 @@ public:
|
|||||||
eSatipQuirkRtpOverTcp = 0x08,
|
eSatipQuirkRtpOverTcp = 0x08,
|
||||||
eSatipQuirkCiXpmt = 0x10,
|
eSatipQuirkCiXpmt = 0x10,
|
||||||
eSatipQuirkCiTnr = 0x20,
|
eSatipQuirkCiTnr = 0x20,
|
||||||
|
eSatipQuirkForcePilot = 0x40,
|
||||||
eSatipQuirkMask = 0xFF
|
eSatipQuirkMask = 0xFF
|
||||||
};
|
};
|
||||||
cSatipServer(const char *addressP, const int portP, const char *modelP, const char *filtersP, const char *descriptionP, const int quirkP);
|
cSatipServer(const char *addressP, const int portP, const char *modelP, const char *filtersP, const char *descriptionP, const int quirkP);
|
||||||
|
3
tuner.c
3
tuner.c
@ -393,6 +393,9 @@ bool cSatipTuner::SetSource(cSatipServer *serverP, const int transponderP, const
|
|||||||
streamAddrM = rtspM.RtspUnescapeString(*nextServerM.GetAddress());
|
streamAddrM = rtspM.RtspUnescapeString(*nextServerM.GetAddress());
|
||||||
streamParamM = rtspM.RtspUnescapeString(parameterP);
|
streamParamM = rtspM.RtspUnescapeString(parameterP);
|
||||||
streamPortM = nextServerM.GetPort();
|
streamPortM = nextServerM.GetPort();
|
||||||
|
// Modify parameter if required
|
||||||
|
if (nextServerM.IsQuirk(cSatipServer::eSatipQuirkForcePilot) && strstr(parameterP, "msys=dvbs2") && !strstr(parameterP, "plts="))
|
||||||
|
streamParamM = rtspM.RtspUnescapeString(*cString::sprintf("%s&plts=on", parameterP));
|
||||||
// Reconnect
|
// Reconnect
|
||||||
RequestState(tsSet, smExternal);
|
RequestState(tsSet, smExternal);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user