- Timestamp:
- Dec 20, 2012 5:36:56 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 82916
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/RemoteDesktop/VRDEVideoIn.h
r43946 r44191 880 880 void *pvUser, 881 881 const VRDEVIDEOINDEVICEHANDLE *pDeviceHandle, 882 VRDEVIDEOINCTRLHDR *pReq,882 const VRDEVIDEOINCTRLHDR *pReq, 883 883 uint32_t cbReq)); 884 884 … … 926 926 * @param pvUser The pvUser parameter of VRDEVideoInGetDeviceDesc. 927 927 * @param pDeviceDesc The device description. 928 * @param cbDevice 928 * @param cbDeviceDesc The size of buffer pointed by pDevice. 929 929 */ 930 930 DECLR3CALLBACKMEMBER(void, VRDECallbackVideoInDeviceDesc,(void *pvCallback, … … 933 933 void *pvUser, 934 934 const VRDEVIDEOINDEVICEDESC *pDeviceDesc, 935 uint32_t cbDevice ));935 uint32_t cbDeviceDesc)); 936 936 937 937 /* Control response or notification. -
trunk/include/VBox/settings.h
r43041 r44191 789 789 ChipsetType_T chipsetType; // requires settings version 1.11 (VirtualBox 4.0) 790 790 791 bool fEmulatedUSBWebcam; // 1.13 (VirtualBox 4.2) 791 792 bool fEmulatedUSBCardReader; // 1.12 (VirtualBox 4.1) 792 793 -
trunk/src/VBox/Frontends/VBoxManage/Makefile.kmk
r42838 r44191 75 75 $(if $(VBOX_WITH_VIDEOHWACCEL), VBOX_WITH_VIDEOHWACCEL) \ 76 76 $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) \ 77 $(if $(VBOX_WITH_USB_VIDEO),VBOX_WITH_USB_VIDEO) \ 77 78 $(if $(VBOX_WITH_USB_CARDREADER),VBOX_WITH_USB_CARDREADER) \ 78 79 $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH) \ -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
r44131 r44191 355 355 " [--faulttolerancesyncinterval <msec>]\n" 356 356 " [--faulttolerancepassword <password>]\n" 357 #endif 358 #ifdef VBOX_WITH_USB_VIDEO 359 " [--usbwebcam on|off]\n" 357 360 #endif 358 361 #ifdef VBOX_WITH_USB_CARDREADER -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r44028 r44191 184 184 MODIFYVM_ATTACH_PCI, 185 185 MODIFYVM_DETACH_PCI, 186 #endif 187 #ifdef VBOX_WITH_USB_WEBCAM 188 MODIFYVM_USBWEBCAM, 186 189 #endif 187 190 #ifdef VBOX_WITH_USB_CARDREADER … … 343 346 { "--pcidetach", MODIFYVM_DETACH_PCI, RTGETOPT_REQ_STRING }, 344 347 #endif 348 #ifdef VBOX_WITH_USB_WEBCAM 349 { "--usbwebcam", MODIFYVM_USBWEBCAM, RTGETOPT_REQ_BOOL_ONOFF }, 350 #endif 345 351 #ifdef VBOX_WITH_USB_CARDREADER 346 352 { "--usbcardreader", MODIFYVM_USBCARDREADER, RTGETOPT_REQ_BOOL_ONOFF }, … … 2491 2497 } 2492 2498 #endif 2499 2500 #ifdef VBOX_WITH_USB_WEBCAM 2501 case MODIFYVM_USBWEBCAM: 2502 { 2503 CHECK_ERROR(machine, COMSETTER(EmulatedUSBWebcameraEnabled)(ValueUnion.f)); 2504 break; 2505 } 2506 #endif /* VBOX_WITH_USB_WEBCAM */ 2507 2493 2508 #ifdef VBOX_WITH_USB_CARDREADER 2494 2509 case MODIFYVM_USBCARDREADER: -
trunk/src/VBox/Main/include/ConsoleImpl.h
r44151 r44191 36 36 class Nvram; 37 37 #ifdef VBOX_WITH_USB_VIDEO 38 class UsbWebcamInterface;38 class EmWebcam; 39 39 #endif 40 40 #ifdef VBOX_WITH_USB_CARDREADER … … 228 228 #ifdef VBOX_WITH_USB_CARDREADER 229 229 UsbCardReader *getUsbCardReader() { return mUsbCardReader; } 230 #endif 231 #ifdef VBOX_WITH_USB_VIDEO 232 EmWebcam *getEmWebcam() { return mEmWebcam; } 230 233 #endif 231 234 … … 776 779 Nvram * const mNvram; 777 780 #ifdef VBOX_WITH_USB_VIDEO 778 UsbWebcamInterface * const mUsbWebcamInterface;781 EmWebcam * const mEmWebcam; 779 782 #endif 780 783 #ifdef VBOX_WITH_USB_CARDREADER -
trunk/src/VBox/Main/include/ConsoleVRDPServer.h
r43929 r44191 154 154 int VideoInGetDeviceDesc(void *pvUser, const VRDEVIDEOINDEVICEHANDLE *pDeviceHandle); 155 155 int VideoInControl(void *pvUser, const VRDEVIDEOINDEVICEHANDLE *pDeviceHandle, 156 VRDEVIDEOINCTRLHDR *pReq, uint32_t cbReq);156 const VRDEVIDEOINCTRLHDR *pReq, uint32_t cbReq); 157 157 158 158 private: -
trunk/src/VBox/Main/include/MachineImpl.h
r44167 r44191 297 297 PointingHIDType_T mPointingHIDType; 298 298 ChipsetType_T mChipsetType; 299 BOOL mEmulatedUSBWebcamEnabled; 299 300 BOOL mEmulatedUSBCardReaderEnabled; 300 301 -
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r44167 r44191 380 380 , mNvram(NULL) 381 381 #ifdef VBOX_WITH_USB_VIDEO 382 , m UsbWebcamInterface(NULL)382 , mEmWebcam(NULL) 383 383 #endif 384 384 #ifdef VBOX_WITH_USB_CARDREADER … … 550 550 551 551 #ifdef VBOX_WITH_USB_VIDEO 552 unconst(m UsbWebcamInterface) = new UsbWebcamInterface(this);553 AssertReturn(m UsbWebcamInterface, E_FAIL);552 unconst(mEmWebcam) = new EmWebcam(this); 553 AssertReturn(mEmWebcam, E_FAIL); 554 554 #endif 555 555 #ifdef VBOX_WITH_USB_CARDREADER … … 651 651 652 652 #ifdef VBOX_WITH_USB_VIDEO 653 if (m UsbWebcamInterface)654 { 655 delete m UsbWebcamInterface;656 unconst(m UsbWebcamInterface) = NULL;653 if (mEmWebcam) 654 { 655 delete mEmWebcam; 656 unconst(mEmWebcam) = NULL; 657 657 } 658 658 #endif -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r44151 r44191 2396 2396 2397 2397 #ifdef VBOX_WITH_USB_VIDEO 2398 2399 InsertConfigNode(pUsbDevices, "Webcam", &pDev); 2400 InsertConfigNode(pDev, "0", &pInst); 2401 InsertConfigNode(pInst, "Config", &pCfg); 2402 # if 0 /* Experiments with attaching */ 2403 InsertConfigInteger(pCfg, "USBVER", RT_BIT(2)); 2398 BOOL aEmulatedUSBWebcamEnabled = FALSE; 2399 hrc = pMachine->COMGETTER(EmulatedUSBWebcameraEnabled)(&aEmulatedUSBWebcamEnabled); H(); 2400 if (aEmulatedUSBWebcamEnabled) 2401 { 2402 InsertConfigNode(pUsbDevices, "Webcam", &pDev); 2403 InsertConfigNode(pDev, "0", &pInst); 2404 InsertConfigNode(pInst, "Config", &pCfg); 2405 InsertConfigNode(pInst, "LUN#0", &pLunL0); 2406 # ifdef VBOX_WITH_USB_VIDEO_TEST 2407 InsertConfigString(pLunL0, "Driver", "WebcamFileFeeder"); 2408 InsertConfigNode(pLunL0, "Config", &pCfg); 2409 InsertConfigString(pCfg, "DirToFeed", "out"); 2410 # else 2411 InsertConfigString(pLunL0, "Driver", "EmWebcam"); 2412 InsertConfigNode(pLunL0, "Config", &pCfg); 2413 InsertConfigInteger(pCfg, "Object", (uintptr_t)mEmWebcam); 2404 2414 # endif 2405 InsertConfigNode(pInst, "LUN#0", &pLunL0); 2406 # ifdef VBOX_WITH_USB_VIDEO_TEST 2407 InsertConfigString(pLunL0, "Driver", "WebcamFileFeeder"); 2408 InsertConfigNode(pLunL0, "Config", &pCfg); 2409 InsertConfigString(pCfg, "DirToFeed", "out"); 2410 # else 2411 InsertConfigString(pLunL0, "Driver", "UsbWebcamInterface"); 2412 InsertConfigNode(pLunL0, "Config", &pCfg); 2413 InsertConfigInteger(pCfg, "Object", mUsbWebcamInterface); 2414 # endif 2415 } 2415 2416 #endif 2417 2416 2418 #ifdef VBOX_WITH_USB_CARDREADER 2417 2419 BOOL aEmulatedUSBCardReaderEnabled = FALSE; -
trunk/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
r43929 r44191 28 28 #ifdef VBOX_WITH_USB_CARDREADER 29 29 # include "UsbCardReader.h" 30 #endif 31 #ifdef VBOX_WITH_USB_VIDEO 32 # include "UsbWebcamInterface.h" 30 33 #endif 31 34 … … 2576 2579 #ifdef VBOX_WITH_USB_VIDEO 2577 2580 ConsoleVRDPServer *pThis = static_cast<ConsoleVRDPServer*>(pvCallback); 2578 UsbWebcamInterface *pWebCam = pThis->mConsole->getUsbWebcamInterface();2579 return pWebCam->WebCamNotify(u32Id, pvData, cbData);2581 EmWebcam *pWebcam = pThis->mConsole->getEmWebcam(); 2582 pWebcam->EmWebcamCbNotify(u32Id, pvData, cbData); 2580 2583 #else 2581 2584 NOREF(pvCallback); … … 2595 2598 #ifdef VBOX_WITH_USB_VIDEO 2596 2599 ConsoleVRDPServer *pThis = static_cast<ConsoleVRDPServer*>(pvCallback); 2597 UsbWebcamInterface *pWebCam = pThis->mConsole->getUsbWebcamInterface();2598 return pWebCam->WebCamDeviceDesc(rcRequest, pDeviceCtx, pvUser, pDeviceDesc, cbDevice);2600 EmWebcam *pWebcam = pThis->mConsole->getEmWebcam(); 2601 pWebcam->EmWebcamCbDeviceDesc(rcRequest, pDeviceCtx, pvUser, pDeviceDesc, cbDevice); 2599 2602 #else 2600 2603 NOREF(pvCallback); … … 2616 2619 #ifdef VBOX_WITH_USB_VIDEO 2617 2620 ConsoleVRDPServer *pThis = static_cast<ConsoleVRDPServer*>(pvCallback); 2618 UsbWebcamInterface *pWebCam = pThis->mConsole->getUsbWebcamInterface();2619 return pWebCam->WebCamControl(rcRequest, pDeviceCtx, pvUser, pControl, cbControl);2621 EmWebcam *pWebcam = pThis->mConsole->getEmWebcam(); 2622 pWebcam->EmWebcamCbControl(rcRequest, pDeviceCtx, pvUser, pControl, cbControl); 2620 2623 #else 2621 2624 NOREF(pvCallback); … … 2636 2639 #ifdef VBOX_WITH_USB_VIDEO 2637 2640 ConsoleVRDPServer *pThis = static_cast<ConsoleVRDPServer*>(pvCallback); 2638 UsbWebcamInterface *pWebCam = pThis->mConsole->getUsbWebcamInterface();2639 return pWebCam->WebCamFrame(rcRequest, pDeviceCtx, pvUser, pFrame, cbFrame);2641 EmWebcam *pWebcam = pThis->mConsole->getEmWebcam(); 2642 pWebcam->EmWebcamCbFrame(rcRequest, pDeviceCtx, pFrame, cbFrame); 2640 2643 #else 2641 2644 NOREF(pvCallback); … … 2696 2699 2697 2700 int ConsoleVRDPServer::VideoInControl(void *pvUser, const VRDEVIDEOINDEVICEHANDLE *pDeviceHandle, 2698 VRDEVIDEOINCTRLHDR *pReq, uint32_t cbReq)2701 const VRDEVIDEOINCTRLHDR *pReq, uint32_t cbReq) 2699 2702 { 2700 2703 int rc; -
trunk/src/VBox/Main/src-client/VBoxDriversRegister.cpp
r43131 r44191 79 79 80 80 #ifdef VBOX_WITH_USB_VIDEO 81 rc = pCallbacks->pfnRegister(pCallbacks, & UsbWebcamInterface::DrvReg);81 rc = pCallbacks->pfnRegister(pCallbacks, &EmWebcam::DrvReg); 82 82 if (RT_FAILURE(rc)) 83 83 return rc; -
trunk/src/VBox/Main/src-server/MachineImpl.cpp
r44167 r44191 209 209 mPointingHIDType = PointingHIDType_PS2Mouse; 210 210 mChipsetType = ChipsetType_PIIX3; 211 mEmulatedUSBWebcamEnabled = FALSE; 211 212 mEmulatedUSBCardReaderEnabled = FALSE; 212 213 … … 1625 1626 STDMETHODIMP Machine::COMGETTER(EmulatedUSBWebcameraEnabled)(BOOL *enabled) 1626 1627 { 1628 #ifdef VBOX_WITH_USB_VIDEO 1629 CheckComArgOutPointerValid(enabled); 1630 1631 AutoCaller autoCaller(this); 1632 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 1633 1634 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 1635 1636 *enabled = mHWData->mEmulatedUSBWebcamEnabled; 1637 1638 return S_OK; 1639 #else 1627 1640 NOREF(enabled); 1628 1641 return E_NOTIMPL; 1642 #endif 1629 1643 } 1630 1644 1631 1645 STDMETHODIMP Machine::COMSETTER(EmulatedUSBWebcameraEnabled)(BOOL enabled) 1632 1646 { 1647 #ifdef VBOX_WITH_USB_VIDEO 1648 AutoCaller autoCaller(this); 1649 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 1650 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 1651 1652 HRESULT rc = checkStateDependency(MutableStateDep); 1653 if (FAILED(rc)) return rc; 1654 1655 setModified(IsModified_MachineData); 1656 mHWData.backup(); 1657 mHWData->mEmulatedUSBWebcamEnabled = enabled; 1658 1659 return S_OK; 1660 #else 1633 1661 NOREF(enabled); 1634 1662 return E_NOTIMPL; 1663 #endif 1635 1664 } 1636 1665 … … 8535 8564 mHWData->mKeyboardHIDType = data.keyboardHIDType; 8536 8565 mHWData->mChipsetType = data.chipsetType; 8566 mHWData->mEmulatedUSBWebcamEnabled = data.fEmulatedUSBWebcam; 8537 8567 mHWData->mEmulatedUSBCardReaderEnabled = data.fEmulatedUSBCardReader; 8538 8568 mHWData->mHPETEnabled = data.fHPETEnabled; … … 9720 9750 data.chipsetType = mHWData->mChipsetType; 9721 9751 9752 data.fEmulatedUSBWebcam = !!mHWData->mEmulatedUSBWebcamEnabled; 9722 9753 data.fEmulatedUSBCardReader = !!mHWData->mEmulatedUSBCardReaderEnabled; 9723 9754 -
trunk/src/VBox/Main/xml/Settings.cpp
r44039 r44191 1617 1617 keyboardHIDType(KeyboardHIDType_PS2Keyboard), 1618 1618 chipsetType(ChipsetType_PIIX3), 1619 fEmulatedUSBWebcam(false), 1619 1620 fEmulatedUSBCardReader(false), 1620 1621 clipboardMode(ClipboardMode_Disabled), … … 1685 1686 && (keyboardHIDType == h.keyboardHIDType) 1686 1687 && (chipsetType == h.chipsetType) 1688 && (fEmulatedUSBWebcam == h.fEmulatedUSBWebcam) 1687 1689 && (fEmulatedUSBCardReader == h.fEmulatedUSBCardReader) 1688 1690 && (vrdeSettings == h.vrdeSettings) … … 2873 2875 else if (pelmHwChild->nameEquals("EmulatedUSB")) 2874 2876 { 2875 const xml::ElementNode *pelmCardReader ;2877 const xml::ElementNode *pelmCardReader, *pelmWebcam; 2876 2878 2877 2879 if ((pelmCardReader = pelmHwChild->findChildElement("CardReader"))) 2878 2880 { 2879 2881 pelmCardReader->getAttributeValue("enabled", hw.fEmulatedUSBCardReader); 2882 } 2883 2884 if ((pelmWebcam = pelmHwChild->findChildElement("Webcam"))) 2885 { 2886 pelmWebcam->getAttributeValue("enabled", hw.fEmulatedUSBWebcam); 2880 2887 } 2881 2888 } … … 4188 4195 { 4189 4196 xml::ElementNode *pelmEmulatedUSB = pelmHardware->createChild("EmulatedUSB"); 4197 4190 4198 xml::ElementNode *pelmCardReader = pelmEmulatedUSB->createChild("CardReader"); 4191 4192 4199 pelmCardReader->setAttribute("enabled", hw.fEmulatedUSBCardReader); 4200 4201 if (m->sv >= SettingsVersion_v1_13) 4202 { 4203 xml::ElementNode *pelmWebcam = pelmEmulatedUSB->createChild("Webcam"); 4204 pelmWebcam->setAttribute("enabled", hw.fEmulatedUSBWebcam); 4205 } 4193 4206 } 4194 4207 … … 4880 4893 } 4881 4894 4895 if (m->sv < SettingsVersion_v1_13) 4896 { 4897 /* 4.2: Emulated USB Webcam. */ 4898 if (hardwareMachine.fEmulatedUSBWebcam) 4899 m->sv = SettingsVersion_v1_13; 4900 } 4901 4882 4902 if (m->sv < SettingsVersion_v1_12) 4883 4903 {
Note:
See TracChangeset
for help on using the changeset viewer.