External Module Drivers


Long time user of SDL 1.2 and subsequently 2.0. I have recently been intrigued by the idea of connecting the audio and video interfaces to a streaming server, so that every frame and audio buffer generated can be encoded into an MPEG transport stream and shot across the interwebs, or your home/office if preferred.

Interested in remote input as well, but need to do some tests to find an appropriate standard.

As this idea is quite complex, I decided to start by creating a new video driver in the SDL 2.0 codebase based on dummy. It tries to load a separate DLL/SO and import the seven functions that the dummy driver implements. This means that I can compile SDL once and then rebuild the video interface independently of this large codebase.

I plan on doing this also with audio and eventually input.

Is there any interest in adding this “module” driver to SDL itself?

Could be useful for others, but perhaps trying to isolate these interfaces from the core is a bad idea. I’ve already had to adjust how I call VideoInit so that internal API calls concerning the “display” are still made inside of SDL, rather than transfer function pointers at runtime, which is a bit hackish. :blush:

Is this like a remote gaming plataform?

My general plan is that, yes.
So instead of running an SDL application on your PC and using it directly, you could stream to a Smart TV.
The most compatible interface that I can find is DLNA, so the smart device would see it as a “shared video” that is actually streaming from the PC.
The input is much harder as smart devices don’t support any remote input protocols out of the box.

I really would like to see more of this…

RaspberryPi to the rescue.