]> git.vomp.tv Git - vompclient.git/commitdiff
Versionscheck fuer subtitles
authorMarten Richter <marten.richter@freenet.de>
Fri, 31 Oct 2014 07:15:00 +0000 (08:15 +0100)
committerMarten Richter <marten.richter@freenet.de>
Fri, 31 Oct 2014 07:15:00 +0000 (08:15 +0100)
vdr.cc

diff --git a/vdr.cc b/vdr.cc
index fd5cdd5ea84a1465bb62bfe9ed149740e0a84cf4..ee19f82934e4f55d126884b3a16644d8e236e77a 100644 (file)
--- a/vdr.cc
+++ b/vdr.cc
@@ -661,16 +661,18 @@ int VDR::doLogin(unsigned int* v_server_min, unsigned int* v_server_max, unsigne
   *v_server_max=version_max;
   *v_client=VOMP_PROTOCOLL_VERSION;
 
-  unsigned int numlangcodes = vresp->extractULONG();
-  subtitles = vresp->extractULONG();
-  list.clear();
-  for (int i=0; i<numlangcodes; i++) {
-         ASLPref newpref;
-         newpref.audiopref = vresp->extractLONG();
-         newpref.subtitlepref = vresp->extractLONG();
-         newpref.langcode = vresp->extractStdString();
-         //logger->log("VDR", Log::DEBUG, "Langpref %s %d %d", newpref.langcode.c_str(),  newpref.audiopref,  newpref.subtitlepref);
-         list.push_back(newpref);
+  if (0x00000302 <= version_max) {
+         unsigned int numlangcodes = vresp->extractULONG();
+         subtitles = vresp->extractULONG();
+         list.clear();
+         for (int i=0; i<numlangcodes; i++) {
+                 ASLPref newpref;
+                 newpref.audiopref = vresp->extractLONG();
+                 newpref.subtitlepref = vresp->extractLONG();
+                 newpref.langcode = vresp->extractStdString();
+                 //logger->log("VDR", Log::DEBUG, "Langpref %s %d %d", newpref.langcode.c_str(),  newpref.audiopref,  newpref.subtitlepref);
+                 list.push_back(newpref);
+         }
   }