mirror of
				https://github.com/rofafor/vdr-plugin-satip.git
				synced 2023-10-10 11:37:42 +00:00 
			
		
		
		
	Add a new ForcePilot quirk.
This commit is contained in:
		
							
								
								
									
										2
									
								
								device.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								device.c
									
									
									
									
									
								
							@@ -140,7 +140,7 @@ cString cSatipDevice::GetGeneralInformation(void)
 | 
			
		||||
#if defined(APIVERSNUM) && APIVERSNUM >= 20301
 | 
			
		||||
  LOCK_CHANNELS_READ;
 | 
			
		||||
#endif
 | 
			
		||||
  return cString::sprintf("SAT>IP device: %d\nCardIndex: %d\nStream: %s\nSignal: %s\nStream bitrate: %s\n%sChannel: %s",
 | 
			
		||||
  return cString::sprintf("SAT>IP device: %d\nCardIndex: %d\nStream: %s\nSignal: %s\nStream bitrate: %s\n%sChannel: %s\n",
 | 
			
		||||
                          deviceIndexM, CardIndex(),
 | 
			
		||||
                          pTunerM ? *pTunerM->GetInformation() : "",
 | 
			
		||||
                          pTunerM ? *pTunerM->GetSignalStatus() : "",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								server.c
									
									
									
									
									
								
							@@ -147,6 +147,13 @@ cSatipServer::cSatipServer(const char *addressP, const int portP, const char *mo
 | 
			
		||||
     if (strstr(*descriptionM, "DVBViewer")             // DVBViewer Media Server
 | 
			
		||||
        )
 | 
			
		||||
        quirkM |= eSatipQuirkCiTnr;
 | 
			
		||||
     // These devices don't support auto-detection of pilot tones
 | 
			
		||||
     if (strstr(*descriptionM, "GSSBOX") ||             // Grundig Sat Systems GSS.box DSI 400
 | 
			
		||||
         strstr(*descriptionM, "DIGIBIT") ||            // Telestar Digibit R1
 | 
			
		||||
         strstr(*descriptionM, "Triax SatIP Converter") // Triax TSS 400
 | 
			
		||||
                                                        // Kathrein ExIP 414/E
 | 
			
		||||
        )
 | 
			
		||||
        quirkM |= eSatipQuirkForcePilot;
 | 
			
		||||
     }
 | 
			
		||||
  if ((quirkM & eSatipQuirkMask) & eSatipQuirkSessionId)
 | 
			
		||||
     quirksM = cString::sprintf("%s%sSessionId", *quirksM, isempty(*quirksM) ? "" : ",");
 | 
			
		||||
@@ -160,6 +167,8 @@ cSatipServer::cSatipServer(const char *addressP, const int portP, const char *mo
 | 
			
		||||
     quirksM = cString::sprintf("%s%sCiXpmt", *quirksM, isempty(*quirksM) ? "" : ",");
 | 
			
		||||
  if ((quirkM & eSatipQuirkMask) & eSatipQuirkCiTnr)
 | 
			
		||||
     quirksM = cString::sprintf("%s%sCiTnr", *quirksM, isempty(*quirksM) ? "" : ",");
 | 
			
		||||
  if ((quirkM & eSatipQuirkMask) & eSatipQuirkForcePilot)
 | 
			
		||||
     quirksM = cString::sprintf("%s%sForcePilot", *quirksM, isempty(*quirksM) ? "" : ",");
 | 
			
		||||
  debug3("%s description=%s quirks=%s", __PRETTY_FUNCTION__, *descriptionM, *quirksM);
 | 
			
		||||
  // These devices support external CI
 | 
			
		||||
  if (strstr(*descriptionM, "OctopusNet") ||            // Digital Devices OctopusNet
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								server.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								server.h
									
									
									
									
									
								
							@@ -81,6 +81,7 @@ public:
 | 
			
		||||
    eSatipQuirkRtpOverTcp = 0x08,
 | 
			
		||||
    eSatipQuirkCiXpmt     = 0x10,
 | 
			
		||||
    eSatipQuirkCiTnr      = 0x20,
 | 
			
		||||
    eSatipQuirkForcePilot = 0x40,
 | 
			
		||||
    eSatipQuirkMask       = 0xFF
 | 
			
		||||
  };
 | 
			
		||||
  cSatipServer(const char *addressP, const int portP, const char *modelP, const char *filtersP, const char *descriptionP, const int quirkP);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								tuner.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tuner.c
									
									
									
									
									
								
							@@ -393,6 +393,9 @@ bool cSatipTuner::SetSource(cSatipServer *serverP, const int transponderP, const
 | 
			
		||||
        streamAddrM = rtspM.RtspUnescapeString(*nextServerM.GetAddress());
 | 
			
		||||
        streamParamM = rtspM.RtspUnescapeString(parameterP);
 | 
			
		||||
        streamPortM = nextServerM.GetPort();
 | 
			
		||||
        // Modify parameter if required
 | 
			
		||||
        if (nextServerM.IsQuirk(cSatipServer::eSatipQuirkForcePilot) && strstr(parameterP, "msys=dvbs2") && !strstr(parameterP, "plts="))
 | 
			
		||||
           streamParamM = rtspM.RtspUnescapeString(*cString::sprintf("%s&plts=on", parameterP));
 | 
			
		||||
        // Reconnect
 | 
			
		||||
        RequestState(tsSet, smExternal);
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user