mirror of
				https://github.com/rofafor/vdr-plugin-satip.git
				synced 2023-10-10 11:37:42 +00:00 
			
		
		
		
	Added a compile-time option to split any mixed model server into several single ones.
This commit is contained in:
		
							
								
								
									
										10
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								Makefile
									
									
									
									
									
								
							| @@ -14,6 +14,10 @@ | ||||
|  | ||||
| #SATIP_XCI = 1 | ||||
|  | ||||
| # Split any mixed model server into several single ones | ||||
|  | ||||
| #SATIP_USE_SINGLE_MODEL_SERVERS_ONLY = 1 | ||||
|  | ||||
| # Strip debug symbols?  Set eg. to /bin/true if not | ||||
|  | ||||
| STRIP = strip | ||||
| @@ -91,6 +95,12 @@ DEFINES += -DXCI | ||||
| endif | ||||
| endif | ||||
|  | ||||
| ifdef SATIP_USE_SINGLE_MODEL_SERVERS_ONLY | ||||
| ifeq ($(SATIP_USE_SINGLE_MODEL_SERVERS_ONLY),1) | ||||
| DEFINES += -DUSE_SINGLE_MODEL_SERVERS_ONLY | ||||
| endif | ||||
| endif | ||||
|  | ||||
| ifneq ($(strip $(GITTAG)),) | ||||
| DEFINES += -DGITVERSION='"-GIT-$(GITTAG)"' | ||||
| endif | ||||
|   | ||||
							
								
								
									
										18
									
								
								discover.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								discover.c
									
									
									
									
									
								
							| @@ -233,6 +233,23 @@ void cSatipDiscover::AddServer(const char *addrP, const char *modelP, const char | ||||
| { | ||||
|   debug1("%s (%s, %s, %s)", __PRETTY_FUNCTION__, addrP, modelP, descP); | ||||
|   cMutexLock MutexLock(&mutexM); | ||||
| #ifdef USE_SINGLE_MODEL_SERVERS_ONLY | ||||
|   int n = 0; | ||||
|   char *s, *p = (char *)modelP; | ||||
|   char *r = strtok_r(p, ",", &s); | ||||
|   while (r) { | ||||
|         r = skipspace(r); | ||||
|         cString desc = cString::sprintf("%s #%d", descP, n++); | ||||
|         cSatipServer *tmp = new cSatipServer(addrP, r, desc); | ||||
|         if (!serversM.Update(tmp)) { | ||||
|            info("Adding server '%s|%s|%s'",  tmp->Address(), tmp->Model(), tmp->Description()); | ||||
|            serversM.Add(tmp); | ||||
|            } | ||||
|         else | ||||
|            DELETENULL(tmp); | ||||
|         r = strtok_r(NULL, ",\n", &s); | ||||
|         } | ||||
| #else | ||||
|   cSatipServer *tmp = new cSatipServer(addrP, modelP, descP); | ||||
|   // Validate against existing servers | ||||
|   if (!serversM.Update(tmp)) { | ||||
| @@ -241,6 +258,7 @@ void cSatipDiscover::AddServer(const char *addrP, const char *modelP, const char | ||||
|      } | ||||
|   else | ||||
|      DELETENULL(tmp); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| int cSatipDiscover::GetServerCount(void) | ||||
|   | ||||
							
								
								
									
										8
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								server.c
									
									
									
									
									
								
							| @@ -99,7 +99,13 @@ cSatipServer::~cSatipServer() | ||||
| int cSatipServer::Compare(const cListObject &listObjectP) const | ||||
| { | ||||
|   const cSatipServer *s = (const cSatipServer *)&listObjectP; | ||||
|   return strcasecmp(*addressM, *s->addressM); | ||||
|   int result = strcasecmp(*addressM, *s->addressM); | ||||
|   if (!result) { | ||||
|      result = strcasecmp(*modelM, *s->modelM); | ||||
|      if (!result) | ||||
|         result = strcasecmp(*descriptionM, *s->descriptionM); | ||||
|      } | ||||
|   return result; | ||||
| } | ||||
|  | ||||
| void cSatipServer::Use(bool onOffP) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user