I built the a.m. tutorial (under Ubuntu if that matters). Running it, I encountered a block of the film while executing gst_element_seek_simple(…). I found out that this is because of the GST_SEEK_FLAG_FLUSH flag. Without it, the film plays smoothly.
I doubt that it is because of my PC HW. While it is not the newest, it has 64GByte RAM and an external Nvidia graphic card (GeForce RTX 3060 Lite Hash Rate).
I would be interested if others have encountered the same problem.
…also some issue in basic-tutorial 5 GUI development integration (not sure where to write this): The program crashes with this message:
gst_video_center_rect: assertion ‘src->h != 0’ failed
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
Fix:
#include <X11/Xlib.h>
…
// The first command in main after the variable declarations:
// Initialize Xlib for multi-threading
if (!XInitThreads()) {
g_printerr(“Failed to initialize Xlib for multi-threading\n”);
return -1;
}
Compile with:
gcc basic-tutorial-5.c -o basic-tutorial-5 pkg-config --cflags --libs gtk+-3.0 gstreamer-1.0 x11