Checking for GST_IS_BUFFER is suspicious. Does something go wrong if you just check `if (buf)`?