Codecs are always native (besides in worker). Keep them local and never return promises.