Changeset 46123 in vbox
- Timestamp:
- May 16, 2013 1:40:20 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/settings.h
r45971 r46123 826 826 uint32_t ulVideoCaptureFps; // requires settings version 1.12 (VirtualBox 4.3) 827 827 bool fVideoCaptureEnabled; // requires settings version 1.12 (VirtualBox 4.3) 828 uint64_t u64VideoCaptureScreens; // requires settings version 1.12 (VirtualBox 4.3) 828 829 com::Utf8Str strVideoCaptureFile; // requires settings version 1.12 (VirtualBox 4.3) 830 829 831 FirmwareType_T firmwareType; // requires settings version 1.9 (VirtualBox 3.1) 830 832 -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
r45190 r46123 1301 1301 } 1302 1302 int vrc; 1303 uint32_t displayIdx= 0;1303 uint32_t iScreen = 0; 1304 1304 if (a->argc == 4) 1305 1305 { 1306 vrc = RTStrToUInt32Ex(a->argv[3], NULL, 0, & displayIdx);1306 vrc = RTStrToUInt32Ex(a->argv[3], NULL, 0, &iScreen); 1307 1307 if (vrc != VINF_SUCCESS) 1308 1308 { … … 1321 1321 } 1322 1322 ULONG width, height, bpp; 1323 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution( displayIdx, &width, &height, &bpp));1323 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution(iScreen, &width, &height, &bpp)); 1324 1324 com::SafeArray<BYTE> saScreenshot; 1325 CHECK_ERROR_BREAK(pDisplay, TakeScreenShotPNGToArray( displayIdx, width, height, ComSafeArrayAsOutParam(saScreenshot)));1325 CHECK_ERROR_BREAK(pDisplay, TakeScreenShotPNGToArray(iScreen, width, height, ComSafeArrayAsOutParam(saScreenshot))); 1326 1326 RTFILE pngFile = NIL_RTFILE; 1327 1327 vrc = RTFileOpen(&pngFile, a->argv[2], RTFILE_O_OPEN_CREATE | RTFILE_O_WRITE | RTFILE_O_TRUNCATE | RTFILE_O_DENY_ALL); … … 1340 1340 RTFileClose(pngFile); 1341 1341 } 1342 else if ( !strcmp(a->argv[1], "enablevideocapture") 1343 || !strcmp(a->argv[1], "disablevideocapture")) 1344 { 1345 ULONG cMonitors = 64; 1346 CHECK_ERROR_BREAK(machine, COMGETTER(MonitorCount)(&cMonitors)); 1347 com::SafeArray<BOOL> saScreenIds(cMonitors); 1348 if (a->argc < 3) 1349 { 1350 /* default: handle all screens */ 1351 for (unsigned i = 0; i < cMonitors; i++) 1352 saScreenIds[i] = true; 1353 } 1354 else 1355 { 1356 /* handle selected screens */ 1357 for (unsigned i = 0; i < cMonitors; i++) 1358 saScreenIds[i] = false; 1359 for (int i = 2; SUCCEEDED(rc) && i < a->argc; i++) 1360 { 1361 uint32_t iScreen; 1362 int vrc = RTStrToUInt32Ex(a->argv[i], NULL, 0, &iScreen); 1363 RTPrintf("i = %d => %d => %Rrc\n", i, iScreen, vrc); 1364 if (vrc != VINF_SUCCESS) 1365 { 1366 errorArgument("Error parsing display number '%s'", a->argv[i]); 1367 rc = E_FAIL; 1368 break; 1369 } 1370 if (iScreen >= cMonitors) 1371 { 1372 errorArgument("Invalid screen ID specified '%u'", iScreen); 1373 rc = E_FAIL; 1374 break; 1375 } 1376 saScreenIds[iScreen] = true; 1377 } 1378 } 1379 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))); 1393 } 1342 1394 else 1343 1395 { -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
r46036 r46123 371 371 #ifdef VBOX_WITH_VPX 372 372 " [--vcpenabled on|off]\n" 373 " [--vcpscreens [<display>],...\n" 373 374 " [--vcpfile <filename>]\n" 374 375 " [--vcpwidth <width>]\n" … … 468 469 " [<xorigin> <yorigin>]]] |\n" 469 470 " screenshotpng <file> [display] |\n" 471 " enablevideocapture <screen>,[<screen>...]\n" 472 " disablevideocapture <screen>,[<screen>...]\n" 470 473 " setcredentials <username>\n" 471 474 " --passwordfile <file> | <password>\n" -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r46036 r46123 2306 2306 BOOL bActive = FALSE; 2307 2307 CHECK_ERROR_RET(machine, COMGETTER(VideoCaptureEnabled)(&bActive), rc); 2308 com::SafeArray<BOOL> screens; 2309 CHECK_ERROR_RET(machine, COMGETTER(VideoCaptureScreens)(ComSafeArrayAsOutParam(screens)), rc); 2308 2310 ULONG Width; 2309 2311 CHECK_ERROR_RET(machine, COMGETTER(VideoCaptureWidth)(&Width), rc); … … 2319 2321 { 2320 2322 RTPrintf("VideoCaptureEnabled=\"%s\"\n", bActive ? "on" : "off"); 2323 RTPrintf("VideoCaptureScreens="); 2324 bool fComma = false; 2325 for (unsigned i = 0; i < screens.size(); i++) 2326 if (screens[i]) 2327 { 2328 RTPrintf("%s%u", fComma ? "," : "", i); 2329 fComma = true; 2330 } 2331 RTPrintf("\n"); 2321 2332 RTPrintf("VideoCaptureWidth=%u\n", (unsigned)Width); 2322 2333 RTPrintf("VideoCaptureFile=\"%ls\"\n", File.raw()); … … 2328 2339 { 2329 2340 RTPrintf("Video capturing: %s\n", bActive ? "active" : "not active"); 2341 RTPrintf("Capture screens: "); 2342 bool fComma = false; 2343 for (unsigned i = 0; i < screens.size(); i++) 2344 if (screens[i]) 2345 { 2346 RTPrintf("%s%u", fComma ? "," : "", i); 2347 fComma = true; 2348 } 2349 RTPrintf("\n"); 2330 2350 RTPrintf("Capture file: %ls\n", File.raw()); 2331 2351 RTPrintf("Capture dimensions: %ux%u\n", Width, Height); 2332 RTPrintf("Capture rate: %u kbps\n", Rate);2352 RTPrintf("Capture rate: %u kbps\n", Rate); 2333 2353 RTPrintf("Capture FPS: %u\n", Fps); 2334 2354 RTPrintf("\n"); -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r46036 r46123 196 196 #ifdef VBOX_WITH_VPX 197 197 MODIFYVM_VCP, 198 MODIFYVM_VCP_SCREENS, 198 199 MODIFYVM_VCP_FILENAME, 199 200 MODIFYVM_VCP_WIDTH, … … 344 345 #ifdef VBOX_WITH_VPX 345 346 { "--vcpenabled", MODIFYVM_VCP, RTGETOPT_REQ_BOOL_ONOFF }, 347 { "--vcpscreens", MODIFYVM_VCP_SCREENS, RTGETOPT_REQ_STRING }, 346 348 { "--vcpfile", MODIFYVM_VCP_FILENAME, RTGETOPT_REQ_STRING }, 347 349 { "--vcpwidth", MODIFYVM_VCP_WIDTH, RTGETOPT_REQ_UINT32 }, … … 409 411 } 410 412 } 413 } 414 415 int parseScreens(const char *pcszScreens, com::SafeArray<BOOL> *pScreens) 416 { 417 while (pcszScreens && *pcszScreens) 418 { 419 char *pszNext; 420 uint32_t iScreen; 421 int rc = RTStrToUInt32Ex(pcszScreens, &pszNext, 0, &iScreen); 422 if (RT_FAILURE(rc)) 423 return 1; 424 if (iScreen >= pScreens->size()) 425 return 1; 426 if (pszNext && *pszNext) 427 { 428 pszNext = RTStrStripL(pszNext); 429 if (*pszNext != ',') 430 return 1; 431 pszNext++; 432 } 433 (*pScreens)[iScreen] = true; 434 pcszScreens = pszNext; 435 } 436 return 0; 411 437 } 412 438 … … 2449 2475 break; 2450 2476 } 2477 case MODIFYVM_VCP_SCREENS: 2478 { 2479 ULONG cMonitors = 64; 2480 CHECK_ERROR(machine, COMGETTER(MonitorCount)(&cMonitors)); 2481 com::SafeArray<BOOL> screens(cMonitors); 2482 if (parseScreens(ValueUnion.psz, &screens)) 2483 { 2484 errorArgument("Invalid list of screens specified\n"); 2485 rc = E_FAIL; 2486 break; 2487 } 2488 CHECK_ERROR(machine, COMSETTER(VideoCaptureScreens)(ComSafeArrayAsInParam(screens))); 2489 break; 2490 } 2451 2491 case MODIFYVM_VCP_FILENAME: 2452 2492 { -
trunk/src/VBox/Main/glue/glue-java.xsl
r45483 r46123 2628 2628 List<Long> ret = new ArrayList<Long>(vals.length); 2629 2629 for (long v : vals) { 2630 ret.add(v); 2630 ret.add(v); 2631 } 2632 return ret; 2633 } 2634 2635 public static List<Boolean> wrap(boolean[] vals) { 2636 if (vals==null) 2637 return null; 2638 2639 List<Boolean> ret = new ArrayList<Boolean>(vals.length); 2640 for (boolean v: vals) { 2641 ret.add(v); 2631 2642 } 2632 2643 return ret; … … 2781 2792 2782 2793 @SuppressWarnings( "unchecked") 2783 public static <T> T[] unwrap(Class<T> wrapperClass, List<T> thisPtrs) { 2794 public static <T> T[] unwrap(Class<T> wrapperClass, List<T> thisPtrs) 2795 { 2784 2796 if (thisPtrs==null) 2785 2797 return null; … … 2797 2809 public static Object queryInterface(Object obj, String uuid) 2798 2810 { 2799 2800 2801 2802 2803 2804 2805 2806 2811 try { 2812 /* Kind of ugly, but does the job of casting */ 2813 org.mozilla.xpcom.Mozilla moz = org.mozilla.xpcom.Mozilla.getInstance(); 2814 long xpobj = moz.wrapJavaObject(obj, uuid); 2815 return moz.wrapXPCOMObject(xpobj, uuid); 2816 } catch (Exception e) { 2817 return null; 2818 } 2807 2819 } 2808 2820 2809 2821 @SuppressWarnings("unchecked") 2810 public static <T1 extends IUnknown,T2> T2[] unwrap2(Class<T1> wrapperClass1, Class<T2> wrapperClass2, List<T1> thisPtrs) { 2822 public static <T1 extends IUnknown,T2> T2[] unwrap2(Class<T1> wrapperClass1, Class<T2> wrapperClass2, List<T1> thisPtrs) 2823 { 2811 2824 if (thisPtrs==null) return null; 2812 2825 -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r45971 r46123 3980 3980 <interface 3981 3981 name="IMachine" extends="$unknown" 3982 uuid=" 55bf39d3-ac8f-4a77-90d8-1e2c726170ce"3982 uuid="258f4e55-40f6-4804-a162-60c302a34d99" 3983 3983 wsmap="managed" 3984 3984 > … … 4242 4242 </attribute> 4243 4243 4244 <attribute name="VideoCaptureScreens" type="boolean" safearray="yes"> 4245 <desc> 4246 This setting determines for which screens video recording is 4247 enabled.</desc> 4248 </attribute> 4249 4244 4250 <attribute name="VideoCaptureFile" type="wstring" default="Test.webm"> 4245 4251 <desc> … … 6272 6278 <desc>VirtualSystemDescription object which is created for this machine.</desc> 6273 6279 </param> 6274 </method 6280 </method> 6275 6281 6276 6282 <method name="findSnapshot"> … … 14669 14675 <interface 14670 14676 name="IDisplay" extends="$unknown" 14671 uuid=" b83ee395-8679-40ca-8d60-1a0cbe724930"14677 uuid="0598a3df-3dc0-43c7-a79c-237fb5bb633d" 14672 14678 wsmap="managed" 14673 14679 > … … 14874 14880 <desc> 14875 14881 Array with resulting screen data. 14882 </desc> 14883 </param> 14884 </method> 14885 14886 <method name="enableVideoCapture"> 14887 <desc> 14888 Start/continue video capture. 14889 </desc> 14890 <param name="screens" type="boolean" safearray="yes" dir="in"> 14891 <desc> 14892 The screens to start/continue capturing. 14893 </desc> 14894 </param> 14895 </method> 14896 14897 <method name="disableVideoCapture"> 14898 <desc> 14899 Stop video capture. 14900 </desc> 14901 <param name="screens" type="boolean" safearray="yes" dir="in"> 14902 <desc> 14903 The screens to stop capturing. 14876 14904 </desc> 14877 14905 </param> -
trunk/src/VBox/Main/include/DisplayImpl.h
r46065 r46123 170 170 STDMETHOD(TakeScreenShotToArray)(ULONG aScreenId, ULONG width, ULONG height, ComSafeArrayOut(BYTE, aScreenData)); 171 171 STDMETHOD(TakeScreenShotPNGToArray)(ULONG aScreenId, ULONG width, ULONG height, ComSafeArrayOut(BYTE, aScreenData)); 172 STDMETHOD(EnableVideoCapture)(ComSafeArrayIn(BOOL, aScreens)); 173 STDMETHOD(DisableVideoCapture)(ComSafeArrayIn(BOOL, aScreens)); 172 174 STDMETHOD(DrawToScreen)(ULONG aScreenId, BYTE *address, ULONG x, ULONG y, ULONG width, ULONG height); 173 175 STDMETHOD(InvalidateAndUpdate)(); … … 304 306 #ifdef VBOX_WITH_VPX 305 307 VIDEORECCONTEXT *mpVideoRecCtx; 308 bool maVideoRecEnabled[SchemaDefs::MaxGuestMonitors]; 306 309 #endif 307 310 }; -
trunk/src/VBox/Main/include/MachineImpl.h
r45971 r46123 263 263 Bstr mVideoCaptureFile; 264 264 BOOL mVideoCaptureEnabled; 265 BOOL maVideoCaptureScreens[SchemaDefs::MaxGuestMonitors]; 265 266 ULONG mMonitorCount; 266 267 BOOL mHWVirtExEnabled; … … 435 436 STDMETHOD(COMGETTER(VideoCaptureEnabled))(BOOL *u8VideoRecEnabled); 436 437 STDMETHOD(COMSETTER(VideoCaptureEnabled))(BOOL u8VideoRecEnabled); 438 STDMETHOD(COMGETTER(VideoCaptureScreens))(ComSafeArrayOut(BOOL, aScreens)); 439 STDMETHOD(COMSETTER(VideoCaptureScreens))(ComSafeArrayIn(BOOL, aScreens)); 437 440 STDMETHOD(COMGETTER(VideoCaptureFile))(BSTR * ppChVideoRecFilename); 438 441 STDMETHOD(COMSETTER(VideoCaptureFile))(IN_BSTR pChVideoRecFilename); -
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r46086 r46123 134 134 #ifdef VBOX_WITH_VPX 135 135 mpVideoRecCtx = NULL; 136 for (unsigned i = 0; i < RT_ELEMENTS(maVideoRecEnabled); i++) 137 maVideoRecEnabled[i] = true; 136 138 #endif 137 139 … … 2672 2674 } 2673 2675 2674 2675 int Display::drawToScreenEMT(Display *pDisplay, ULONG aScreenId, BYTE *address, ULONG x, ULONG y, ULONG width, ULONG height) 2676 STDMETHODIMP Display::EnableVideoCapture(ComSafeArrayIn(BOOL, aScreens)) 2677 { 2678 #ifdef VBOX_WITH_VPX 2679 com::SafeArray<LONG> Screens(ComSafeArrayInArg(aScreens)); 2680 for (unsigned i = 0; i < Screens.size(); i++) 2681 if (Screens[i]) 2682 maVideoRecEnabled[i] = true; 2683 return S_OK; 2684 #else 2685 return E_NOTIMPL; 2686 #endif 2687 } 2688 2689 STDMETHODIMP Display::DisableVideoCapture(ComSafeArrayIn(BOOL, aScreens)) 2690 { 2691 #ifdef VBOX_WITH_VPX 2692 com::SafeArray<LONG> Screens(ComSafeArrayInArg(aScreens)); 2693 for (unsigned i = 0; i < Screens.size(); i++) 2694 if (Screens[i]) 2695 maVideoRecEnabled[i] = false; 2696 return S_OK; 2697 #else 2698 return E_NOTIMPL; 2699 #endif 2700 } 2701 2702 int Display::drawToScreenEMT(Display *pDisplay, ULONG aScreenId, BYTE *address, 2703 ULONG x, ULONG y, ULONG width, ULONG height) 2676 2704 { 2677 2705 int rc = VINF_SUCCESS; … … 2777 2805 } 2778 2806 2779 STDMETHODIMP Display::DrawToScreen (ULONG aScreenId, BYTE *address, ULONG x, ULONG y,2780 ULONG width, ULONG height)2807 STDMETHODIMP Display::DrawToScreen(ULONG aScreenId, BYTE *address, 2808 ULONG x, ULONG y, ULONG width, ULONG height) 2781 2809 { 2782 2810 /// @todo (r=dmik) this function may take too long to complete if the VM … … 3364 3392 for (uScreenId = 0; uScreenId < pDisplay->mcMonitors; uScreenId++) 3365 3393 { 3394 if (!pDisplay->maVideoRecEnabled[uScreenId]) 3395 continue; 3396 3366 3397 DISPLAYFBINFO *pFBInfo = &pDisplay->maFramebuffers[uScreenId]; 3367 3398 … … 4435 4466 return E_FAIL; 4436 4467 } 4468 com::SafeArray<BOOL> screens; 4469 int hrc = pMachine->COMGETTER(VideoCaptureScreens)(ComSafeArrayAsOutParam(screens)); 4470 AssertComRCReturnRC(hrc); 4471 for (unsigned i = 0; i < RT_ELEMENTS(pDisplay->maVideoRecEnabled); i++) 4472 pDisplay->maVideoRecEnabled[i] = i < screens.size() && screens[i]; 4437 4473 ULONG ulWidth; 4438 inthrc = pMachine->COMGETTER(VideoCaptureWidth)(&ulWidth);4474 hrc = pMachine->COMGETTER(VideoCaptureWidth)(&ulWidth); 4439 4475 AssertComRCReturnRC(hrc); 4440 4476 ULONG ulHeight; -
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r46056 r46123 173 173 mVideoCaptureFps = 25; 174 174 mVideoCaptureEnabled = false; 175 for (unsigned i = 0; i < RT_ELEMENTS(maVideoCaptureScreens); i++) 176 maVideoCaptureScreens[i] = true; 175 177 176 178 mHWVirtExEnabled = true; … … 1723 1725 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 1724 1726 mHWData->mVideoCaptureEnabled = fEnabled; 1727 return S_OK; 1728 } 1729 1730 STDMETHODIMP Machine::COMGETTER(VideoCaptureScreens)(ComSafeArrayOut(BOOL, aScreens)) 1731 { 1732 CheckComArgOutSafeArrayPointerValid(aScreens); 1733 1734 SafeArray<BOOL> screens(mHWData->mMonitorCount); 1735 for (unsigned i = 0; i < screens.size(); i++) 1736 screens[i] = mHWData->maVideoCaptureScreens[i]; 1737 screens.detachTo(ComSafeArrayOutArg(aScreens)); 1738 return S_OK; 1739 } 1740 1741 STDMETHODIMP Machine::COMSETTER(VideoCaptureScreens)(ComSafeArrayIn(BOOL, aScreens)) 1742 { 1743 SafeArray<BOOL> screens(ComSafeArrayInArg(aScreens)); 1744 AssertReturn(screens.size() <= RT_ELEMENTS(mHWData->maVideoCaptureScreens), E_INVALIDARG); 1745 for (unsigned i = 0; i < screens.size(); i++) 1746 mHWData->maVideoCaptureScreens[i] = RT_BOOL(screens[i]); 1725 1747 return S_OK; 1726 1748 } … … 8902 8924 mHWData->mVideoCaptureHeight = data.ulVideoCaptureVertRes; 8903 8925 mHWData->mVideoCaptureEnabled = data.fVideoCaptureEnabled; 8926 for (unsigned i = 0; i < RT_ELEMENTS(mHWData->maVideoCaptureScreens); i++) 8927 mHWData->maVideoCaptureScreens[i] = ASMBitTest(&data.u64VideoCaptureScreens, i); 8928 AssertCompile(RT_ELEMENTS(mHWData->maVideoCaptureScreens) == sizeof(data.u64VideoCaptureScreens) * 8); 8904 8929 mHWData->mVideoCaptureRate = data.ulVideoCaptureRate; 8905 8930 mHWData->mVideoCaptureFps = data.ulVideoCaptureFps; … … 10124 10149 data.ulVideoCaptureFps = mHWData->mVideoCaptureFps; 10125 10150 data.fVideoCaptureEnabled = !!mHWData->mVideoCaptureEnabled; 10151 for (unsigned i = 0; i < sizeof(data.u64VideoCaptureScreens) * 8; i++) 10152 { 10153 if (mHWData->maVideoCaptureScreens) 10154 ASMBitSet(&data.fVideoCaptureEnabled, i); 10155 else 10156 ASMBitClear(&data.fVideoCaptureEnabled, i); 10157 } 10126 10158 data.strVideoCaptureFile = mHWData->mVideoCaptureFile; 10127 10159 -
trunk/src/VBox/Main/xml/Settings.cpp
r45971 r46123 1753 1753 ulVideoCaptureFps(25), 1754 1754 fVideoCaptureEnabled(false), 1755 u64VideoCaptureScreens(UINT64_C(0xffffffffffffffff)), 1755 1756 strVideoCaptureFile("Test.webm"), 1756 1757 firmwareType(FirmwareType_BIOS), … … 1823 1824 && (fAccelerate2DVideo == h.fAccelerate2DVideo) 1824 1825 && (fVideoCaptureEnabled == h.fVideoCaptureEnabled) 1826 && (u64VideoCaptureScreens == h.u64VideoCaptureScreens) 1825 1827 && (strVideoCaptureFile == h.strVideoCaptureFile) 1826 1828 && (ulVideoCaptureHorzRes == h.ulVideoCaptureHorzRes) … … 2724 2726 else if (pelmHwChild->nameEquals("VideoCapture")) 2725 2727 { 2726 pelmHwChild->getAttributeValue("enabled", hw.fVideoCaptureEnabled); 2727 pelmHwChild->getAttributeValue("file", hw.strVideoCaptureFile); 2728 pelmHwChild->getAttributeValue("horzRes", hw.ulVideoCaptureHorzRes); 2729 pelmHwChild->getAttributeValue("vertRes", hw.ulVideoCaptureVertRes); 2730 pelmHwChild->getAttributeValue("rate", hw.ulVideoCaptureRate); 2731 pelmHwChild->getAttributeValue("fps", hw.ulVideoCaptureFps); 2728 pelmHwChild->getAttributeValue("enabled", hw.fVideoCaptureEnabled); 2729 pelmHwChild->getAttributeValue("screens", hw.u64VideoCaptureScreens); 2730 pelmHwChild->getAttributeValue("file", hw.strVideoCaptureFile); 2731 pelmHwChild->getAttributeValue("horzRes", hw.ulVideoCaptureHorzRes); 2732 pelmHwChild->getAttributeValue("vertRes", hw.ulVideoCaptureVertRes); 2733 pelmHwChild->getAttributeValue("rate", hw.ulVideoCaptureRate); 2734 pelmHwChild->getAttributeValue("fps", hw.ulVideoCaptureFps); 2732 2735 } 2733 2736 else if (pelmHwChild->nameEquals("RemoteDisplay")) … … 3911 3914 if (m->sv >= SettingsVersion_v1_12) 3912 3915 { 3913 pelmVideoCapture->setAttribute("enabled", hw.fVideoCaptureEnabled); 3914 pelmVideoCapture->setAttribute("file", hw.strVideoCaptureFile); 3915 pelmVideoCapture->setAttribute("horzRes", hw.ulVideoCaptureHorzRes); 3916 pelmVideoCapture->setAttribute("vertRes", hw.ulVideoCaptureVertRes); 3917 pelmVideoCapture->setAttribute("rate", hw.ulVideoCaptureRate); 3918 pelmVideoCapture->setAttribute("fps", hw.ulVideoCaptureFps); 3916 pelmVideoCapture->setAttribute("enabled", hw.fVideoCaptureEnabled); 3917 pelmVideoCapture->setAttribute("screens", hw.u64VideoCaptureScreens); 3918 pelmVideoCapture->setAttribute("file", hw.strVideoCaptureFile); 3919 pelmVideoCapture->setAttribute("horzRes", hw.ulVideoCaptureHorzRes); 3920 pelmVideoCapture->setAttribute("vertRes", hw.ulVideoCaptureVertRes); 3921 pelmVideoCapture->setAttribute("rate", hw.ulVideoCaptureRate); 3922 pelmVideoCapture->setAttribute("fps", hw.ulVideoCaptureFps); 3919 3923 } 3920 3924
Note:
See TracChangeset
for help on using the changeset viewer.