Unable to send video resolutions higher than 680x480 using Linux Meeting SDK

Using the Linux SDK, the highest resolution of video that I can send is 680x480. In the onInitialize callback in the ZoomSDKVideoSource I enumerate the support_cap_list with:

int list_len = support_cap_list->GetCount();
    for (int i = 0; i < list_len; i++)
    {
        VideoSourceCapability cur_cap = support_cap_list->GetItem(i);
        std::cout << "cap: width " << cur_cap.width << " height " << cur_cap.height << std::endl;
        if (cur_cap.height == desired_height_)
        {
            max_video_height_ = cur_cap.height;
            max_video_width_ = cur_cap.width;
        }
    }

And have only ever gotten the following:

cap: width 320 height 180
cap: width 640 height 480

Edit: Additionally I’ve noticed that a few seconds after the video starts, the onPropertyChange callback is called and the maximum capacity decreases further to 180p. I don’t see why this should be happening, the machine doing this has a hefty internet connection. @chunsiong.zoom

I’ve previously emailed Zoom Support and gotten access to 720p for my account. I also call pVideoContext->EnableHDVideo(true) earlier when initializing IVideoSettingContext. Is there anything that I’m missing?