I have a SDL_surface
that plays a video in its own window. I want this window to be rendered on a QWidget
. I want a generic solution because my targets are OSX, Windows and Linux.
I've come across 2 solutions summarized as below:
The Window ID hack involves setting
SDL_WINDOWID
to the QWidget's id so SDL pushes pixels on the QWidget. Here is an Example Qt snippet from a related thread.However, this doesn't work on OS X and is not guaranteed to work on all Win and Linux platforms.
Manually copying from non-window SDL_surface to QWidget.
Found some example code for Gtk+ but nothing for Qt so far. The idea is to push the video to memory and pull it from QWidget. Surely one shouldn't use a QImage to render each frame. So how would one implement this copying?
There are possible duplicate questions but my question is more specific about platform-independence