Decode a frame from a buffer
Important implementation notice: When returning byte arrays, make sure that the returned array is not a view into the original buffer, as the underlying buffer may get invalidated
Decode a frame from a buffer