codec: fix various leaks
Taken from https://code.videolan.org/VideoLAN.org/vlc-confidential/-/merge_requests/55 https://code.videolan.org/VideoLAN.org/vlc-confidential/-/merge_requests/57 and https://code.videolan.org/VideoLAN.org/vlc-confidential/-/merge_requests/62
Fixes #28990 (closed) #28992 (closed) and #28995 (closed)