Maybe more progress:
For Windows VLClib uses:
libvlc_media_player_set_hwnd
For Linux:
libvlc_media_player_set_xwindow
And ... there is a function which I believe might be for MacOS use:
libvlc_media_player_set_nsobject
Which appears defined in PasLibVlc as:
libvlc_media_player_set_nsobject_t = procedure(
p_mi: libvlc_media_player_t_ptr;
drawable: Pointer
); cdecl;
The first parameter appears "easy" as it's being used in the Windows and Linux approach as well.
The second parameter (the pointer) is a little bit more difficult. According to the
VLC documentations:
drawable: the drawable that is either an NSView or an object following the VLCOpenGLVideoViewEmbedding protocol.
NSView (I think) is Apple specific - I just don't know where to find it and/or how to use it.
I did find this sniplet in the PasLibVlc code:
(**
* Set the NSView handler where the media player should render its video output.
*
* Use the vout called "macosx".
*
* The drawable is an NSObject that follow the VLCOpenGLVideoViewEmbedding
* protocol:
*)
// \@protocol VLCOpenGLVideoViewEmbedding <NSObject>
// - (void)addVoutSubview:(NSView *)view;
// - (void)removeVoutSubview:(NSView *)view;
// \@end
(*
* Or it can be an NSView object.
*
* If you want to use it along with Qt4 see the QMacCocoaViewContainer. Then
* the following code should work:
* @begincode
* {
* NSView *video = [[NSView alloc] init];
* QMacCocoaViewContainer *container = new QMacCocoaViewContainer(video, parent);
* libvlc_media_player_set_nsobject(mp, video);
* [video release];
* }
* @endcode
*
* You can find a live example in VLCVideoView in VLCKit.framework.
*
* \param p_mi the Media Player
* \param drawable the drawable that is either an NSView or an object following
* the VLCOpenGLVideoViewEmbedding protocol.
*)
Any of the Mac experts know how to work with this? Help is very much appreciated.