VirtualBox

Changeset 105010 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Jun 24, 2024 6:47:56 PM (8 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
163628
Message:

Video Recording: Big revamp to improve overall performance. We now don't rely on the periodic display refresh callback anymore to render the entire framebuffer but now rely on delta updates ("dirty rectangles"). Also, we now only encode new frames when an area has changed. This also needed cursor position + change change notifications, as we render the cursor on the host side if mouse integration is enabled (requires 7.1 Guest Additions as of now). Optimized the BGRA32->YUV IV420 color space conversion as well as the overall amount of pixel data shuffled forth and back. Added a new testcase for the cropping/centering code [build fixes]. bugref:10650

Location:
trunk/src/VBox/Main/src-client
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/MouseImpl.cpp

    r105006 r105010  
    241241{
    242242    RT_ZERO(mpDrv);
    243     RT_ZERO(mPointerData);
    244243    mcLastX = 0x8000;
    245244    mcLastY = 0x8000;
  • trunk/src/VBox/Main/src-client/Recording.cpp

    r105006 r105010  
    387387    switch (enmType)
    388388    {
     389#ifdef VBOX_WITH_AUDIO_RECORDING
    389390        case RECORDINGFRAME_TYPE_AUDIO:
    390391        {
     
    400401            break;
    401402        }
    402 
     403#endif
    403404        default:
    404405            AssertFailed();
    405406            break;
    406407    }
     408
     409    if (!pFrame)
     410        return VINF_SUCCESS;
    407411
    408412    lock();
  • trunk/src/VBox/Main/src-client/RecordingInternals.cpp

    r105009 r105010  
    231231 *
    232232 * @returns VBox status code.
    233  * @param   pFrame              Destination frame.
     233 * @param   pu8Dst              Destination buffer.
     234 * @param   cbDst               Size (in bytes) of \a pu8Dst.
    234235 * @param   uDstX               X destination (in pixel) within destination frame.
    235236 * @param   uDstY               Y destination (in pixel) within destination frame.
  • trunk/src/VBox/Main/src-client/RecordingUtils.cpp

    r105009 r105010  
    415415    if (!pszPath)
    416416    {
    417         int rc2 = RTPathTemp(szPath, sizeof(szPath));
    418         if (RT_FAILURE(rc2))
    419             return rc2;
     417        int vrc2 = RTPathTemp(szPath, sizeof(szPath));
     418        if (RT_FAILURE(vrc2))
     419            return vrc2;
    420420    }
    421421
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette