summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/msdk/gstmsdkdec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/msdk/gstmsdkdec.c b/sys/msdk/gstmsdkdec.c
index db58112a3..134459fab 100644
--- a/sys/msdk/gstmsdkdec.c
+++ b/sys/msdk/gstmsdkdec.c
@@ -1025,8 +1025,11 @@ gst_msdkdec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame)
break;
}
} else if (status == MFX_ERR_MORE_DATA) {
- task->decode_only = TRUE;
- thiz->next_task = (thiz->next_task + 1) % thiz->tasks->len;
+ if (task->surface) {
+ task->decode_only = TRUE;
+ thiz->next_task = (thiz->next_task + 1) % thiz->tasks->len;
+ }
+
if (surface->surface->Data.Locked > 0)
surface = NULL;
flow = GST_VIDEO_DECODER_FLOW_NEED_DATA;