We iterate the current discont group backwards and push each GOP forwards,
starting from the last one. However if the first buffer in the current
discont group is a keyframe, we will keep it around until next time,
which is far from ideal. Just push it.
parse->priv->buffers_queued);
}
- /* audio may have all marked as keyframe, so arrange to send here */
- if (!seen_delta)
+ /* audio may have all marked as keyframe, so arrange to send here. Also
+ * we might have ended the loop above on a keyframe, in which case we
+ * should */
+ if (!seen_delta || seen_key)
ret = gst_base_parse_send_buffers (parse);
/* any trailing unused no longer usable (ideally none) */