From 02af02f93ae67777d65cce1eda1c5f21aaed3446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 12 Apr 2010 20:34:04 +0000 Subject: [PATCH] partial clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36198 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../media/media-add-ons/usb_webcam/AddOn.cpp | 14 +- .../media/media-add-ons/usb_webcam/AddOn.h | 7 +- .../usb_webcam/CamBufferedFilterInterface.cpp | 4 +- .../usb_webcam/CamBufferedFilterInterface.h | 3 +- .../usb_webcam/CamBufferingDeframer.cpp | 31 ++-- .../usb_webcam/CamBufferingDeframer.h | 3 +- .../usb_webcam/CamColorSpaceTransform.cpp | 13 +- .../usb_webcam/CamColorSpaceTransform.h | 13 +- .../media-add-ons/usb_webcam/CamDeframer.cpp | 27 ++-- .../media-add-ons/usb_webcam/CamDeframer.h | 6 +- .../media-add-ons/usb_webcam/CamDevice.cpp | 28 ++-- .../usb_webcam/CamFilterInterface.cpp | 9 +- .../usb_webcam/CamFilterInterface.h | 3 +- .../media-add-ons/usb_webcam/CamRoster.cpp | 23 ++- .../media-add-ons/usb_webcam/CamRoster.h | 5 +- .../media-add-ons/usb_webcam/CamSensor.cpp | 16 +- .../media-add-ons/usb_webcam/CamSensor.h | 19 ++- .../usb_webcam/CamStreamingDeframer.cpp | 23 ++- .../usb_webcam/CamStreamingDeframer.h | 3 +- .../media-add-ons/usb_webcam/Producer.cpp | 138 ++++++++++++------ .../media/media-add-ons/usb_webcam/Producer.h | 9 +- .../usb_webcam/addons/NW80xCamDevice.h | 11 +- .../addons/quickcam/QuickCamDevice.h | 14 +- .../addons/sonix/SonixCamDevice.cpp | 78 +++++----- .../usb_webcam/addons/sonix/SonixCamDevice.h | 30 ++-- .../usb_webcam/addons/uvc/USB_video.h | 48 +++--- .../usb_webcam/addons/uvc/UVCCamDevice.cpp | 29 +++- .../usb_webcam/addons/uvc/UVCCamDevice.h | 8 +- .../usb_webcam/sensors/hdcs1000.cpp | 4 +- .../usb_webcam/sensors/hv7131e1.cpp | 6 +- 30 files changed, 326 insertions(+), 299 deletions(-) diff --git a/src/add-ons/media/media-add-ons/usb_webcam/AddOn.cpp b/src/add-ons/media/media-add-ons/usb_webcam/AddOn.cpp index f13f261874..a115c3f854 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/AddOn.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/AddOn.cpp @@ -48,19 +48,19 @@ WebCamMediaAddOn::~WebCamMediaAddOn() } -status_t +status_t WebCamMediaAddOn::InitCheck(const char **out_failure_text) { if (fInitStatus < B_OK) { *out_failure_text = "No cameras attached"; return fInitStatus; } - + return B_OK; } -int32 +int32 WebCamMediaAddOn::CountFlavors() { PRINT((CH "()" CT)); @@ -78,10 +78,10 @@ WebCamMediaAddOn::CountFlavors() /* - * The pointer to the flavor received only needs to be valid between + * The pointer to the flavor received only needs to be valid between * successive calls to BMediaAddOn::GetFlavorAt(). */ -status_t +status_t WebCamMediaAddOn::GetFlavorAt(int32 n, const flavor_info **out_info) { PRINT((CH "(%d, ) roster %p is %lx" CT, n, fRoster, fInitStatus)); @@ -191,7 +191,7 @@ WebCamMediaAddOn::FillDefaultFlavorInfo(flavor_info* info) BMediaAddOn * -make_media_addon(image_id imid) +make_media_addon(image_id id) { - return new WebCamMediaAddOn(imid); + return new WebCamMediaAddOn(id); } diff --git a/src/add-ons/media/media-add-ons/usb_webcam/AddOn.h b/src/add-ons/media/media-add-ons/usb_webcam/AddOn.h index 166dbb5fa0..aaa08e77a9 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/AddOn.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/AddOn.h @@ -14,12 +14,11 @@ extern "C" _EXPORT BMediaAddOn *make_media_addon(image_id you); class CamRoster; class CamDevice; -class WebCamMediaAddOn : public BMediaAddOn -{ +class WebCamMediaAddOn : public BMediaAddOn { public: WebCamMediaAddOn(image_id imid); virtual ~WebCamMediaAddOn(); - + virtual status_t InitCheck(const char **out_failure_text); virtual int32 CountFlavors(); @@ -44,7 +43,7 @@ public: status_t CameraAdded(CamDevice* device); status_t CameraRemoved(CamDevice* device); void FillDefaultFlavorInfo(flavor_info* info); - + private: uint32 fInternalIDCounter; status_t fInitStatus; diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.cpp index 71cbf8dfad..97ca4c8825 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.cpp @@ -9,8 +9,8 @@ CamBufferedFilterInterface::CamBufferedFilterInterface(CamDevice *device, bool allowWrite) -: CamFilterInterface(device), -fAllowWrite(allowWrite) + : CamFilterInterface(device), + fAllowWrite(allowWrite) { } diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.h b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.h index ade13e95e7..85571e0c34 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferedFilterInterface.h @@ -10,8 +10,7 @@ #include #include "CamFilterInterface.h" -class CamBufferedFilterInterface : public CamFilterInterface -{ +class CamBufferedFilterInterface : public CamFilterInterface { public: CamBufferedFilterInterface(CamDevice *device, bool allowWrite); virtual ~CamBufferedFilterInterface(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.cpp index 25b785ff82..b2d2ddd84b 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.cpp @@ -3,7 +3,7 @@ * Distributed under the terms of the MIT License. */ -/* +/* * buffer based deframer * buffers all packet until it finds a complete frame. * simpler than StreamingDeframer, but doesn't work any better @@ -22,8 +22,8 @@ CamBufferingDeframer::CamBufferingDeframer(CamDevice *device) -: CamDeframer(device), -fInputBuffIndex(0) + : CamDeframer(device), + fInputBuffIndex(0) { } @@ -67,30 +67,30 @@ CamBufferingDeframer::Write(const void *buffer, size_t size) break; if (!fDevice->ValidateStartOfFrameTag(b + s, fSkipSOFTags)) continue; - + PRINT((CH ": SOF[%d] at offset %d" CT, which, s)); PRINT((CH ": SOF: ... %02x %02x %02x %02x %02x %02x" CT, b[s+6], b[s+7], b[s+8], b[s+9], b[s+10], b[s+11])); - + for (e = s + fSkipSOFTags + fMinFrameSize; - ((e <= (int)(s + fSkipSOFTags + fMaxFrameSize)) && - (e < l) && ((i = 0*FindEOF(b + e, l - e, &which)) > -1)); + ((e <= (int)(s + fSkipSOFTags + fMaxFrameSize)) && + (e < l) && ((i = 0*FindEOF(b + e, l - e, &which)) > -1)); e++) { e += i; - + //PRINT((CH ": EOF[%d] at offset %d" CT, which, s)); if (!fDevice->ValidateEndOfFrameTag(b + e, fSkipEOFTags, e - s - fSkipSOFTags)) continue; - - - + + + PRINT((CH ": SOF= ... %02x %02x %02x %02x %02x %02x" CT, b[s+6], b[s+7], b[s+8], b[s+9], b[s+10], b[s+11])); - + // we have one! s += fSkipSOFTags; - + // fill it fCurrentFrame->Write(b + s, e - s); - + // queue it BAutolock f(fLocker); PRINT((CH ": Detaching a frame (%d bytes, %d to %d / %d)" CT, (size_t)fCurrentFrame->Position(), s, e, l)); @@ -101,7 +101,7 @@ CamBufferingDeframer::Write(const void *buffer, size_t size) fCurrentFrame = NULL; // discard the frame and everything before it. DiscardFromInput(e + fSkipEOFTags); - + return size; } } @@ -126,4 +126,3 @@ CamBufferingDeframer::DiscardFromInput(size_t size) fInputBuffIndex = next; return size; } - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.h b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.h index 71d07ea423..75255a2bb9 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamBufferingDeframer.h @@ -7,8 +7,7 @@ #include "CamDeframer.h" -class CamBufferingDeframer : public CamDeframer -{ +class CamBufferingDeframer : public CamDeframer { public: CamBufferingDeframer(CamDevice *device); virtual ~CamBufferingDeframer(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.cpp index 6cbad0b6f5..295ee74baf 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.cpp @@ -27,22 +27,22 @@ CamColorSpaceTransform::CamColorSpaceTransform() : fInitStatus(B_NO_INIT), fVideoFrame() { - + } CamColorSpaceTransform::~CamColorSpaceTransform() { - + } - + status_t CamColorSpaceTransform::InitCheck() { return fInitStatus; } - + const char * CamColorSpaceTransform::Name() @@ -68,12 +68,9 @@ CamColorSpaceTransform::SetVideoFrame(BRect rect) CamColorSpaceTransform * CamColorSpaceTransform::Create(const char *name) { - int i; - for (i = 0; kTransformTable[i].name; i++) { + for (int i = 0; kTransformTable[i].name; i++) { if (!strcmp(kTransformTable[i].name, name)) return kTransformTable[i].instfunc(); } return NULL; } - - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.h b/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.h index c4874f3af6..1ab904ec8b 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamColorSpaceTransform.h @@ -9,22 +9,21 @@ #include // This class represents the camera's (cmos or whatever) sensor chip -class CamColorSpaceTransform -{ - public: +class CamColorSpaceTransform { + public: CamColorSpaceTransform(); virtual ~CamColorSpaceTransform(); virtual status_t InitCheck(); - + virtual const char* Name(); virtual color_space OutputSpace(); - + virtual status_t SetVideoFrame(BRect rect); virtual BRect VideoFrame() const { return fVideoFrame; }; - + static CamColorSpaceTransform *Create(const char *name); - + protected: status_t fInitStatus; BRect fVideoFrame; diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.cpp index b14ed1e8a3..01ab6ad25f 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.cpp @@ -13,19 +13,19 @@ CamDeframer::CamDeframer(CamDevice *device) -: CamFilterInterface(device), -fDevice(device), -fState(ST_SYNC), -fFrameSem(B_ERROR), -fLocker("CamDeframer Framelist lock", true), -fSOFTags(NULL), -fEOFTags(NULL), -fNumSOFTags(0), -fNumEOFTags(0), -fLenSOFTags(0), -fLenEOFTags(0), -fSkipSOFTags(0), -fSkipEOFTags(0) + : CamFilterInterface(device), + fDevice(device), + fState(ST_SYNC), + fFrameSem(B_ERROR), + fLocker("CamDeframer Framelist lock", true), + fSOFTags(NULL), + fEOFTags(NULL), + fNumSOFTags(0), + fNumEOFTags(0), + fLenSOFTags(0), + fLenEOFTags(0), + fSkipSOFTags(0), + fSkipEOFTags(0) { fMinFrameSize = fDevice->MinRawFrameSize(); fMaxFrameSize = fDevice->MaxRawFrameSize(); @@ -217,4 +217,3 @@ CamDeframer::AllocFrame() { return new CamFrame(); } - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.h b/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.h index 33c14509a2..961c1b90d4 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamDeframer.h @@ -22,8 +22,7 @@ ST_FRAME /* should have a real Frame class someday */ -class CamFrame : public BMallocIO -{ +class CamFrame : public BMallocIO { public: CamFrame() : BMallocIO() { fStamp = system_time(); }; virtual ~CamFrame() {}; @@ -31,8 +30,7 @@ bigtime_t Stamp() const { return fStamp; }; bigtime_t fStamp; }; -class CamDeframer : public CamFilterInterface -{ +class CamDeframer : public CamFilterInterface { public: CamDeframer(CamDevice *device); virtual ~CamDeframer(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamDevice.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamDevice.cpp index 16406b0518..073f62f18b 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamDevice.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamDevice.cpp @@ -78,16 +78,16 @@ CamDevice::~CamDevice() if (fDeframer) delete fDeframer; } - + status_t CamDevice::InitCheck() { return fInitStatus; } - -bool + +bool CamDevice::Matches(BUSBDevice* _device) { return (_device) == (fDevice); @@ -182,12 +182,12 @@ CamDevice::StopTransfer() if (err < B_OK) return err; fTransferEnabled = false; - + // the thread itself might Lock() fLocker.Unlock(); wait_for_thread(fPumpThread, &err); fLocker.Lock(); - + return B_OK; } @@ -233,12 +233,14 @@ CamDevice::AddParameters(BParameterGroup *group, int32 &index) fFirstParameterID = index; } + status_t CamDevice::GetParameterValue(int32 id, bigtime_t *last_change, void *value, size_t *size) { return B_BAD_VALUE; } + status_t CamDevice::SetParameterValue(int32 id, bigtime_t when, const void *value, size_t size) { @@ -246,7 +248,6 @@ CamDevice::SetParameterValue(int32 id, bigtime_t when, const void *value, size_t } - size_t CamDevice::MinRawFrameSize() { @@ -395,6 +396,7 @@ CamDevice::WriteIIC8(uint8 address, uint8 data) return WriteIIC(address, &data, 1); } + ssize_t CamDevice::WriteIIC16(uint8 address, uint16 data) { @@ -406,8 +408,6 @@ CamDevice::WriteIIC16(uint8 address, uint16 data) } - - ssize_t CamDevice::ReadIIC(uint8 address, uint8 *data) { @@ -467,7 +467,7 @@ CamDevice::ProbeSensor() BString name; sensors.CopyInto(name, i, sensors.FindFirst(',', i) - i); PRINT((CH ": probing sensor '%s'..." CT, name.String())); - + fSensor = CreateSensor(name.String()); if (fSensor) { err = fSensor->Probe(); @@ -523,7 +523,7 @@ CamDevice::DataPumpThread() #ifndef DEBUG_DISCARD_INPUT len = fBulkIn->BulkTransfer(fBuffer, fBufferLen); #endif - + //PRINT((CH ": got %ld bytes" CT, len)); #ifdef DEBUG_WRITE_DUMP write(fDumpFD, fBuffer, len); @@ -561,7 +561,7 @@ CamDevice::DataPumpThread() #ifndef DEBUG_DISCARD_INPUT len = fIsoIn->IsochronousTransfer(fBuffer, fBufferLen, packetDescriptors, numPacketDescriptors); #endif - + //PRINT((CH ": got %d bytes" CT, len)); #ifdef DEBUG_WRITE_DUMP write(fDumpFD, fBuffer, len); @@ -618,7 +618,7 @@ CamDevice::SendCommand(uint8 dir, uint8 request, uint16 value, if (length > GetDevice()->MaxEndpoint0PacketSize()) return EINVAL; ret = GetDevice()->ControlTransfer( - USB_REQTYPE_VENDOR | USB_REQTYPE_INTERFACE_OUT | dir, + USB_REQTYPE_VENDOR | USB_REQTYPE_INTERFACE_OUT | dir, request, value, index, length, data); return ret; } @@ -653,8 +653,7 @@ CamDeviceAddon::Sniff(BUSBDevice *device) return EINVAL; bool supported = false; - for (uint32 i = 0; !supported && fSupportedDevices[i].vendor; i++) - { + for (uint32 i = 0; !supported && fSupportedDevices[i].vendor; i++) { if ((fSupportedDevices[i].desc.vendor != 0 && device->VendorID() != fSupportedDevices[i].desc.vendor) || (fSupportedDevices[i].desc.product != 0 @@ -711,4 +710,3 @@ CamDeviceAddon::SetSupportedDevices(const usb_webcam_support_descriptor *devs) { fSupportedDevices = devs; } - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.cpp index 2cdfb54358..601ab97e6b 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.cpp @@ -9,12 +9,12 @@ CamFilterInterface::CamFilterInterface(CamDevice *device) -: BPositionIO(), -fDevice(device), -fNextOfKin(NULL) + : BPositionIO(), + fDevice(device), + fNextOfKin(NULL) { fVideoFrame = BRect(0,0,-1,-1); - + } @@ -145,4 +145,3 @@ CamFilterInterface::SetVideoFrame(BRect frame) fVideoFrame = frame; return B_OK; } - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.h b/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.h index 57618659cc..13a9e82d03 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamFilterInterface.h @@ -10,8 +10,7 @@ #include class CamDevice; -class CamFilterInterface : public BPositionIO -{ +class CamFilterInterface : public BPositionIO { public: CamFilterInterface(CamDevice *device); virtual ~CamFilterInterface(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.cpp index eeef15becf..4054e6c3be 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.cpp @@ -18,7 +18,6 @@ extern "C" status_t get_webcam_addon_##modname(WebCamMediaAddOn* webcam, CamDevi #undef B_WEBCAM_MKINTFUNC - CamRoster::CamRoster(WebCamMediaAddOn* _addon) : BUSBRoster(), fLocker("WebcamRosterLock"), @@ -40,8 +39,7 @@ CamRoster::DeviceAdded(BUSBDevice* _device) { PRINT((CH "()" CT)); status_t err; - for( int16 i = fCamerasAddons.CountItems()-1; i >= 0; --i ) - { + for (int16 i = fCamerasAddons.CountItems() - 1; i >= 0; --i ) { CamDeviceAddon *ao = (CamDeviceAddon *)fCamerasAddons.ItemAt(i); PRINT((CH ": checking %s for support..." CT, ao->BrandName())); err = ao->Sniff(_device); @@ -50,8 +48,7 @@ CamRoster::DeviceAdded(BUSBDevice* _device) CamDevice *cam = ao->Instantiate(*this, _device); PRINT((CH ": found camera %s:%s!" CT, cam->BrandName(), cam->ModelName())); err = cam->InitCheck(); - if (err >= B_OK) - { + if (err >= B_OK) { fCameras.AddItem(cam); fAddon->CameraAdded(cam); return B_OK; @@ -66,11 +63,9 @@ void CamRoster::DeviceRemoved(BUSBDevice* _device) { PRINT((CH "()" CT)); - for(int32 i = 0; i < fCameras.CountItems(); ++i) - { + for (int32 i = 0; i < fCameras.CountItems(); ++i) { CamDevice* cam = (CamDevice *)fCameras.ItemAt(i); - if( cam->Matches(_device) ) - { + if (cam->Matches(_device)) { PRINT((CH ": camera %s:%s removed" CT, cam->BrandName(), cam->ModelName())); fCameras.RemoveItem(i); fAddon->CameraRemoved(cam); @@ -78,9 +73,9 @@ CamRoster::DeviceRemoved(BUSBDevice* _device) //delete cam; cam->Unplugged(); return; - } + } } -} +} uint32 @@ -154,9 +149,9 @@ CamRoster::LoadExternalAddons() status_t err; CamDeviceAddon *addon; status_t (*get_webcam_addon_func)(WebCamMediaAddOn* webcam, CamDeviceAddon **addon); - for (index = 0; get_nth_image_symbol(fAddon->ImageID(), - index, NULL, NULL, - &sclass, + for (index = 0; get_nth_image_symbol(fAddon->ImageID(), + index, NULL, NULL, + &sclass, (void **)&get_webcam_addon_func) == B_OK; index++) { PRINT((CH ": got sym" CT)); // if (sclass != B_SYMBOL_TYPE_TEXT) diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.h b/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.h index 65c27b234c..3ed5fd8044 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamRoster.h @@ -14,8 +14,7 @@ class WebCamMediaAddOn; class CamDeviceAddon; -class CamRoster : public BUSBRoster -{ +class CamRoster : public BUSBRoster { public: CamRoster(WebCamMediaAddOn* _addon); virtual ~CamRoster(); @@ -29,7 +28,7 @@ public: CamDevice* CameraAt(int32 index); - + private: status_t LoadInternalAddons(); status_t LoadExternalAddons(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.cpp index e96a8d793c..c5ceafd34e 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.cpp @@ -15,15 +15,15 @@ CamSensor::CamSensor(CamDevice *_camera) fLastParameterChanges(0), fCamDevice(_camera) { - + } CamSensor::~CamSensor() { - + } - + status_t CamSensor::Probe() @@ -31,21 +31,21 @@ CamSensor::Probe() // default is to match by USB IDs return B_OK; } - + status_t CamSensor::InitCheck() { return fInitStatus; } - + status_t CamSensor::Setup() { return fInitStatus; } - + const char * CamSensor::Name() @@ -130,9 +130,7 @@ status_t CamSensor::ProbeByIICSignature(const uint8 *regList, const uint8 *matchList, size_t count) { - int i; - - for (i = 0; i < count; i++) { + for (int i = 0; i < count; i++) { uint8 value = 0; ssize_t len; len = Device()->ReadIIC8(regList[i], &value); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.h b/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.h index 79cc7a9f17..5321c5c536 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamSensor.h @@ -9,24 +9,23 @@ #include // This class represents the camera's (cmos or whatever) sensor chip -class CamSensor -{ - public: +class CamSensor { + public: CamSensor(CamDevice *_camera); virtual ~CamSensor(); virtual status_t Probe(); // returns B_OK if found. virtual status_t InitCheck(); - + virtual status_t Setup(); - + virtual const char* Name(); - + virtual status_t StartTransfer(); virtual status_t StopTransfer(); virtual bool TransferEnabled() const { return fTransferEnabled; }; - + virtual bool IsBigEndian() const { return fIsBigEndian; }; virtual bool Use400kHz() const { return false; }; virtual bool UseRealIIC() const { return true; }; @@ -44,16 +43,16 @@ class CamSensor virtual void AddParameters(BParameterGroup *group, int32 &index); virtual status_t GetParameterValue(int32 id, bigtime_t *last_change, void *value, size_t *size); virtual status_t SetParameterValue(int32 id, bigtime_t when, const void *value, size_t size); - + CamDevice *Device(); - + #if 0 // generic register-like access virtual status_t WriteReg(uint16 address, uint8 *data, size_t count=1); virtual status_t WriteReg8(uint16 address, uint8 data); virtual status_t WriteReg16(uint16 address, uint16 data); virtual status_t ReadReg(uint16 address, uint8 *data, size_t count=1, bool cached=false); - + // I2C-like access virtual status_t WriteIIC(uint8 address, uint8 *data, size_t count=1); virtual status_t ReadIIC(uint8 address, uint8 *data); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.cpp b/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.cpp index 21047ebea8..cf3975a639 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.cpp @@ -3,11 +3,11 @@ * Distributed under the terms of the MIT License. */ -/* +/* * stream based deframer * has a state machine and handles each packet separately. * much more complex than the buffering one, and I thought it didn't work, - * but since I fixed the rest it seems to be working even better without + * but since I fixed the rest it seems to be working even better without * taking the cpu over like the other one. */ @@ -21,7 +21,7 @@ CamStreamingDeframer::CamStreamingDeframer(CamDevice *device) -: CamDeframer(device) + : CamDeframer(device) { } @@ -56,7 +56,7 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) // update in case resolution changed fMinFrameSize = fDevice->MinRawFrameSize(); fMaxFrameSize = fDevice->MaxRawFrameSize(); - + if (fInputBuff.Position()) { // residual data ? append to it fInputBuff.Write(buffer, size); @@ -67,13 +67,13 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) } // whole buffer belongs to a frame, simple if ((fState == ST_FRAME) && (fCurrentFrame->Position() + bufsize < fMinFrameSize)) { - // no residual data, and + // no residual data, and fCurrentFrame->Write(buf, bufsize); fInputBuff.Seek(0LL, SEEK_SET); fInputBuff.SetSize(0); return size; } - + // waiting for a frame... if (fState == ST_SYNC) { i = 0; @@ -94,7 +94,7 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) fState = ST_FRAME; } } - + // check for end of frame if (fState == ST_FRAME) { #if 0 @@ -122,7 +122,7 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) i = bufsize; } PRINT((CH ": checking for EOF; bufsize=%d i=%d" CT, bufsize, i)); - + if (i + (int)fSkipEOFTags > bufsize) { // not enough room to check for EOF, leave it for next time end = i; i = -1; // don't detach yet @@ -178,9 +178,9 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) fState = ST_SYNC; } } - - - + + + // put the remainder in input buff, discarding old data #if 0 @@ -196,4 +196,3 @@ CamStreamingDeframer::Write(const void *buffer, size_t size) fInputBuff.SetSize(bufsize - end); return size; } - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.h b/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.h index 4754c0bc38..ce8a2ed25f 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/CamStreamingDeframer.h @@ -7,8 +7,7 @@ #include "CamDeframer.h" -class CamStreamingDeframer : public CamDeframer -{ +class CamStreamingDeframer : public CamDeframer { public: CamStreamingDeframer(CamDevice *device); virtual ~CamStreamingDeframer(); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/Producer.cpp b/src/add-ons/media/media-add-ons/usb_webcam/Producer.cpp index 5b8c142357..294d224797 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/Producer.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/Producer.cpp @@ -49,11 +49,13 @@ //#define FIELD_RATE 29.97f #define FIELD_RATE 5.f + int32 VideoProducer::fInstances = 0; + VideoProducer::VideoProducer( BMediaAddOn *addon, CamDevice *dev, const char *name, int32 internal_id) - : BMediaNode(name), + : BMediaNode(name), BMediaEventLooper(), BBufferProducer(B_MEDIA_RAW_VIDEO), BControllable() @@ -88,6 +90,7 @@ VideoProducer::VideoProducer( return; } + VideoProducer::~VideoProducer() { if (fInitStatus == B_OK) { @@ -102,14 +105,15 @@ VideoProducer::~VideoProducer() atomic_add(&fInstances, -1); } -/* BMediaNode */ +/* BMediaNode */ port_id VideoProducer::ControlPort() const { return BMediaNode::ControlPort(); } + BMediaAddOn * VideoProducer::AddOn(int32 *internal_id) const { @@ -118,19 +122,22 @@ VideoProducer::AddOn(int32 *internal_id) const return fAddOn; } -status_t + +status_t VideoProducer::HandleMessage(int32 /*message*/, const void* /*data*/, size_t /*size*/) { return B_ERROR; } -void + +void VideoProducer::Preroll() { /* This hook may be called before the node is started to give the hardware * a chance to start. */ } + void VideoProducer::SetTimeSource(BTimeSource* /*time_source*/) { @@ -138,15 +145,18 @@ VideoProducer::SetTimeSource(BTimeSource* /*time_source*/) release_sem(fFrameSync); } + status_t VideoProducer::RequestCompleted(const media_request_info &info) { return BMediaNode::RequestCompleted(info); } + /* BMediaEventLooper */ -void + +void VideoProducer::NodeRegistered() { if (fInitStatus != B_OK) { @@ -155,7 +165,7 @@ VideoProducer::NodeRegistered() } /* Set up the parameter web */ - + //TODO: remove and put sensible stuff there BParameterWeb *web = new BParameterWeb(); BParameterGroup *main = web->MakeGroup(Name()); @@ -200,7 +210,7 @@ VideoProducer::NodeRegistered() fOutput.source.port = ControlPort(); fOutput.source.id = 0; fOutput.destination = media_destination::null; - strcpy(fOutput.name, Name()); + strcpy(fOutput.name, Name()); /* Tailor these for the output of your device */ fOutput.format.type = B_MEDIA_RAW_VIDEO; @@ -213,50 +223,56 @@ VideoProducer::NodeRegistered() Run(); } + void VideoProducer::Start(bigtime_t performance_time) { BMediaEventLooper::Start(performance_time); } + void VideoProducer::Stop(bigtime_t performance_time, bool immediate) { BMediaEventLooper::Stop(performance_time, immediate); } + void VideoProducer::Seek(bigtime_t media_time, bigtime_t performance_time) { BMediaEventLooper::Seek(media_time, performance_time); } + void VideoProducer::TimeWarp(bigtime_t at_real_time, bigtime_t to_performance_time) { BMediaEventLooper::TimeWarp(at_real_time, to_performance_time); } + status_t VideoProducer::AddTimer(bigtime_t at_performance_time, int32 cookie) { return BMediaEventLooper::AddTimer(at_performance_time, cookie); } + void VideoProducer::SetRunMode(run_mode mode) { BMediaEventLooper::SetRunMode(mode); } -void + +void VideoProducer::HandleEvent(const media_timed_event *event, bigtime_t lateness, bool realTimeEvent) { TOUCH(lateness); TOUCH(realTimeEvent); - switch(event->type) - { + switch(event->type) { case BTimedEventQueue::B_START: HandleStart(event->event_time); break; @@ -278,33 +294,39 @@ VideoProducer::HandleEvent(const media_timed_event *event, } } -void + +void VideoProducer::CleanUpEvent(const media_timed_event *event) { BMediaEventLooper::CleanUpEvent(event); } + bigtime_t VideoProducer::OfflineTime() { return BMediaEventLooper::OfflineTime(); } + void VideoProducer::ControlLoop() { BMediaEventLooper::ControlLoop(); } + status_t VideoProducer::DeleteHook(BMediaNode * node) { return BMediaEventLooper::DeleteHook(node); } + /* BBufferProducer */ -status_t + +status_t VideoProducer::FormatSuggestionRequested( media_type type, int32 quality, media_format *format) { @@ -326,7 +348,8 @@ VideoProducer::FormatSuggestionRequested( return B_OK; } -status_t + +status_t VideoProducer::FormatProposal(const media_source &output, media_format *format) { status_t err; @@ -344,7 +367,7 @@ VideoProducer::FormatProposal(const media_source &output, media_format *format) err = format_is_compatible(*format, fOutput.format) ? B_OK : B_MEDIA_BAD_FORMAT; - uint32 width = format->u.raw_video.display.line_width; + uint32 width = format->u.raw_video.display.line_width; uint32 height = format->u.raw_video.display.line_count; *format = fOutput.format; @@ -362,10 +385,11 @@ VideoProducer::FormatProposal(const media_source &output, media_format *format) format->u.raw_video.display.line_count)); return err; - + } -status_t + +status_t VideoProducer::FormatChangeRequested(const media_source &source, const media_destination &destination, media_format *io_format, int32 *_deprecated_) @@ -373,11 +397,12 @@ VideoProducer::FormatChangeRequested(const media_source &source, TOUCH(destination); TOUCH(io_format); TOUCH(_deprecated_); if (source != fOutput.source) return B_MEDIA_BAD_SOURCE; - - return B_ERROR; + + return B_ERROR; } -status_t + +status_t VideoProducer::GetNextOutput(int32 *cookie, media_output *out_output) { if (!out_output) @@ -385,13 +410,14 @@ VideoProducer::GetNextOutput(int32 *cookie, media_output *out_output) if ((*cookie) != 0) return B_BAD_INDEX; - + *out_output = fOutput; (*cookie)++; return B_OK; } -status_t + +status_t VideoProducer::DisposeOutputCookie(int32 cookie) { TOUCH(cookie); @@ -399,7 +425,8 @@ VideoProducer::DisposeOutputCookie(int32 cookie) return B_OK; } -status_t + +status_t VideoProducer::SetBufferGroup(const media_source &for_source, BBufferGroup *group) { @@ -408,7 +435,8 @@ VideoProducer::SetBufferGroup(const media_source &for_source, return B_ERROR; } -status_t + +status_t VideoProducer::VideoClippingChanged(const media_source &for_source, int16 num_shorts, int16 *clip_data, const media_video_display_info &display, int32 *_deprecated_) @@ -419,14 +447,16 @@ VideoProducer::VideoClippingChanged(const media_source &for_source, return B_ERROR; } -status_t + +status_t VideoProducer::GetLatency(bigtime_t *out_latency) { *out_latency = EventLatency() + SchedulingLatency(); return B_OK; } -status_t + +status_t VideoProducer::PrepareToConnect(const media_source &source, const media_destination &destination, media_format *format, media_source *out_source, char *out_name) @@ -444,7 +474,7 @@ VideoProducer::PrepareToConnect(const media_source &source, if (source != fOutput.source) return B_MEDIA_BAD_SOURCE; - + if (fOutput.destination != media_destination::null) return B_MEDIA_ALREADY_CONNECTED; @@ -502,7 +532,8 @@ VideoProducer::PrepareToConnect(const media_source &source, return B_OK; } -void + +void VideoProducer::Connect(status_t error, const media_source &source, const media_destination &destination, const media_format &format, char *io_name) @@ -522,8 +553,8 @@ VideoProducer::Connect(status_t error, const media_source &source, return; } - if ( (source != fOutput.source) || (error < B_OK) || - !const_cast(&format)->Matches(&fOutput.format)) { + if (source != fOutput.source || error < B_OK + || !const_cast(&format)->Matches(&fOutput.format)) { PRINTF(1, ("Connect: Connect error\n")); return; } @@ -538,7 +569,7 @@ VideoProducer::Connect(status_t error, const media_source &source, (1000000 / fOutput.format.u.raw_video.field_rate)); fFrameBase = fFrame; } - + fConnectedFormat = format.u.raw_video; /* get the latency */ @@ -578,7 +609,7 @@ VideoProducer::Connect(status_t error, const media_source &source, release_sem(fFrameSync); } -void +void VideoProducer::Disconnect(const media_source &source, const media_destination &destination) { @@ -599,7 +630,7 @@ VideoProducer::Disconnect(const media_source &source, if (fRunning) HandleStop(); #endif - + fEnabled = false; fOutput.destination = media_destination::null; @@ -611,14 +642,16 @@ VideoProducer::Disconnect(const media_source &source, fConnected = false; } -void + +void VideoProducer::LateNoticeReceived(const media_source &source, bigtime_t how_much, bigtime_t performance_time) { TOUCH(source); TOUCH(how_much); TOUCH(performance_time); } -void + +void VideoProducer::EnableOutput(const media_source &source, bool enabled, int32 *_deprecated_) { @@ -630,7 +663,8 @@ VideoProducer::EnableOutput(const media_source &source, bool enabled, fEnabled = enabled; } -status_t + +status_t VideoProducer::SetPlayRate(int32 numer, int32 denom) { TOUCH(numer); TOUCH(denom); @@ -638,7 +672,8 @@ VideoProducer::SetPlayRate(int32 numer, int32 denom) return B_ERROR; } -void + +void VideoProducer::AdditionalBufferRequested(const media_source &source, media_buffer_id prev_buffer, bigtime_t prev_time, const media_seek_tag *prev_tag) @@ -646,7 +681,8 @@ VideoProducer::AdditionalBufferRequested(const media_source &source, TOUCH(source); TOUCH(prev_buffer); TOUCH(prev_time); TOUCH(prev_tag); } -void + +void VideoProducer::LatencyChanged(const media_source &source, const media_destination &destination, bigtime_t new_latency, uint32 flags) @@ -654,9 +690,11 @@ VideoProducer::LatencyChanged(const media_source &source, TOUCH(source); TOUCH(destination); TOUCH(new_latency); TOUCH(flags); } -/* BControllable */ -status_t +/* BControllable */ + + +status_t VideoProducer::GetParameterValue( int32 id, bigtime_t *last_change, void *value, size_t *size) { @@ -694,6 +732,7 @@ VideoProducer::GetParameterValue( return B_BAD_VALUE; } + void VideoProducer::SetParameterValue( int32 id, bigtime_t when, const void *value, size_t size) @@ -729,14 +768,17 @@ VideoProducer::SetParameterValue( BroadcastNewParameterValue(when, id, (void *)value, size); } + status_t VideoProducer::StartControlPanel(BMessenger *out_messenger) { return BControllable::StartControlPanel(out_messenger); } + /* VideoProducer */ + void VideoProducer::HandleStart(bigtime_t performance_time) { @@ -778,6 +820,7 @@ err1: return; } + void VideoProducer::HandleStop(void) { @@ -797,6 +840,7 @@ VideoProducer::HandleStop(void) fRunning = false; } + void VideoProducer::HandleTimeWarp(bigtime_t performance_time) { @@ -807,6 +851,7 @@ VideoProducer::HandleTimeWarp(bigtime_t performance_time) release_sem(fFrameSync); } + void VideoProducer::HandleSeek(bigtime_t performance_time) { @@ -817,6 +862,7 @@ VideoProducer::HandleSeek(bigtime_t performance_time) release_sem(fFrameSync); } + void VideoProducer::_UpdateStats() { @@ -829,15 +875,14 @@ VideoProducer::_UpdateStats() << rfps << " real, missed: " << fStats[0].missed; memcpy(&fStats[1], &fStats[0], sizeof(fStats[0])); fLastColorChange = system_time(); - BroadcastNewParameterValue(fLastColorChange, P_INFO, + BroadcastNewParameterValue(fLastColorChange, P_INFO, (void *)fInfoString.String(), fInfoString.Length()+1); } - /* The following functions form the thread that generates frames. You should * replace this with the code that interfaces to your hardware. */ -int32 +int32 VideoProducer::FrameGenerator() { bigtime_t wait_until = system_time(); @@ -869,8 +914,8 @@ PRINT(("PS: %Ld\n", fProcessingLatency)); if (wait_until < system_time()) continue; - PRINTF(1, ("FrameGenerator: wait until %Ld, %ctimed out, %crunning, %cenabled.\n", - wait_until, + PRINTF(1, ("FrameGenerator: wait until %Ld, %ctimed out, %crunning, %cenabled.\n", + wait_until, (err == B_OK)?'!':' ', (fRunning)?' ':'!', (fEnabled)?' ':'!')); @@ -922,7 +967,7 @@ PRINT(("PS: %Ld\n", fProcessingLatency)); h->u.raw_video.line_count = fConnectedFormat.display.line_count; // This is where we fill the video buffer. - + #if 0 uint32 *p = (uint32 *)buffer->Data(); /* Fill in a pattern */ @@ -933,7 +978,7 @@ PRINT(("PS: %Ld\n", fProcessingLatency)); //NO! must be called without lock! //BAutolock lock(fCamDevice->Locker()); - + bigtime_t now = system_time(); bigtime_t stamp; //#ifdef UseFillFrameBuffer @@ -982,6 +1027,7 @@ PRINT(("PS: %Ld\n", fProcessingLatency)); return B_OK; } + int32 VideoProducer::_frame_generator_(void *data) { diff --git a/src/add-ons/media/media-add-ons/usb_webcam/Producer.h b/src/add-ons/media/media-add-ons/usb_webcam/Producer.h index 2ea991f55f..0340feff19 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/Producer.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/Producer.h @@ -21,8 +21,7 @@ class BTextParameter; class VideoProducer : public virtual BMediaEventLooper, public virtual BBufferProducer, - public virtual BControllable -{ + public virtual BControllable { public: VideoProducer(BMediaAddOn *addon, CamDevice *dev, const char *name, int32 internal_id); @@ -37,7 +36,7 @@ virtual port_id ControlPort() const; virtual BMediaAddOn *AddOn(int32 * internal_id) const; virtual status_t HandleMessage(int32 message, const void *data, size_t size); -protected: +protected: virtual void Preroll(); virtual void SetTimeSource(BTimeSource * time_source); virtual status_t RequestCompleted(const media_request_info & info); @@ -59,7 +58,7 @@ virtual bigtime_t OfflineTime(); virtual void ControlLoop(); virtual status_t DeleteHook(BMediaNode * node); -/* BBufferProducer */ +/* BBufferProducer */ protected: virtual status_t FormatSuggestionRequested(media_type type, int32 quality, media_format * format); @@ -98,7 +97,7 @@ virtual void LatencyChanged(const media_source & source, const media_destination & destination, bigtime_t new_latency, uint32 flags); -/* BControllable */ +/* BControllable */ protected: virtual status_t GetParameterValue(int32 id, bigtime_t *last_change, void *value, size_t *size); diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/NW80xCamDevice.h b/src/add-ons/media/media-add-ons/usb_webcam/addons/NW80xCamDevice.h index de0ed63e61..a10be3955c 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/NW80xCamDevice.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/NW80xCamDevice.h @@ -26,9 +26,8 @@ // This class represents each webcam -class NW80xCamDevice : public CamDevice -{ - public: +class NW80xCamDevice : public CamDevice { + public: NW80xCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); ~NW80xCamDevice(); virtual bool SupportsBulk(); @@ -39,7 +38,7 @@ class NW80xCamDevice : public CamDevice // generic register-like access virtual ssize_t WriteReg(uint16 address, uint8 *data, size_t count=1); virtual ssize_t ReadReg(uint16 address, uint8 *data, size_t count=1, bool cached=false); - + // I2C-like access virtual status_t GetStatusIIC(); virtual status_t WaitReadyIIC(); @@ -61,10 +60,10 @@ class NW80xCamDeviceAddon : public CamDeviceAddon public: NW80xCamDeviceAddon(WebCamMediaAddOn* webcam); virtual ~NW80xCamDeviceAddon(); - + virtual const char *BrandName(); virtual NW80xCamDevice *Instantiate(CamRoster &roster, BUSBDevice *from); - + }; #endif /* _NW80X_CAM_CAM_DEVICE_H */ diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/quickcam/QuickCamDevice.h b/src/add-ons/media/media-add-ons/usb_webcam/addons/quickcam/QuickCamDevice.h index 0879a6071b..f6653d5e23 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/quickcam/QuickCamDevice.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/quickcam/QuickCamDevice.h @@ -26,9 +26,8 @@ // This class represents each webcam -class QuickCamDevice : public CamDevice -{ - public: +class QuickCamDevice : public CamDevice { + public: QuickCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); ~QuickCamDevice(); virtual bool SupportsBulk(); @@ -39,7 +38,7 @@ class QuickCamDevice : public CamDevice // generic register-like access virtual ssize_t WriteReg(uint16 address, uint8 *data, size_t count=1); virtual ssize_t ReadReg(uint16 address, uint8 *data, size_t count=1, bool cached=false); - + // I2C-like access virtual status_t GetStatusIIC(); virtual status_t WaitReadyIIC(); @@ -56,15 +55,14 @@ class QuickCamDevice : public CamDevice // the addon itself, that instanciate -class QuickCamDeviceAddon : public CamDeviceAddon -{ +class QuickCamDeviceAddon : public CamDeviceAddon { public: QuickCamDeviceAddon(WebCamMediaAddOn* webcam); virtual ~QuickCamDeviceAddon(); - + virtual const char *BrandName(); virtual QuickCamDevice *Instantiate(CamRoster &roster, BUSBDevice *from); - + }; #endif /* _QUICK_CAM_CAM_DEVICE_H */ diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.cpp b/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.cpp index bf7984978e..e0f3df6fc4 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.cpp @@ -82,31 +82,31 @@ SonixCamDevice::SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device) uchar data[8]; /* store bytes returned from sonix commands */ status_t err; fFrameTagState = 0; - + fRGain = fGGain = fBGain = 0; // unknown fBrightness = 0.5; - + memset(fCachedRegs, 0, SN9C102_REG_COUNT); fChipVersion = 2; if ((GetDevice()->ProductID() & ~0x3F) == 0x6080) { fChipVersion = 3; // says V4L2 } err = ProbeSensor(); - + // fDeframer = new CamBufferingDeframer(this); fDeframer = new CamStreamingDeframer(this); fDeframer->RegisterSOFTags(sof_marks, 2, sizeof(sof_mark_1), 12); fDeframer->RegisterEOFTags(eof_marks, 4, sizeof(eof_mark_1), sizeof(eof_mark_1)); SetDataInput(fDeframer); - + /* init hw */ - + const BUSBConfiguration *config = GetDevice()->ConfigurationAt(0); if (config) { const BUSBInterface *inter = config->InterfaceAt(0); uint32 i; - + GetDevice()->SetConfiguration(config); for (i = 0; inter && (i < inter->CountEndpoints()); i++) { @@ -119,14 +119,14 @@ SonixCamDevice::SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device) } } - + /* sanity check */ err = ReadReg(SN9C102_ASIC_ID, data); if (err < 0 || data[0] != 0x10) { PRINT((CH ": BAD ASIC signature! (%u != %u)" CT, data[0], 0x10)); return; } - + //XXX: the XP driver sends this to the ICECAM... need to investigate. #if 1 uint8 tmp_3[] = { @@ -149,7 +149,7 @@ SonixCamDevice::SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device) uint8 tmp_2[] = {0x44, 0x44}; WriteReg(SN9C102_CHIP_CTRL, tmp_2, 2); //URB_FUNCTION_VENDOR_INTERFACE: - //(USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) + //(USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) uint8 tmp_3[] = { 0x44, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0xa0, @@ -197,7 +197,7 @@ SonixCamDevice::SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device) //WriteReg8(SN9C102_PIX_CLK, 0x4b); //############### - + if (Sensor()) { PRINT((CH ": CamSensor: %s" CT, Sensor()->Name())); fInitStatus = Sensor()->Setup(); @@ -237,11 +237,11 @@ SonixCamDevice::StartTransfer() { status_t err; uint8 r; - + SetScale(1); if (Sensor()) SetVideoFrame(fVideoFrame); - + //SetVideoFrame(BRect(0, 0, 320-1, 240-1)); DumpRegs(); @@ -261,7 +261,7 @@ SonixCamDevice::StopTransfer() { status_t err; uint8 r; - + DumpRegs(); err = CamDevice::StopTransfer(); // if (err < 0) @@ -418,8 +418,8 @@ SonixCamDevice::ReadIIC(uint8 address, uint8 *data) err = WaitReadyIIC(); //dprintf(ID "sonix_i2c_write_multi: sonix_i2c_wait_ready error 0x%08lx\n", err); //if (err) return err; - - + + //dprintf(ID "sonix_i2c_write_multi(, %02x, %d, {%02x, %02x, %02x, %02x, %02x})\n", slave, count, d0, d1, d2, d3, d4); buffer[0] = (1 << 4) | Sensor()->Use400kHz()?0x01:0 | 0x02 | Sensor()->UseRealIIC()?0x80:0; /* read 1 byte */ @@ -431,7 +431,7 @@ SonixCamDevice::ReadIIC(uint8 address, uint8 *data) err = WaitReadyIIC(); //dprintf(ID "sonix_i2c_write_multi: sonix_i2c_wait_ready error 0x%08lx\n", err); if (err < B_OK) return err; - + err = ReadReg(SN9C102_I2C_DATA0, buffer, 5); if (err < 5) return EIO; @@ -477,7 +477,7 @@ SonixCamDevice::SetScale(float scale) status_t err; uint8 r; int iscale = (int)scale; - + PRINT((CH "(%u)" CT, iscale)); err = ReadReg(SN9C102_SYNC_N_SCALE, &r, 1, true); if (err < 0) @@ -509,25 +509,25 @@ SonixCamDevice::AddParameters(BParameterGroup *group, int32 &index) BParameterGroup *g; BContinuousParameter *p; CamDevice::AddParameters(group, index); - + // R,G,B gains g = group->MakeGroup("RGB gain"); - p = g->MakeContinuousParameter(index++, - B_MEDIA_RAW_VIDEO, "RGB gain", + p = g->MakeContinuousParameter(index++, + B_MEDIA_RAW_VIDEO, "RGB gain", B_GAIN, "", 1.0, 1.0+(float)(SN9C102_RGB_GAIN_MAX)/8, (float)1.0/8); p->SetChannelCount(3); #if 0 // Contrast - NON FUNCTIONAL g = group->MakeGroup("Contrast"); - p = g->MakeContinuousParameter(index++, - B_MEDIA_RAW_VIDEO, "Contrast", + p = g->MakeContinuousParameter(index++, + B_MEDIA_RAW_VIDEO, "Contrast", B_GAIN, "", 0.0, 1.0, 1.0/256); // Brightness - NON FUNCTIONAL g = group->MakeGroup("Brightness"); - p = g->MakeContinuousParameter(index++, - B_MEDIA_RAW_VIDEO, "Brightness", + p = g->MakeContinuousParameter(index++, + B_MEDIA_RAW_VIDEO, "Brightness", B_GAIN, "", 0.0, 1.0, 1.0/256); #endif @@ -620,7 +620,7 @@ SonixCamDevice::SetParameterValue(int32 id, bigtime_t when, const void *value, s fBrightness = gains[0]; // it actually ends up writing to SN9C102_V_SIZE... WriteReg8(SN9C10x_BRIGHTNESS, ((uint8)(fBrightness * 256))); - + return B_OK; #endif } @@ -656,7 +656,7 @@ SonixCamDevice::ValidateStartOfFrameTag(const uint8 *tag, size_t taglen) // supposedly corresponding with an equal byte in the end tag fFrameTagState = tag[7] & 0xC0; PRINT((CH "(, %d) state %x" CT, taglen, fFrameTagState)); - + // which seems to be the same as of the EOF tag return true; } @@ -692,14 +692,14 @@ SonixCamDevice::GetFrameBitmap(BBitmap **bm, bigtime_t *stamp /* = NULL */) if (err < B_OK) return err; PRINT((CH ": VideoFrame = %fx%f,%fx%f" CT, VideoFrame().left, VideoFrame().top, VideoFrame().right, VideoFrame().bottom)); - + long int w = (long)(VideoFrame().right - VideoFrame().left + 1); long int h = (long)(VideoFrame().bottom - VideoFrame().top + 1); b = new BBitmap(VideoFrame().OffsetToSelf(0,0), 0, B_RGB32, w*4); PRINT((CH ": Frame: %dx%d" CT, w, h)); - + bayer2rgb24((unsigned char *)b->Bits(), (unsigned char *)f->Buffer(), w, h); - + PRINT((CH ": got 1 frame (len %d)" CT, b->BitsLength())); *bm = b; return B_OK; @@ -727,12 +727,12 @@ SonixCamDevice::FillFrameBuffer(BBuffer *buffer, bigtime_t *stamp) long int w = (long)(VideoFrame().right - VideoFrame().left + 1); long int h = (long)(VideoFrame().bottom - VideoFrame().top + 1); PRINT((CH ": VideoFrame = %fx%f,%fx%f Frame: %dx%d" CT, VideoFrame().left, VideoFrame().top, VideoFrame().right, VideoFrame().bottom, w, h)); - + if (buffer->SizeAvailable() >= (size_t)w*h*4) bayer2rgb32le((unsigned char *)buffer->Data(), (unsigned char *)f->Buffer(), w, h); - + delete f; - + PRINT((CH ": available %d, required %d" CT, buffer->SizeAvailable(), w*h*4)); if (buffer->SizeAvailable() < (size_t)w*h*4) return E2BIG; @@ -747,18 +747,18 @@ SonixCamDevice::DumpRegs() { uint8 regs[SN9C102_REG_COUNT]; status_t err; - + //err = sonix_get_regs(dev, SN_ASIC_ID, regs, SN_REG_COUNT); err = ReadReg(0, regs, SN9C102_REG_COUNT); if (err < 0) return; - printf("REG1: %02x %02x %02x %02x %02x %02x %02x %02x\n", + printf("REG1: %02x %02x %02x %02x %02x %02x %02x %02x\n", regs[0], regs[1], regs[2], regs[3], regs[4], regs[5], regs[6], regs[7]); - printf(" 2: %02x %02x %02x %02x %02x %02x %02x %02x\n", + printf(" 2: %02x %02x %02x %02x %02x %02x %02x %02x\n", regs[8], regs[9], regs[10], regs[11], regs[12], regs[13], regs[14], regs[15]); - printf(" 3: %02x %02x %02x %02x %02x %02x %02x %02x\n", + printf(" 3: %02x %02x %02x %02x %02x %02x %02x %02x\n", regs[16], regs[17], regs[18], regs[19], regs[20], regs[21], regs[22], regs[23]); - printf(" 4: %02x %02x %02x %02x %02x %02x %02x %02x\n", + printf(" 4: %02x %02x %02x %02x %02x %02x %02x %02x\n", regs[24], regs[25], regs[26], regs[27], regs[28], regs[29], regs[30], regs[31]); } @@ -774,7 +774,7 @@ SonixCamDevice::SendCommand(uint8 dir, uint8 request, uint16 value, if (length > GetDevice()->MaxEndpoint0PacketSize()) return EINVAL; ret = GetDevice()->ControlTransfer( - USB_REQTYPE_VENDOR | USB_REQTYPE_INTERFACE_OUT | dir, + USB_REQTYPE_VENDOR | USB_REQTYPE_INTERFACE_OUT | dir, request, value, index, length, data); return ret; } @@ -996,5 +996,3 @@ void bayer2rgb32le(unsigned char *dst, unsigned char *src, long int WIDTH, long } } - - diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.h b/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.h index d9b4a21c2c..bf1f95a3da 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/sonix/SonixCamDevice.h @@ -16,7 +16,7 @@ #define SN9C102_R_GAIN 0x05 #define SN9C102_B_GAIN 0x06 #define SN9C102_I2C_SETUP 0x08 -#define SN9C102_I2C_SLAVE_ID 0x09 +#define SN9C102_I2C_SLAVE_ID 0x09 #define SN9C102_I2C_DATA0 0x0a #define SN9C102_I2C_DATA1 0x0b #define SN9C102_I2C_DATA2 0x0c @@ -24,11 +24,11 @@ #define SN9C102_I2C_DATA4 0x0e #define SN9C102_CONTROL_STAT 0x0f /*I2C ??*/ #define SN9C102_R_B_GAIN 0x10 /* datasheet says so but it's WRONG */ -#define SN9C102_G_GAIN 0x11 /* Green channel gain control. -> Gain = (1+G_GAIN/8) +#define SN9C102_G_GAIN 0x11 /* Green channel gain control. -> Gain = (1+G_GAIN/8) Note: It is sync with VSYNC */ -#define SN9C102_H_START 0x12 /* Start active pixel number after H­sync of sensor - Note: - The 1st line sequence of image data is BGBGBG +#define SN9C102_H_START 0x12 /* Start active pixel number after H­sync of sensor + Note: + The 1st line sequence of image data is BGBGBG The 2nd line sequence of image data is GRGRGR */ #define SN9C102_V_START 0x13 /* Start active line number after V­sync of sensor */ #define SN9C102_OFFSET 0x14 /* Offset adjustment for sensor image data. */ @@ -54,9 +54,8 @@ #define SN9C102_RGB_GAIN_MAX 0x7f // This class represents each webcam -class SonixCamDevice : public CamDevice -{ - public: +class SonixCamDevice : public CamDevice { + public: SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); ~SonixCamDevice(); virtual bool SupportsBulk(); @@ -70,13 +69,13 @@ class SonixCamDevice : public CamDevice // generic register-like access virtual ssize_t WriteReg(uint16 address, uint8 *data, size_t count=1); virtual ssize_t ReadReg(uint16 address, uint8 *data, size_t count=1, bool cached=false); - + // I2C-like access virtual status_t GetStatusIIC(); virtual status_t WaitReadyIIC(); virtual ssize_t WriteIIC(uint8 address, uint8 *data, size_t count=1); virtual ssize_t ReadIIC(uint8 address, uint8 *data); - + virtual status_t SetVideoFrame(BRect rect); virtual status_t SetScale(float scale); virtual status_t SetVideoParams(float brightness, float contrast, float hue, float red, float green, float blue); @@ -94,7 +93,7 @@ class SonixCamDevice : public CamDevice virtual status_t GetFrameBitmap(BBitmap **bm, bigtime_t *stamp=NULL); virtual status_t FillFrameBuffer(BBuffer *buffer, bigtime_t *stamp=NULL); - + void DumpRegs(); @@ -105,7 +104,7 @@ class SonixCamDevice : public CamDevice int fChipVersion; int fFrameTagState; - + uint8 fRGain; uint8 fGGain; uint8 fBGain; @@ -115,15 +114,14 @@ class SonixCamDevice : public CamDevice // the addon itself, that instanciate -class SonixCamDeviceAddon : public CamDeviceAddon -{ +class SonixCamDeviceAddon : public CamDeviceAddon { public: SonixCamDeviceAddon(WebCamMediaAddOn* webcam); virtual ~SonixCamDeviceAddon(); - + virtual const char *BrandName(); virtual SonixCamDevice *Instantiate(CamRoster &roster, BUSBDevice *from); - + }; diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h index 0a14141d4c..639d1a918e 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h @@ -7,7 +7,7 @@ #define _USB_VIDEO_H /* Class/Subclass/Protocol */ -#define CC_VIDEO 0xE +#define CC_VIDEO 0xE #define SC_UNDEFINED 0x0 #define SC_VIDEOCONTROL 0x1 #define SC_VIDEOSTREAMING 0x2 @@ -15,15 +15,15 @@ #define PC_PROTOCOL_UNDEFINED 0x0 #define CS_UNDEFINED 0x20 -#define CS_DEVICE 0x21 +#define CS_DEVICE 0x21 #define CS_CONFIGURATION 0x22 -#define CS_STRING 0x23 +#define CS_STRING 0x23 #define CS_INTERFACE 0x24 -#define CS_ENDPOINT 0x25 +#define CS_ENDPOINT 0x25 /* Video Control Class Descriptors */ -#define VC_DESCRIPTOR_UNDEFINED 0x0 -#define VC_HEADER 0x1 +#define VC_DESCRIPTOR_UNDEFINED 0x0 +#define VC_HEADER 0x1 #define VC_INPUT_TERMINAL 0x2 #define VC_OUTPUT_TERMINAL 0x3 #define VC_SELECTOR_UNIT 0x4 @@ -34,32 +34,32 @@ #define VS_UNDEFINED 0x00 #define VS_INPUT_HEADER 0x01 #define VS_OUTPUT_HEADER 0x02 -#define VS_STILL_IMAGE_FRAME 0x03 -#define VS_FORMAT_UNCOMPRESSED 0x04 -#define VS_FRAME_UNCOMPRESSED 0x05 +#define VS_STILL_IMAGE_FRAME 0x03 +#define VS_FORMAT_UNCOMPRESSED 0x04 +#define VS_FRAME_UNCOMPRESSED 0x05 #define VS_FORMAT_MJPEG 0x06 #define VS_FRAME_MJPEG 0x07 #define VS_FORMAT_MPEG2TS 0x0a #define VS_FORMAT_DV 0x0c #define VS_COLORFORMAT 0x0d -#define VS_FORMAT_FRAME_BASED 0x10 -#define VS_FRAME_FRAME_BASED 0x11 -#define VS_FORMAT_STREAM_BASED 0x12 +#define VS_FORMAT_FRAME_BASED 0x10 +#define VS_FRAME_FRAME_BASED 0x11 +#define VS_FORMAT_STREAM_BASED 0x12 #define EP_UNDEFINED 0x0 -#define EP_GENERAL 0x1 -#define EP_ENDPOINT 0x2 +#define EP_GENERAL 0x1 +#define EP_ENDPOINT 0x2 #define EP_INTERRUPT 0x3 #define RC_UNDEFINED 0x00 -#define SET_CUR 0x01 -#define GET_CUR 0x81 -#define GET_MIN 0x82 -#define GET_MAX 0x83 -#define GET_RES 0x84 -#define GET_LEN 0x85 -#define GET_INFO 0x86 -#define GET_DEF 0x87 +#define SET_CUR 0x01 +#define GET_CUR 0x81 +#define GET_MIN 0x82 +#define GET_MAX 0x83 +#define GET_RES 0x84 +#define GET_LEN 0x85 +#define GET_INFO 0x86 +#define GET_DEF 0x87 #define VC_CONTROL_UNDEFINED 0x0 #define VC_VIDEO_POWER_MODE_CONTROL 0x1 @@ -72,7 +72,7 @@ #define CT_CONTROL_UNDEFINED 0x0 #define CT_SCANNING_MODE_CONTROL 0x1 -#define CT_AE_MODE_CONTROL 0x2 +#define CT_AE_MODE_CONTROL 0x2 #define CT_AE_PRIORITY_CONTROL 0x3 #define CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x4 #define CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x5 @@ -87,6 +87,6 @@ #define CT_PANTILT_RELATIVE_CONTROL 0xe #define CT_ROLL_ABSOLUTE_CONTROL 0xf #define CT_ROLL_RELATIVE_CONTROL 0x10 -#define CT_PRIVACY_CONTROL 0x11 +#define CT_PRIVACY_CONTROL 0x11 #endif /* _USB_VIDEO_H */ diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp index 86c866114f..5b5341e293 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp @@ -3,10 +3,13 @@ * Distributed under the terms of the MIT License. */ + #include "UVCCamDevice.h" #include "USB_video.h" + #include + usb_webcam_support_descriptor kSupportedDevices[] = { // ofcourse we support a generic UVC device... {{ CC_VIDEO, SC_VIDEOCONTROL, 0, 0, 0 }, "USB", "Video Class", "??" }, @@ -33,7 +36,9 @@ usb_webcam_support_descriptor kSupportedDevices[] = { {{ 0, 0, 0, 0, 0}, NULL, NULL, NULL } }; -static void print_guid(const uint8* buf) + +static void +print_guid(const uint8* buf) { printf("%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7], @@ -78,7 +83,9 @@ UVCCamDevice::UVCCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device) } } -void UVCCamDevice::ParseVideoStreaming(const uint8* buffer, size_t len) + +void +UVCCamDevice::ParseVideoStreaming(const uint8* buffer, size_t len) { int c, i, sz; @@ -198,7 +205,9 @@ void UVCCamDevice::ParseVideoStreaming(const uint8* buffer, size_t len) } } -void UVCCamDevice::ParseVideoControl(const uint8* buffer, size_t len) + +void +UVCCamDevice::ParseVideoControl(const uint8* buffer, size_t len) { int c, i; @@ -283,25 +292,33 @@ void UVCCamDevice::ParseVideoControl(const uint8* buffer, size_t len) } } + UVCCamDevice::~UVCCamDevice() { } -bool UVCCamDevice::SupportsIsochronous() + +bool +UVCCamDevice::SupportsIsochronous() { return true; } -status_t UVCCamDevice::StartTransfer() + +status_t +UVCCamDevice::StartTransfer() { return CamDevice::StartTransfer(); } -status_t UVCCamDevice::StopTransfer() + +status_t +UVCCamDevice::StopTransfer() { return CamDevice::StopTransfer(); } + UVCCamDeviceAddon::UVCCamDeviceAddon(WebCamMediaAddOn* webcam) : CamDeviceAddon(webcam) { diff --git a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.h b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.h index 6ef70b2265..3ebf0da84f 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.h +++ b/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.h @@ -8,8 +8,7 @@ #include "CamDevice.h" -class UVCCamDevice : public CamDevice -{ +class UVCCamDevice : public CamDevice { public: UVCCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); ~UVCCamDevice(); @@ -22,12 +21,11 @@ private: void ParseVideoStreaming(const uint8* buf, size_t len); }; -class UVCCamDeviceAddon : public CamDeviceAddon -{ +class UVCCamDeviceAddon : public CamDeviceAddon { public: UVCCamDeviceAddon(WebCamMediaAddOn* webcam); virtual ~UVCCamDeviceAddon(); - + virtual const char *BrandName(); virtual UVCCamDevice *Instantiate(CamRoster &roster, BUSBDevice *from); }; diff --git a/src/add-ons/media/media-add-ons/usb_webcam/sensors/hdcs1000.cpp b/src/add-ons/media/media-add-ons/usb_webcam/sensors/hdcs1000.cpp index 66f01725d7..30f40407be 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/sensors/hdcs1000.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/sensors/hdcs1000.cpp @@ -23,7 +23,7 @@ public: HDCS1000Sensor::HDCS1000Sensor(CamDevice *_camera) -: CamSensor(_camera) + : CamSensor(_camera) { } @@ -50,7 +50,7 @@ HDCS1000Sensor::Probe() } return ENODEV; } - + B_WEBCAM_DECLARE_SENSOR(HDCS1000Sensor, hdcs1000) diff --git a/src/add-ons/media/media-add-ons/usb_webcam/sensors/hv7131e1.cpp b/src/add-ons/media/media-add-ons/usb_webcam/sensors/hv7131e1.cpp index dadf06de0d..a3cf041419 100644 --- a/src/add-ons/media/media-add-ons/usb_webcam/sensors/hv7131e1.cpp +++ b/src/add-ons/media/media-add-ons/usb_webcam/sensors/hv7131e1.cpp @@ -27,9 +27,9 @@ public: HV7131E1Sensor::HV7131E1Sensor(CamDevice *_camera) -: CamSensor(_camera) + : CamSensor(_camera) { - + } @@ -41,7 +41,7 @@ HV7131E1Sensor::~HV7131E1Sensor() status_t HV7131E1Sensor::Probe() { - return ProbeByIICSignature(sProbeAddressList, sProbeMatchList, + return ProbeByIICSignature(sProbeAddressList, sProbeMatchList, sizeof(sProbeMatchList)); }