1
0
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:
Rolf Ahrenberg 2014-05-17 21:41:55 +03:00
parent 5e2770a0e5
commit fb9c1c6a44
10 changed files with 39 additions and 18 deletions

View File

@ -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.

View File

@ -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);

View File

@ -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 {

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 {

View File

@ -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);

View File

@ -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;