mirror of
https://github.com/rofafor/vdr-plugin-satip.git
synced 2023-10-10 13:37:42 +02:00
Added a session id quirk for Triax TSS 400.
This commit is contained in:
parent
5e2770a0e5
commit
fb9c1c6a44
5
HISTORY
5
HISTORY
@ -59,3 +59,8 @@ VDR Plugin 'satip' Revision History
|
|||||||
|
|
||||||
- Fixed model detection and OctopusNet DVB-C model quirks.
|
- Fixed model detection and OctopusNet DVB-C model quirks.
|
||||||
- Added a session id quirk for GSSBOX.
|
- Added a session id quirk for GSSBOX.
|
||||||
|
|
||||||
|
2014-05-18: Version 0.3.3
|
||||||
|
|
||||||
|
- Added a validity check for the session member.
|
||||||
|
- Added a session id quirk for Triax TSS 400.
|
||||||
|
9
common.c
9
common.c
@ -57,6 +57,15 @@ char *StripTags(char *strP)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *SkipZeroes(const char *strP)
|
||||||
|
{
|
||||||
|
if ((uchar)*strP != '0')
|
||||||
|
return (char *)strP;
|
||||||
|
while (*strP && (uchar)*strP == '0')
|
||||||
|
strP++;
|
||||||
|
return (char *)strP;
|
||||||
|
}
|
||||||
|
|
||||||
cString ChangeCase(const cString &strP, bool upperP)
|
cString ChangeCase(const cString &strP, bool upperP)
|
||||||
{
|
{
|
||||||
cString res(strP);
|
cString res(strP);
|
||||||
|
1
common.h
1
common.h
@ -93,6 +93,7 @@ uint16_t ts_pid(const uint8_t *bufP);
|
|||||||
uint8_t payload(const uint8_t *bufP);
|
uint8_t payload(const uint8_t *bufP);
|
||||||
const char *id_pid(const u_short pidP);
|
const char *id_pid(const u_short pidP);
|
||||||
char *StripTags(char *strP);
|
char *StripTags(char *strP);
|
||||||
|
char *SkipZeroes(const char *strP);
|
||||||
cString ChangeCase(const cString &strP, bool upperP);
|
cString ChangeCase(const cString &strP, bool upperP);
|
||||||
|
|
||||||
struct section_filter_table_type {
|
struct section_filter_table_type {
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.3.2\n"
|
"Project-Id-Version: vdr-satip 0.3.3\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-05-10 05:10+0200\n"
|
"POT-Creation-Date: 2014-05-18 05:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-05-10 05:10+0200\n"
|
"PO-Revision-Date: 2014-05-18 05:18+0200\n"
|
||||||
"Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n"
|
"Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n"
|
||||||
"Language-Team: Catalan <vdr@linuxtv.org>\n"
|
"Language-Team: Catalan <vdr@linuxtv.org>\n"
|
||||||
"Language: ca\n"
|
"Language: ca\n"
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.3.2\n"
|
"Project-Id-Version: vdr-satip 0.3.3\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-05-10 05:10+0200\n"
|
"POT-Creation-Date: 2014-05-18 05:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-05-10 05:10+0200\n"
|
"PO-Revision-Date: 2014-05-18 05:18+0200\n"
|
||||||
"Last-Translator: Frank Neumann <fnu@yavdr.org>\n"
|
"Last-Translator: Frank Neumann <fnu@yavdr.org>\n"
|
||||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.3.2\n"
|
"Project-Id-Version: vdr-satip 0.3.3\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-05-10 05:10+0200\n"
|
"POT-Creation-Date: 2014-05-18 05:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-05-10 05:10+0200\n"
|
"PO-Revision-Date: 2014-05-18 05:18+0200\n"
|
||||||
"Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n"
|
"Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n"
|
||||||
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-satip 0.3.2\n"
|
"Project-Id-Version: vdr-satip 0.3.3\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-05-10 05:10+0200\n"
|
"POT-Creation-Date: 2014-05-18 05:18+0200\n"
|
||||||
"PO-Revision-Date: 2014-05-10 05:10+0200\n"
|
"PO-Revision-Date: 2014-05-18 05:18+0200\n"
|
||||||
"Last-Translator: Rolf Ahrenberg\n"
|
"Last-Translator: Rolf Ahrenberg\n"
|
||||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
|
2
satip.c
2
satip.c
@ -25,7 +25,7 @@
|
|||||||
#define GITVERSION ""
|
#define GITVERSION ""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char VERSION[] = "0.3.2" GITVERSION;
|
const char VERSION[] = "0.3.3" GITVERSION;
|
||||||
static const char DESCRIPTION[] = trNOOP("SAT>IP Devices");
|
static const char DESCRIPTION[] = trNOOP("SAT>IP Devices");
|
||||||
|
|
||||||
class cPluginSatip : public cPlugin {
|
class cPluginSatip : public cPlugin {
|
||||||
|
14
server.c
14
server.c
@ -25,8 +25,14 @@ cSatipServer::cSatipServer(const char *addressP, const char *descriptionP, const
|
|||||||
memset(modelCountM, 0, sizeof(modelCountM));
|
memset(modelCountM, 0, sizeof(modelCountM));
|
||||||
if (isempty(*modelM))
|
if (isempty(*modelM))
|
||||||
modelM = "DVBS-1";
|
modelM = "DVBS-1";
|
||||||
// Grundig Sat Systems GSS.box DSI 400 has a session id bug
|
// These devices contain a session id bug:
|
||||||
if (strstr(*descriptionM, "GSSBOX"))
|
// Inverto Airscreen Server IDL 400 ?
|
||||||
|
// Telestar Digibit R1 ?
|
||||||
|
// Elgato EyeTV Netstream 4Sat ?
|
||||||
|
if (!isempty(*descriptionM) &&
|
||||||
|
(strstr(*descriptionM, "GSSBOX") || // Grundig Sat Systems GSS.box DSI 400
|
||||||
|
strstr(*descriptionM, "Triax SatIP Converter") // Triax TSS 400
|
||||||
|
))
|
||||||
quirkM |= eSatipQuirkSessionId;
|
quirkM |= eSatipQuirkSessionId;
|
||||||
char *s, *p = strdup(*modelM);
|
char *s, *p = strdup(*modelM);
|
||||||
char *r = strtok_r(p, ",", &s);
|
char *r = strtok_r(p, ",", &s);
|
||||||
@ -45,7 +51,7 @@ cSatipServer::cSatipServer(const char *addressP, const char *descriptionP, const
|
|||||||
else
|
else
|
||||||
modelCountM[eSatipModuleDVBT2] = 1;
|
modelCountM[eSatipModuleDVBT2] = 1;
|
||||||
// Add model quirks here
|
// Add model quirks here
|
||||||
if (strstr(*descriptionM, "OctopusNet"))
|
if (!isempty(*descriptionM) && strstr(*descriptionM, "OctopusNet"))
|
||||||
modelTypeM |= cSatipServer::eSatipModelTypeDVBC;
|
modelTypeM |= cSatipServer::eSatipModelTypeDVBC;
|
||||||
}
|
}
|
||||||
if (strstr(r, "DVBT")) {
|
if (strstr(r, "DVBT")) {
|
||||||
@ -55,7 +61,7 @@ cSatipServer::cSatipServer(const char *addressP, const char *descriptionP, const
|
|||||||
else
|
else
|
||||||
modelCountM[eSatipModuleDVBT] = 1;
|
modelCountM[eSatipModuleDVBT] = 1;
|
||||||
// Add model quirks here
|
// Add model quirks here
|
||||||
if (strstr(*descriptionM, "OctopusNet"))
|
if (!isempty(*descriptionM) && strstr(*descriptionM, "OctopusNet"))
|
||||||
modelTypeM |= cSatipServer::eSatipModelTypeDVBC;
|
modelTypeM |= cSatipServer::eSatipModelTypeDVBC;
|
||||||
}
|
}
|
||||||
r = strtok_r(NULL, ",", &s);
|
r = strtok_r(NULL, ",", &s);
|
||||||
|
2
tuner.c
2
tuner.c
@ -242,7 +242,7 @@ bool cSatipTuner::Connect(void)
|
|||||||
SATIP_CURL_EASY_SETOPT(handleM, CURLOPT_WRITEHEADER, NULL);
|
SATIP_CURL_EASY_SETOPT(handleM, CURLOPT_WRITEHEADER, NULL);
|
||||||
if (nextServerM && nextServerM->Quirk(cSatipServer::eSatipQuirkSessionId) && !isempty(*sessionM) && startswith(*sessionM, "0")) {
|
if (nextServerM && nextServerM->Quirk(cSatipServer::eSatipQuirkSessionId) && !isempty(*sessionM) && startswith(*sessionM, "0")) {
|
||||||
debug("cSatipTuner::%s(): session id quirk [device %d]", __FUNCTION__, deviceM->GetId());
|
debug("cSatipTuner::%s(): session id quirk [device %d]", __FUNCTION__, deviceM->GetId());
|
||||||
SATIP_CURL_EASY_SETOPT(handleM, CURLOPT_RTSP_SESSION_ID, *sessionM + 1);
|
SATIP_CURL_EASY_SETOPT(handleM, CURLOPT_RTSP_SESSION_ID, SkipZeroes(*sessionM));
|
||||||
}
|
}
|
||||||
if (!ValidateLatestResponse())
|
if (!ValidateLatestResponse())
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user