if (!gst_ass_render_negotiate (render, NULL)) {
gst_pad_mark_reconfigure (render->srcpad);
if (GST_PAD_IS_FLUSHING (render->srcpad))
- goto flushing;
+ goto flushing_no_unlock;
else
goto not_negotiated;
}
}
not_negotiated:
{
- GST_ASS_RENDER_UNLOCK (render);
GST_DEBUG_OBJECT (render, "not negotiated");
gst_buffer_unref (buffer);
return GST_FLOW_NOT_NEGOTIATED;
flushing:
{
GST_ASS_RENDER_UNLOCK (render);
+ }
+flushing_no_unlock:
+ {
GST_DEBUG_OBJECT (render, "flushing, discarding buffer");
gst_buffer_unref (buffer);
return GST_FLOW_FLUSHING;