The proper appears to be with
int len = avcodec_decode_audio(_audio_ctx, _buffer, &bufsize,
_packet_data, _packet_size);
in FfmpegAudioCursor the loop around it never exists because len is never < 0
I have aided a loop counter to stop trying after a while. That fixed hang problem but interdicted a very low fps problem instead! At least i am moving some place.
EDIT: NVM i fixed all of it.