Skip to content
  • Haihao Xiang's avatar
    msdkdec: Release occupied surface for MFX_ERR_MORE_DATA · 6c953438
    Haihao Xiang authored
    An output surface is returned but without sync point when when
    MFXVideoDECODE_DecodeFrameAsync () returns MFX_ERR_MORE_DATA, this
    surface should be released too, otherwise the surface is occupied
    and it is easy to exhaust all pre-allocated mfx surfaces.
    
    Example pipeline (input_vp8.webm contains lots of frame with show_frame
    set to 0):
    
    gst-launch-1.0 filesrc location=input_vp8.webm ! matroskademux !
    msdkvp8dec ! msdkvpp ! fakesink
    
    0:00:05.995959693 19866 0x563f30f14590 ERROR                default
    gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to
    get surface available
    ERROR: from element
    /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: Internal data
    stream error.
    6c953438