move release from listener to decoder
reference counting modifications