I saw a crash with this once, in a long sequence of sharing from A to B
and then B to A testing screen sharing startup/teardown.
It looksl like a race condition when we change to the no_appsink_callbacks
but the callback is already in progress, and the cbdata gets set to NULL.
if (!sample)
return GST_FLOW_OK;
+ if (!screen)
+ return GST_FLOW_ERROR;
+
if (screen->state == CHIME_SCREEN_STATE_SENDING && screen->viewer_present) {
GstBuffer *buffer = gst_sample_get_buffer(sample);
gsize len = gst_buffer_get_size(buffer);