According to the MSDK documation1, MFXCloneSession is a light-weight equivalent of MFXJoinSession after MFXInit, so MFXJoinSession call isn't needed in the msdk plugin, otherwise the cloned session is joined to the parent session twice, and we will get a MFX error when closing the parent session
gst-launch-1.0 videotestsrc num-buffers=100 !
video/x-raw,format=NV12,width=352,height=288 ! msdkh264enc ! msdkh264dec !
msdkh264enc ! fakesink
0:00:00.211948518 21733 0x5586ee741c60 ERROR msdk msdk.c:148:msdk_close_session: Close failed (undefined behavior)