Man könnte ihn sicher noch abmagern. Light ist er im Vergleich zum alten Patch, der das S2API mit Mitteln des alten DVBAPI nachbaut. Das ist zum Glück beerdigt.
Alles was in der s2apiwrapper.h noch drin steckt, ergänzt nur die Definitionen, die in der frontend.h seit API 5.0 dazu gekommen sind, schön Version für Version, damit nichts doppelt deklariert wird. Ich hab sicherheitshalber einfach mal alle Änderungen gesammelt, falls irgendwann mal was davon nötig wird. (Ich hab auch eine komplette Sammlung aller frontend.h's, wer Interesse hat.)
VDR braucht nur eine Handvoll davon, ohne Anspruch auf Vollständigkeit glaube ich FE_CAN_TURBO_FEC, DTV_DVBT2_PLP_ID, DTV_STREAM_ID, FE_CAN_MULTISTREAM. Bleibt es bei der Einschränkung auf API >= 5.3, ist die gesamte s2apiwrapper.h überflüssig, da VDR ja auch alles mitbringt. Das würde den Patch wohl auf die ersten 130 Zeilen eindampfen.
Der Rest ist die Runtime-API-Versionsabfrage, und die paar Codeweichen. Bei den Delivery Systems gönne ich mir noch das Fallback-Verhalten von plain VDR bei API >= 5.5, wahrscheinlich würde hier aber auch eine einfache Codeweiche (DTV_ENUM_DELSYS ab >= 5.5, Legacy Mode bei < 5.5) genügen.
Etwas unaufgeräumt ist auch, dass jedes Device das DVB-API ermittelt und speichert, ein mal zentral würde auch genügen. War halt so einfacher zu patchen.
Gruß,
Udo