Changelog: Meeting SDK - Windows - 6.7.5

Released: 2026-02-16 Updated: 2026-02-17

Visit Changelog

Summary: Add more support for meeting bot behavior and support restricting cross-account anonymous joining from the Meeting SDK; add support for custom 3D avatar and human avatar features.

Added

  • Added publicAppKey parameter in AuthContext struct to support public app type authentication.

    ```
    typedef struct tagAuthContext
    {
        ...
    	const zchar_t* publicAppKey;
        ...
    };
    ```
    
  • Added MEETING_FAIL_USER_LEVEL_TOKEN_NOT_HAVE_HOST_ZAK_OBF and MEETING_FAIL_APP_CAN_NOT_ANONYMOUS_JOIN_MEETING values to MeetingFailCode enum to support restricting cross-account anonymous joining from the Meeting SDK.

    enum MeetingFailCode
    {
        ...
        /** User level privilege token not have host zak/obf */
        MEETING_FAIL_USER_LEVEL_TOKEN_NOT_HAVE_HOST_ZAK_OBF = 503,
    
        /** App can not anonymous join meeting */
        MEETING_FAIL_APP_CAN_NOT_ANONYMOUS_JOIN_MEETING = 504,
    }
    
  • Added MEETING_FAIL_ON_BEHALF_TOKEN_INVALID and MEETING_FAIL_ON_BEHALF_TOKEN_NOT_MATCH_MEETING values to MeetingFailCode enum to support handling invalid or incorrect OBF tokens.

    enum MeetingFailCode
    {
        ...
        /** On-behalf token invalid. /
        MEETING_FAIL_ON_BEHALF_TOKEN_INVALID = 505,
    
        /* On-behalf token meeting number not match. */
        MEETING_FAIL_ON_BEHALF_TOKEN_NOT_MATCH_MEETING = 506,
    }
    
  • Added ZoomSDKCustom3DAvatarElementImageType enum in setting_service_interface.h to support custom 3D avatar and human avatar features.

    typedef enum
    {
         ZoomSDKCustom3DAvatarElementImageType_None,
         ZoomSDKCustom3DAvatarElementImageType_Skin,
         ZoomSDKCustom3DAvatarElementImageType_Face,
         ZoomSDKCustom3DAvatarElementImageType_Hair,
         ZoomSDKCustom3DAvatarElementImageType_Eyes,
         ZoomSDKCustom3DAvatarElementImageType_EyeColor,
         ZoomSDKCustom3DAvatarElementImageType_Eyelashes,
         ZoomSDKCustom3DAvatarElementImageType_Eyebrows,
         ZoomSDKCustom3DAvatarElementImageType_Nose,
         ZoomSDKCustom3DAvatarElementImageType_Mouth,
         ZoomSDKCustom3DAvatarElementImageType_LipColor,
         ZoomSDKCustom3DAvatarElementImageType_Age,
         ZoomSDKCustom3DAvatarElementImageType_FacialHair,
         ZoomSDKCustom3DAvatarElementImageType_Body,
         ZoomSDKCustom3DAvatarElementImageType_Clothing,
         ZoomSDKCustom3DAvatarElementImageType_HeadCovering,
         ZoomSDKCustom3DAvatarElementImageType_Glasses,
    }ZoomSDKCustom3DAvatarElementImageType;
    
    typedef enum
    {
         ZoomSDKCustom3DAvatarElementColorType_None,
         ZoomSDKCustom3DAvatarElementColorType_Eyebrow,
         ZoomSDKCustom3DAvatarElementColorType_Mustache,
         ZoomSDKCustom3DAvatarElementColorType_Hair,
         ZoomSDKCustom3DAvatarElementColorType_Eyelash,
    }ZoomSDKCustom3DAvatarElementColorType;
    
  • Added support in the SDK client for custom 3D avatar and human avatar features.

    -   Added new class `ICustom3DAvatarElementImageInfo` in `setting_service_interface.h`.
    
        ```
        class ICustom3DAvatarElementImageInfo
        {
        public:
        virtual ZoomSDKCustom3DAvatarElementImageType GetCustom3DAvatarElementImageType() = 0;
        virtual bool IsSelected() = 0;
        virtual const zchar_t* GetImageFilePath() = 0;
        virtual const zchar_t* GetImageName() = 0;
        virtual ~ICustom3DAvatarElementImageInfo() {};
        };
        ```
    
    -   Added new class `ICustom3DAvatarElementColorInfo` in `setting_service_interface.h`.
    
        ```
        class ICustom3DAvatarElementColorInfo
        {
        public:
        virtual ZoomSDKCustom3DAvatarElementColorType GetCustom3DAvatarElementColorType() = 0;
        virtual unsigned long GetColor() = 0;
        virtual bool IsSelected() = 0;
        virtual const zchar_t* GetImageName() = 0;
        virtual ~ICustom3DAvatarElementColorInfo() {};
        };
        ```
    
    -   Added new class `ICustom3DAvatarElementSettingContextEvent` in `setting_service_interface.h`.
    
        ```
        class ICustom3DAvatarElementSettingContextEvent
        {
        public:
        virtual ~ICustom3DAvatarElementSettingContextEvent() {}
        virtual void onCustom3DAvatarElementImageModelDataDownloaded(bool bSuccess, ICustom3DAvatarElementImageInfo* pImageInfo) = 0;
        };
        ```
    
    -   Added new class `ICustom3DAvatarElementSettingContext` in `setting_service_interface.h`.
    
        ```
        class ICustom3DAvatarElementSettingContext
        {
        public:
        virtual ~ICustom3DAvatarElementSettingContext() {}
        virtual SDKError SetEvent(ICustom3DAvatarElementSettingContextEvent* pEvent) = 0;
        virtual IList<ICustom3DAvatarElementImageInfo* >* GetCustom3DAvatarElementImageList() = 0;
        virtual bool IsCustom3DAvatarElementImageModelDataReady(ICustom3DAvatarElementImageInfo* pImageInfo) = 0;
        virtual SDKError DownloadCustom3dAvatarElementImageModelData(ICustom3DAvatarElementImageInfo* pImageInfo) = 0;
        virtual SDKError SetCustom3DAvatarElementImage(ICustom3DAvatarElementImageInfo* pImageInfo) = 0;
        virtual IList<ICustom3DAvatarElementColorInfo* >* GetCustom3DAvatarElementColorList() = 0;
        virtual SDKError SetCustom3DAvatarElementColor(ICustom3DAvatarElementColorInfo* pColorInfo) = 0;
        };
        ```
    
    -   Added new interfaces in class `I3DAvatarSettingContextEvent`.
    
        ```
        virtual void onCustom3DAvatarImageModelDataDownloaded(bool bSuccess, I3DAvatarImageInfo* pImageInfo) = 0;
        virtual void onCustom3DAvatarDefaultImageModelDataDownloaded(bool bSuccess) = 0;
        ```
    
    -   Added new interfaces in class `I3DAvatarSettingContext`.
    
        ```
        virtual IList<I3DAvatarImageInfo* >* GetCustom3DAvatarImageList() = 0;
        virtual bool IsCustom3DAvatarImageModelDataReady(I3DAvatarImageInfo* pImageInfo) = 0;
        virtual SDKError DownloadCustom3DAvatarImageModelData(I3DAvatarImageInfo* pImageInfo) = 0;
        virtual SDKError SetCustom3DAvatarImage(I3DAvatarImageInfo* pImageInfo) = 0;
        virtual bool IsCustom3DAvatarDefaultImageModelDataReady() = 0;
        virtual SDKError DownloadCustom3DAvatarDefaultImageModelData() = 0;
        virtual ICustom3DAvatarElementSettingContext* StartCreateCustom3DAvatar(HWND hPreviewWnd, RECT rc) = 0;
        virtual SDKError FinishCreateCustom3DAvatar(bool bSave) = 0;
        virtual ICustom3DAvatarElementSettingContext* StartEditCustom3DAvatar(HWND hPreviewWnd, RECT rc, I3DAvatarImageInfo* pImage) = 0;
        virtual SDKError FinishEditCustom3DAvatar(bool bSave) = 0;
        virtual SDKError DuplicateCustom3DAvatarImage(I3DAvatarImageInfo* pImage) = 0;
        virtual SDKError DeleteCustom3DAvatarImage(I3DAvatarImageInfo* pImage) = 0;
        ```