The frames queue might return nothing (be empty) if we're flushing.
Move the assertion to after the flushing check
f = (CaptureFrame *) g_queue_pop_head (&self->current_frames);
g_mutex_unlock (&self->lock);
- g_assert (f != NULL);
-
if (self->flushing) {
- capture_frame_free (f);
+ if (f)
+ capture_frame_free (f);
GST_DEBUG_OBJECT (self, "Flushing");
return GST_FLOW_FLUSHING;
}
+ // If we're not flushing, we should have a valid frame from the queue
+ g_assert (f != NULL);
+
g_mutex_lock (&self->lock);
if (self->caps_mode != f->mode) {
if (self->mode == GST_DECKLINK_MODE_AUTO) {