Commit 6d35510a authored by U. Artie Eoff's avatar U. Artie Eoff Committed by Tim-Philipp Müller

msdkenc: break out of flush frames loop on error

In general, we should assume any unhandled error is

In the flush frames loop, some error states can cause us
to never increment the task and therefore we get stuck
in an infinite loop and generate GST_ELEMENT_ERROR
over and over again.  This eventually consumes all
system memory and triggers OOM.  Thus, assume the worst
and break out of the loop upon the first "unhandled" error.

parent 201b8e07
......@@ -803,6 +803,7 @@ gst_msdkenc_flush_frames (GstMsdkEnc * thiz, gboolean discard)
if (status != MFX_ERR_NONE && status != MFX_ERR_MORE_DATA) {
GST_ELEMENT_ERROR (thiz, STREAM, ENCODE, ("Encode frame failed."),
("MSDK encode error (%s)", msdk_status_to_string (status)));
if (task->sync_point) {
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment