Nachdem ich mit dem SATIP-Plugin immer wieder mal einen schwarzen Bildschirm oder fehlgeschlagene Aufnahmen hatte, habe ich die Probleme in den letzten Monaten genauer analysiert. Das erste Problem ("Transfer-Mode kann nicht gestartet werden") war, dass die interne Zuordnung der Receiver im Plugin manchmal fehl schlägt, wenn das interne Attach() des Plugins einen anderen Receiver auswählt als Assign() vorgesehen hat, weil er auf die gleiche Frequenz getuned ist. Das tritt insbesondere bei EPG-Scans auf und den Patch hatte ich schon hier [URL:https://www.vdr-portal.de/forum/index.php?thread/131413-satip-und-transfer-mode/&postID=1348031#post1348031] gepostet. Auch das zweite Problem liefert ab und zu einen schwarzen Bildschirm. Ursache ist, dass offenbar ein Retune ausgelassen wird, obwohl die Streamparameter doch nicht "identical" sind und dann der VDR vergeblich auf die angefragten PIDs wartet. Vermutlich hat sich streamParamM schon geändert bevor es lastParamM zugewiesen wird. Workaround ist immer neu zu tunen, auch wenn die Streamparameter die gleichen sind. Nicht ganz optimal, aber funktioniert. Irritierend sind dann noch die vielen Meldung der Art "SDT: channel 529 NID/TID (1/1100) not found, got 1/1094". Das rührt daher, dass der Sectionfilter, der sich in gleichen Form auch im Kernel befindet, mehr als die angefragten NID/TID Kombinationen durchlässt. Abhilfe schafft der dritte Patch, der außerdem nur das erste Byte vergleicht anstatt für jedes Paket 18 Bytes, da VDR nur die PID bei der Abfrage mitgibt, die sich im ersten Byte befindet. Ganz weg bekommt man die Meldungen damit aber nicht, da offenbar nach einem Retune noch alte Pakete im Puffer des SATIP-Servers sind. VDR ignoriert zwar ab 2.6 die Pakete mit den falschen PIDs die ersten 100ms (FLUSHTIME), aber das SATIP-Plugin ändert die PIDs in UpdatePids() frühestens nach 250ms. Auch ein Anhängen von "pids=none" beim Retune des neuen Transponders brachte keine Abhilfe. Bis auf einen (offenbar falsch konfigurierten) Sender kommen die PIDs damit max. 2x 250ms = 500ms lang was tolerierbar ist. Damit habe ich bisher keinen Fehler mehr gehabt, aber evtl. sollte man es doch erst mal auf einem Testrechner ausprobieren, da die Patches sehr weit eingreifen ;)