charonn0 / RB-libvlc

A Realbasic and Xojo binding to libvlc
http://www.boredomsoft.org/rb-libvlc.bs
BSD 3-Clause "New" or "Revised" License
12 stars 4 forks source link

Media Plays in Aeperate Window Instead of Within Application #5

Open 1ubuntuuser opened 1 year ago

1ubuntuuser commented 1 year ago

System: Debian 11 KDE 64-bit (X Display) VLC: 3.0.18 When playing a video using the example app the video plays in a new window. The new window is sized to the media and has the VLC logo in the header and launcher.

Setting the EmbedWithin to Window instead of RectControl made no change.

1ubuntuuser commented 1 year ago

m.Player.Embededwithin matches the Handle of VLCMediaPlayer

1ubuntuuser commented 1 year ago

image Using the GTK inspector on a simple app with the player apparently embedded doesn't show that Canvas has any children, should it have?

1ubuntuuser commented 1 year ago

The libVLC discord group has been helpful. Here are some logs:

[00007f3958080150] xcb_window window error: bad X11 window 0x014b80f0 ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f3960001710] egl_x11 gl error: Xlib not initialized for threads ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f3960001710] glx gl error: Xlib not initialized for threads ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f3960001710] egl_x11 gl error: Xlib not initialized for threads ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f3960001710] glx gl error: Xlib not initialized for threads ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f3960001710] egl_x11 gl error: Xlib not initialized for threads ../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads. This process is probably using LibVLC incorrectly. Pass "--no-xlib" to libvlc_new() to fix this. [00007f39580668b0] vdpau_avcodec generic error: Xlib not initialized for threads

1ubuntuuser commented 1 year ago

I added XInitThreads() call. Now I get the following: [00007fe4ec004550] glconv_vaapi_x11 gl error: vaDeriveImage: operation failed [00007fe4f8047cc0] main video output error: video output creation failed [00007fe508031ec0] main decoder error: failed to create video output [00007fe4f80bf9c0] xcb_window window error: bad X11 window 0x01f5e0f0 [00007fe4ec960c80] gl gl: Initialized libplacebo v2.72.0 (API v72) [00007fe508031ec0] avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding

charonn0 commented 1 year ago

I'm sorry for not responding to this sooner. I didn't see the notification.

Pass "--no-xlib" to libvlc_new() to fix this.

This solution is problematic. I've never been able to successfully pass any arguments into libvlc_new(). I can't seem to figure out how to pass a C-style vector of strings like it expects.

https://github.com/charonn0/RB-libvlc/blob/master/libvlc/VLCInstance.rbbas#L57