VirtualBox

Ignore:
Timestamp:
Jun 10, 2013 2:11:26 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
86308
Message:

Main/VPX: introduced onVideoCaptureChange event

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp

    r46123 r46465  
    13451345            ULONG cMonitors = 64;
    13461346            CHECK_ERROR_BREAK(machine, COMGETTER(MonitorCount)(&cMonitors));
    1347             com::SafeArray<BOOL> saScreenIds(cMonitors);
     1347            com::SafeArray<BOOL> saScreens(cMonitors);
     1348            bool fEnable = !strcmp(a->argv[1], "enablevideocapture");
    13481349            if (a->argc < 3)
    13491350            {
    13501351                /* default: handle all screens */
    13511352                for (unsigned i = 0; i < cMonitors; i++)
    1352                     saScreenIds[i] = true;
     1353                    saScreens[i] = true;
    13531354            }
    13541355            else
    13551356            {
    13561357                /* handle selected screens */
    1357                 for (unsigned i = 0; i < cMonitors; i++)
    1358                     saScreenIds[i] = false;
     1358                CHECK_ERROR_BREAK(machine, COMGETTER(VideoCaptureScreens)(ComSafeArrayAsOutParam(saScreens)));
    13591359                for (int i = 2; SUCCEEDED(rc) && i < a->argc; i++)
    13601360                {
    13611361                    uint32_t iScreen;
    13621362                    int vrc = RTStrToUInt32Ex(a->argv[i], NULL, 0, &iScreen);
    1363                     RTPrintf("i = %d => %d => %Rrc\n", i, iScreen, vrc);
    13641363                    if (vrc != VINF_SUCCESS)
    13651364                    {
     
    13741373                        break;
    13751374                    }
    1376                     saScreenIds[iScreen] = true;
    1377                 }
    1378             }
     1375                    saScreens[iScreen] = fEnable;
     1376                }
     1377            }
     1378
    13791379            for (unsigned i = 0; i < cMonitors; i++)
    1380                 RTPrintf("  %d\n", saScreenIds[i]);
    1381             ComPtr<IDisplay> pDisplay;
    1382             CHECK_ERROR_BREAK(console, COMGETTER(Display)(pDisplay.asOutParam()));
    1383             if (!pDisplay)
    1384             {
    1385                 RTMsgError("Guest not running");
    1386                 rc = E_FAIL;
    1387                 break;
    1388             }
    1389             if (!strcmp(a->argv[1], "enablevideocapture"))
    1390                 CHECK_ERROR_BREAK(pDisplay, EnableVideoCapture(ComSafeArrayAsInParam(saScreenIds)));
    1391             else
    1392                 CHECK_ERROR_BREAK(pDisplay, DisableVideoCapture(ComSafeArrayAsInParam(saScreenIds)));
     1380                RTPrintf("  %d\n", saScreens[i]);
     1381            CHECK_ERROR_BREAK(sessionMachine, COMSETTER(VideoCaptureScreens)(ComSafeArrayAsInParam(saScreens)));
    13931382        }
    13941383        else
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