Hi,
I ran into a strange issue with MovieGl playback in linux. My application is playing lots of videos and from time to time the movie player fails and after that it is not possible to play any more movies until restart. I haven’t been able to locate the problem so far. I’m not sure if it is a Cinder or GStreamer bug, maybe it is my fault.
The following message is displayed in the console when this happens:
** (App:20027): CRITICAL **: 14:18:44.785: gst_gl_display_get_gl_api: assertion 'GST_IS_GL_DISPLAY (display)' failed
** (App:20027): CRITICAL **: 14:18:44.785: gst_gl_context_new_wrapped: assertion '(display_api & available_apis) != GST_GL_API_NONE' failed
(App:20027): GLib-GObject-CRITICAL **: 14:18:44.785: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
|info | bool gst::video::GstPlayer::setPipelineState(GstState)[1011] Pipeline state about to change from : NULL to : READY
|info | bool gst::video::GstPlayer::checkStateChange(GstStateChangeReturn)[1029] Pipeline state changed SUCCESSFULLY from : NULL to : READY
|info | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[261] Pipeline state changed from : NULL to : READY with pending : VOID_PENDING
|info | GstBusSyncReply gst::video::checkBusMessagesSync(GstBus*, GstMessage*, gpointer)[146] Need context : gst.gl.GLDisplay from element : convert
(App:20027): GStreamer-CRITICAL **: 14:18:44.786: invalid unclassed object pointer for value type 'GstGLDisplay'
|info | GstBusSyncReply gst::video::checkBusMessagesSync(GstBus*, GstMessage*, gpointer)[146] Need context : gst.x11.display.handle from element : convert
|info | GstBusSyncReply gst::video::checkBusMessagesSync(GstBus*, GstMessage*, gpointer)[146] Need context : GstWaylandDisplayHandleContextType from element : convert
|info | GstBusSyncReply gst::video::checkBusMessagesSync(GstBus*, GstMessage*, gpointer)[146] Need context : gst.gl.app_context from element : convert
** (App:20027): CRITICAL **: 14:18:44.787: gst_gl_context_get_display: assertion 'GST_IS_GL_CONTEXT (context)' failed
|info | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[212] Have context : gst.gl.GLDisplay from element : convert
** (App:20027): CRITICAL **: 14:18:44.787: gst_gl_display_get_handle_type: assertion 'GST_IS_GL_DISPLAY (display)' failed
(App:20027): GStreamer-CRITICAL **: 14:18:44.787: gst_object_unref: assertion 'object != NULL' failed
(App:20027): GStreamer-CRITICAL **: 14:18:44.787: gst_object_unref: assertion 'object != NULL' failed
|info | GstBusSyncReply gst::video::checkBusMessagesSync(GstBus*, GstMessage*, gpointer)[146] Need context : gst.gl.app_context from element : upload
** (App:20027): CRITICAL **: 14:18:44.787: gst_gl_context_get_display: assertion 'GST_IS_GL_CONTEXT (context)' failed
** (App:20027): CRITICAL **: 14:18:44.787: gst_gl_display_get_handle_type: assertion 'GST_IS_GL_DISPLAY (display)' failed
Has anyone run into something like this before, maybe @petros? I would be grateful for any pointers how to address this. Thanks.
-Gabor