Skip to content

msdkdec: postpone surface free for VC1

For a skipped frame in VC1, MSDK returns the mfx surface of the reference frame, so we have to make sure the corresponding surface for the reference frame is not freed. In this fix, we postpone surface free because we don't know whether a surface is referenced

Before this fix, the error is like as below:

New clock: GstSystemClock 0:00:00.181793130 23098 0x55f8a9d622d0 ERROR msdkdec gstmsdkdec.c:622:gst_msdkdec_finish_task: Couldn't find the cached MSDK surface

Sample pipeline: gst-launch-1.0 filesrc location=input_has_skipped_frame.wmv ! asfdemux ! vc1parse ! msdkvc1dec ! glimagesink

Merge request reports