Its a two parter
Part one, obtain gstreamer-window-id, then setparent for gstreamer-window-id to your-tk-wx-window-id, Perl/Tk front-end to mplayer shows one way, another is wxWindow::GetHandle +
my $player = Win32::GuiTest::FindWindowLike...
my $SetParent = Win32::API::->new("user32","SetParent","NN","N")
$SetParent->( $player, $frame->GetHandle )
There are equivalent api calls for linux , its probably easier in C-code
Part two is event loop interaction. You create your own MainLoop which is
while(1){
$glib->DoOneEvent;
$wxapp->Dispatch;
}
POE::..LOOP.. might help with this, at least for finding the equivalent of DoOneEvent :)
Alternate loop strategy, each event loop is run in separate thread (require Wx; ...) as normal (MainLoop)
Alternate approach, start working on wxGStreamer , based on GStreamer .... fixing the problems with wxMediaCtrl is probably less work :) |