]> git.vomp.tv Git - vompserver.git/commitdiff
HDTV for Windows
authorChris Tallon <chris@vomp.tv>
Mon, 8 Feb 2010 15:12:32 +0000 (15:12 +0000)
committerChris Tallon <chris@vomp.tv>
Mon, 8 Feb 2010 15:12:32 +0000 (15:12 +0000)
responsepacket.c
responsepacket.h
vompclient.c
vompclientrrproc.c
vompserver.c

index 60bfa1aeb8d9f64b743c3328e0a273d635907cf3..2c4864f2b6b886fc94c390840f0890e7b8528ba2 100644 (file)
@@ -116,6 +116,17 @@ bool ResponsePacket::addULLONG(ULLONG ull)
   return true;
 }
 
+bool ResponsePacket::adddouble(double d)
+{
+  if (!checkExtend(sizeof(double))) return false;
+  ULLONG ull;
+  memcpy(&ull,&d,sizeof(double));
+  *(ULLONG*)&buffer[bufUsed] = htonll(ull);
+  bufUsed += sizeof(ULLONG);
+  return true;
+}
+
+
 bool ResponsePacket::checkExtend(ULONG by)
 {
   if ((bufUsed + by) < bufSize) return true;
index 7b8f25df534e575170f66a856a2c1578e5151b98..945d28b30dacff4298ae20e58582f41cbc582ab2 100644 (file)
@@ -37,6 +37,7 @@ class ResponsePacket
     bool addLONG(LONG l);
     bool addUCHAR(UCHAR c);
     bool addULLONG(ULLONG ull);
+    bool adddouble(double d);
 
     UCHAR* getPtr() { return buffer; }
     ULONG getLen() { return bufUsed; }
index fd8baf537c87171a8ceb2c24cb674bf06183d0a3..6562fe7c9944e9aae8c35eedb283f7773efdda45 100644 (file)
@@ -317,6 +317,7 @@ void VompClient::run2()
           fclose(netLogFile);
           netLogFile = NULL;
         }
+        fflush(NULL);
       }
     }    
     else
@@ -392,7 +393,7 @@ void VompClient::writeResumeData()
                           (char*)recplayer->getCurrentRecording()->FileName(),
                           recplayer->frameNumberFromPosition(recplayer->getLastPosition()) );*/
 
-  /* write to vdr resume file */
+  /* write to vdrdeveldevel resume file */
   int resume = recplayer->frameNumberFromPosition(recplayer->getLastPosition());
   char* ResumeIdC = config.getValueString("General", "ResumeId");
   int ResumeId;
index ce9cc115c27b292fc5c36c1c84cf305071bef74f..1476880d7b8016c11e97954193916ae1c781c7bc 100644 (file)
@@ -634,7 +634,7 @@ int VompClientRRProc::processDeleteRecording()
     {
       if (recording->Delete())
       {
-        // Copy svdrp's way of doing this, see if it works
+        // Copy svdrdeveldevelp's way of doing this, see if it works
 #if VDRVERSNUM > 10300
         ::Recordings.DelByName(recording->FileName());
 #endif
@@ -857,6 +857,11 @@ int VompClientRRProc::processGetChannelsList()
       resp->addULONG(channel->Number());
       resp->addULONG(type);      
       resp->addString(channel->Name());
+#if VDRVERSNUM < 10703
+      resp->addULONG(2);
+#else
+      resp->addULONG(channel->Vtype());
+#endif      
     }
   }
 
@@ -935,6 +940,11 @@ int VompClientRRProc::processGetChannelPids()
   // tpid
 
   resp->addULONG(channel->Vpid());
+#if VDRVERSNUM < 10703
+  resp->addULONG(2);
+#else
+  resp->addULONG(channel->Vtype());
+#endif
   resp->addULONG(numApids);
 
 #if VDRVERSNUM < 10300
@@ -1127,8 +1137,9 @@ int VompClientRRProc::processStartStreamingRecording()
 
     resp->addULLONG(x.recplayer->getLengthBytes());
     resp->addULONG(x.recplayer->getLengthFrames());
+    
 #if VDRVERSNUM < 10703
-    resp->addUCHAR(true);//added for TS
+    resp->addUCHAR(true);//added for TS    
 #else
     resp->addUCHAR(recording->IsPesRecording());//added for TS
 #endif
@@ -1572,7 +1583,7 @@ int VompClientRRProc::processGetRecInfo()
     string: language
     string: description
   }
-
+  8 bytes: frames per second
   */
 
   // Get current timer
@@ -1697,6 +1708,13 @@ int VompClientRRProc::processGetRecInfo()
   }
 
 #endif
+  double framespersec;
+#if VDRVERSNUM < 10703
+  framespersec = FRAMESPERSEC;
+#else
+  framespersec = Info->FramesPerSecond();
+#endif
+  resp->adddouble(framespersec);
 
   // Done. send it
 
index aa449b78ea2461ae823cb88cd874773246f9f5a4..31e2b6cf5f3a097cf35a852ddb7bf2fb178c7a6e 100644 (file)
@@ -68,14 +68,14 @@ bool cPluginVompserver::Start(void)
   
   if (!configDir)
   {
-    const char* vdrret = cPlugin::ConfigDirectory("vompserver");
-    if (!vdrret)
+    const char* vdrdeveldevelret = cPlugin::ConfigDirectory("vompserver");
+    if (!vdrdeveldevelret)
     {
       dsyslog("VOMP: Could not get config dir from VDR");
       return false;
     }
-    configDir = new char[strlen(vdrret)+1];
-    strcpy(configDir, vdrret);
+    configDir = new char[strlen(vdrdeveldevelret)+1];
+    strcpy(configDir, vdrdeveldevelret);
   }
   
   int success = mvpserver.run(configDir);
@@ -106,15 +106,15 @@ bool cPluginVompserver::ProcessArgs(int argc, char *argv[])
   {
     if (c == 'c')
     {
-      const char* vdrret = cPlugin::ConfigDirectory(optarg);
-      if (!vdrret)
+      const char* vdrdeveldevelret = cPlugin::ConfigDirectory(optarg);
+      if (!vdrdeveldevelret)
       {
         dsyslog("VOMP: Could not get config dir from VDR");
         return false;
       }
     
-      configDir = new char[strlen(vdrret)+1];
-      strcpy(configDir, vdrret);
+      configDir = new char[strlen(vdrdeveldevelret)+1];
+      strcpy(configDir, vdrdeveldevelret);
     }
     else
     {