{
GstWlDisplay *self = data;
GstPollFD pollfd = GST_POLL_FD_INIT;
+ char str_error[255] = {0, };
FUNCTION;
pollfd.fd = wl_display_get_fd (self->display);
goto error;
} else {
GST_INFO ("wl_display_read_events (display@%p)", self->display);
- wl_display_read_events (self->display);
+ if (wl_display_read_events (self->display) < 0)
+ GST_ERROR ("wl_display_read_events failed : %s", strerror_r (errno, str_error, sizeof(str_error)));
GST_INFO ("wl_display_dispatch_queue_pending (display@%p, queue@%p)",
self->display, self->queue);
wl_display_dispatch_queue_pending (self->display, self->queue);
gpointer wlbuffer)
{
FUNCTION;
- g_assert (!self->shutting_down);
GST_TRACE_OBJECT (self, "registering GstWlBuffer %p to GstMem %p",
wlbuffer, gstmem);
g_mutex_lock (&self->buffers_mutex);
- g_hash_table_replace (self->buffers, gstmem, wlbuffer);
+ if (G_LIKELY (!self->shutting_down))
+ g_hash_table_replace (self->buffers, gstmem, wlbuffer);
g_mutex_unlock (&self->buffers_mutex);
}