///|
/// Frame only the metadata prefix; parse/plan validate payload semantics afterwards.
/// Complete may be returned for a buffer that also contains audio.
pub fn metadata_prefix_length(data : Bytes) -> PrefixStatus raise FlacError {
  if data.length() < 4 {
    return NeedMore(4)
  }
  guard data.has_prefix(b"fLaC") else {
    raise Invalid(0, "missing native FLAC signature")
  }
  let mut pos = 4
  for n in 0..