SDL_surface
独自のウィンドウでビデオを再生するがあります。このウィンドウをにレンダリングしたいQWidget
。私のターゲットはOSX、Windows、Linuxであるため、一般的なソリューションが必要です。
私は以下のように要約された2つの解決策に出くわしました:
ウィンドウIDハック
SDL_WINDOWID
には、SDLがQWidgetのピクセルをプッシュするようにQWidgetのIDを設定することが含まれます。関連するスレッドのQtスニペットの例を次に示します。ただし、これはOS Xで機能するわけではなく、すべてのWinおよびLinuxプラットフォームで機能することが保証されているわけではありません。
ウィンドウ以外のSDL_surfaceからQWidgetに手動でコピーします。
Gtk +のサンプルコードがいくつか見つかりましたが、Qtのサンプルコードは今のところ見つかりません。アイデアは、ビデオをメモリにプッシュし、QWidgetからプルすることです。確かに、各フレームをレンダリングするためにQImageを使用するべきではありません。では、このコピーをどのように実装するのでしょうか。
重複する可能性のある質問がありますが、私の質問はプラットフォームに依存しないことについてより具体的です