Code: Select all
main generic debug: looking for opengl module matching "vgl": 2 candidates
main generic debug: using opengl module "vgl"
main generic debug: no vout display modules matched
main video output error: video output creation failed
Code: Select all
main generic debug: looking for opengl module matching "vgl": 2 candidates
main generic debug: using opengl module "vgl"
main generic debug: no vout display modules matched
main video output error: video output creation failed
Still in development.Is this feature ready or still in development?
Maybe different platforms? It seems doubleaa93 uses Windows.Honestly I don't really do anything special. My test app is basically the bare minimum OpenGL demo app and the new video callbacks, that's it. The video callback code is deeply integrated into my Java library so I can't really post a useful isolated code fragment, sorry.
Ah!Maybe different platforms? It seems doubleaa93 uses Windows.Honestly I don't really do anything special. My test app is basically the bare minimum OpenGL demo app and the new video callbacks, that's it. The video callback code is deeply integrated into my Java library so I can't really post a useful isolated code fragment, sorry.
If you're asking me, then "yes"!BTW Any success with LWJGL ?
Code: Select all
// LibVLC call to initialise the callbacks, parameters 3-8 are function pointers to the callback implementations.
libvlc_video_set_output_callbacks(mediaPlayer, libvlc_video_engine_opengl, setup, cleanup, updateOutput, swap, makeCurrent, getProcAddress, null);
// I render video directly to a Window
glWindow = glfwCreateWindow(800, 600, "OpenGL callback rendering", NULL, NULL);
// These are the callback implementations that invoke LWJGL in my case (or some other OGL library):
boolean setup(void* opaque) {
return true;
}
void cleanup(void* opaque) {
}
long onGetProcAddress(void* opaque, String functionName) {
return glfwGetProcAddress(functionName);
}
boolean onMakeCurrent(void* opaque, boolean enter) {
glfwMakeContextCurrent(glWindow);
}
void onSwap(void* opaque) {
glfwSwapBuffers(glWindow);
}
void onUpdateOutput(void* opaque, int width, int height) {
glfwSetWindowSize(glWindow, width, height);
glfwSetWindowAspectRatio(glWindow, width, height);
}
Setting vmem callbacks don't break hardware decoding, but you might have copy from GPU memory to RAM.- seeting callbacks will disable hw accell decoding, do you agree ?
- using GL callbacks change nothing to hw accel decoding as long as the interop is available, which is the case for almost everything (except computer like raspberry maybe).- using GL callbacks will also disable hw accell decoding, right ?
Color conversion and copy is something that happens inside libVLC after you set the video format callback (hw decoding gone away).but you might have copy from GPU memory to RAM.
Return to “Development around libVLC”
Users browsing this forum: No registered users and 23 guests