Heavyweight windows and libvlc


#1

I was experimenting with libvlc, and i got some results. I can render VLC video onto a JUCE component as long as it is on desktop (vlc needs the HWND handle to a window). That means i need to struggle with alwaysOnTop() stuff when managing such a window and so on. I was wondering if it’s possible to get a HWND handle to a child component of another JUCE component (i guess this would mean putting it on the desktop too). I was just wondering if it would be possible at all i know you do some similar stuff with the DirectShow and OpenGL components.


#2

The GL and ActiveX comps embed a new HWND in the parent, and use that pointer. You could certainly use the same trick, but would have to write it yourself (actually not too hard to do).


#3

Could you just point me to the source file in JUCE witch does that, i was looking through and didn’t really find it, but just point me to a file and i’ll look harder :slight_smile:


#4

Actually, neither of those are a very good example - try having a look inside the DirectShowComponent code instead.


#5

Got it, it works now without all the hiding and making the vlc window always on top, just a nice child component. This will complete my “in-car-porn-player” project with a “nice-touch-interface”.

I was wondering about DirectX components can we apply AffineTransforms on them ? will it work? (like rotation or zoom).


#6

Sorry, not much chance of that, I’m afraid!


#7

though so, not a problem i was just curious.