1 /* 2 * Copyright 2009, Ithamar Adema, <ithamar.adema@team-embedded.nl>. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 #ifndef _UVC_CAM_DEVICE_H 7 #define _UVC_CAM_DEVICE_H 8 9 #include "CamDevice.h" 10 11 class UVCCamDevice : public CamDevice { 12 public: 13 UVCCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); 14 ~UVCCamDevice(); 15 16 virtual bool SupportsIsochronous(); 17 virtual status_t StartTransfer(); 18 virtual status_t StopTransfer(); 19 private: 20 void ParseVideoControl(const uint8* buf, size_t len); 21 void ParseVideoStreaming(const uint8* buf, size_t len); 22 }; 23 24 class UVCCamDeviceAddon : public CamDeviceAddon { 25 public: 26 UVCCamDeviceAddon(WebCamMediaAddOn* webcam); 27 virtual ~UVCCamDeviceAddon(); 28 29 virtual const char *BrandName(); 30 virtual UVCCamDevice *Instantiate(CamRoster &roster, BUSBDevice *from); 31 }; 32 33 #endif /* _UVC_CAM_DEVICE_H */ 34