don't assume decoders have the buffer attribute