我要评分
获取效率
正确性
完整性
易理解

API Description

This chapter describes the external APIs called by the instruction stream engine client.

The API return codes are defined as follows:

enum VmiEngineRetCode : int32_t {
    VMI_CLIENT_RECV_ORDER_FAIL = -5, // The execution order of the data receiving function on the engine client is invalid.
    VMI_CLIENT_RECV_MEMCPY_FAILED = -4, // The data receiving function on the engine client fails to copy the memory.
    VMI_CLIENT_RECV_LENGTH_NO_MATCH = -3, // The length of data received by the data receiving function on the engine client does not match with the input length.
    VMI_CLIENT_RECV_DATA_NULL = -2, // Data received by the data receiving function on the engine client is null.
    VMI_CLIENT_RECV_INVALID_PAPAM = -1, // Invalid parameters are input to the data receiving function on the engine client.
    VMI_SUCCESS = 0,  // Success
    VMI_CLIENT_INVALID_PARAM = 0x0A050001, // Invalid parameters are input to the instruction stream engine client.
    VMI_CLIENT_START_FAIL = 0x0A050002,    // Failed to start the instruction stream engine client.
    VMI_CLIENT_ALREADY_STARTED = 0x0A050003, // The instruction stream engine client has been started.
    VMI_CLIENT_STOP_FAIL = 0x0A050004,       // Failed to stop the instruction stream engine client.
    VMI_CLIENT_SEND_HOOK_REGISTER_FAIL = 0x0A050005, // The instruction stream engine client fails to register the hook function.
    VMI_CLIENT_SEND_FAIL = 0x0A050006, // The instruction stream engine client fails to send the socket function.
    VMI_CLIENT_SEND_AGAIN = 0x0A050007, // The instruction stream engine client sends the socket function again.
    VMI_CLIENT_INITIALIZE_FAIL = 0x0A050008, // Failed to initialize the instruction stream engine client.
    VMI_CLIENT_EXEC_ORDER_FAIL = 0x0A050009 // The execution order of the instruction stream engine client is incorrect.
};

The instruction stream data types are defined as follows:

enum VMIMsgType : uint8_t {
    INVALID = 0,          // Start data type
    HEARTBEAT,        // Heartbeat data type
    GL,               // Open GL data type
    AUDIO,            // Audio data type
    TOUCH_INPUT,      // Touch data type
    NAVBAR_INPUT,     // Navigation bar touch data type
    VIDEO_RR,         // VmiAgent data type for distributed rendering
    VIDEO_RR2 = 16,   // VideoAgent data type for distributed rendering
    END               // End data type
};