partial clean up

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36198 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2010-04-12 20:34:04 +00:00
parent 50e4dd9328
commit 02af02f93a
30 changed files with 326 additions and 299 deletions
@@ -191,7 +191,7 @@ WebCamMediaAddOn::FillDefaultFlavorInfo(flavor_info* info)
BMediaAddOn * BMediaAddOn *
make_media_addon(image_id imid) make_media_addon(image_id id)
{ {
return new WebCamMediaAddOn(imid); return new WebCamMediaAddOn(id);
} }
@@ -14,8 +14,7 @@ extern "C" _EXPORT BMediaAddOn *make_media_addon(image_id you);
class CamRoster; class CamRoster;
class CamDevice; class CamDevice;
class WebCamMediaAddOn : public BMediaAddOn class WebCamMediaAddOn : public BMediaAddOn {
{
public: public:
WebCamMediaAddOn(image_id imid); WebCamMediaAddOn(image_id imid);
virtual ~WebCamMediaAddOn(); virtual ~WebCamMediaAddOn();
@@ -10,8 +10,7 @@
#include <interface/Rect.h> #include <interface/Rect.h>
#include "CamFilterInterface.h" #include "CamFilterInterface.h"
class CamBufferedFilterInterface : public CamFilterInterface class CamBufferedFilterInterface : public CamFilterInterface {
{
public: public:
CamBufferedFilterInterface(CamDevice *device, bool allowWrite); CamBufferedFilterInterface(CamDevice *device, bool allowWrite);
virtual ~CamBufferedFilterInterface(); virtual ~CamBufferedFilterInterface();
@@ -126,4 +126,3 @@ CamBufferingDeframer::DiscardFromInput(size_t size)
fInputBuffIndex = next; fInputBuffIndex = next;
return size; return size;
} }
@@ -7,8 +7,7 @@
#include "CamDeframer.h" #include "CamDeframer.h"
class CamBufferingDeframer : public CamDeframer class CamBufferingDeframer : public CamDeframer {
{
public: public:
CamBufferingDeframer(CamDevice *device); CamBufferingDeframer(CamDevice *device);
virtual ~CamBufferingDeframer(); virtual ~CamBufferingDeframer();
@@ -68,12 +68,9 @@ CamColorSpaceTransform::SetVideoFrame(BRect rect)
CamColorSpaceTransform * CamColorSpaceTransform *
CamColorSpaceTransform::Create(const char *name) CamColorSpaceTransform::Create(const char *name)
{ {
int i; for (int i = 0; kTransformTable[i].name; i++) {
for (i = 0; kTransformTable[i].name; i++) {
if (!strcmp(kTransformTable[i].name, name)) if (!strcmp(kTransformTable[i].name, name))
return kTransformTable[i].instfunc(); return kTransformTable[i].instfunc();
} }
return NULL; return NULL;
} }
@@ -9,8 +9,7 @@
#include <Rect.h> #include <Rect.h>
// This class represents the camera's (cmos or whatever) sensor chip // This class represents the camera's (cmos or whatever) sensor chip
class CamColorSpaceTransform class CamColorSpaceTransform {
{
public: public:
CamColorSpaceTransform(); CamColorSpaceTransform();
virtual ~CamColorSpaceTransform(); virtual ~CamColorSpaceTransform();
@@ -217,4 +217,3 @@ CamDeframer::AllocFrame()
{ {
return new CamFrame(); return new CamFrame();
} }
@@ -22,8 +22,7 @@ ST_FRAME
/* should have a real Frame class someday */ /* should have a real Frame class someday */
class CamFrame : public BMallocIO class CamFrame : public BMallocIO {
{
public: public:
CamFrame() : BMallocIO() { fStamp = system_time(); }; CamFrame() : BMallocIO() { fStamp = system_time(); };
virtual ~CamFrame() {}; virtual ~CamFrame() {};
@@ -31,8 +30,7 @@ bigtime_t Stamp() const { return fStamp; };
bigtime_t fStamp; bigtime_t fStamp;
}; };
class CamDeframer : public CamFilterInterface class CamDeframer : public CamFilterInterface {
{
public: public:
CamDeframer(CamDevice *device); CamDeframer(CamDevice *device);
virtual ~CamDeframer(); virtual ~CamDeframer();
@@ -233,12 +233,14 @@ CamDevice::AddParameters(BParameterGroup *group, int32 &index)
fFirstParameterID = index; fFirstParameterID = index;
} }
status_t status_t
CamDevice::GetParameterValue(int32 id, bigtime_t *last_change, void *value, size_t *size) CamDevice::GetParameterValue(int32 id, bigtime_t *last_change, void *value, size_t *size)
{ {
return B_BAD_VALUE; return B_BAD_VALUE;
} }
status_t status_t
CamDevice::SetParameterValue(int32 id, bigtime_t when, const void *value, size_t size) 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 size_t
CamDevice::MinRawFrameSize() CamDevice::MinRawFrameSize()
{ {
@@ -395,6 +396,7 @@ CamDevice::WriteIIC8(uint8 address, uint8 data)
return WriteIIC(address, &data, 1); return WriteIIC(address, &data, 1);
} }
ssize_t ssize_t
CamDevice::WriteIIC16(uint8 address, uint16 data) CamDevice::WriteIIC16(uint8 address, uint16 data)
{ {
@@ -406,8 +408,6 @@ CamDevice::WriteIIC16(uint8 address, uint16 data)
} }
ssize_t ssize_t
CamDevice::ReadIIC(uint8 address, uint8 *data) CamDevice::ReadIIC(uint8 address, uint8 *data)
{ {
@@ -653,8 +653,7 @@ CamDeviceAddon::Sniff(BUSBDevice *device)
return EINVAL; return EINVAL;
bool supported = false; 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 if ((fSupportedDevices[i].desc.vendor != 0
&& device->VendorID() != fSupportedDevices[i].desc.vendor) && device->VendorID() != fSupportedDevices[i].desc.vendor)
|| (fSupportedDevices[i].desc.product != 0 || (fSupportedDevices[i].desc.product != 0
@@ -711,4 +710,3 @@ CamDeviceAddon::SetSupportedDevices(const usb_webcam_support_descriptor *devs)
{ {
fSupportedDevices = devs; fSupportedDevices = devs;
} }
@@ -145,4 +145,3 @@ CamFilterInterface::SetVideoFrame(BRect frame)
fVideoFrame = frame; fVideoFrame = frame;
return B_OK; return B_OK;
} }
@@ -10,8 +10,7 @@
#include <interface/Rect.h> #include <interface/Rect.h>
class CamDevice; class CamDevice;
class CamFilterInterface : public BPositionIO class CamFilterInterface : public BPositionIO {
{
public: public:
CamFilterInterface(CamDevice *device); CamFilterInterface(CamDevice *device);
virtual ~CamFilterInterface(); virtual ~CamFilterInterface();
@@ -18,7 +18,6 @@ extern "C" status_t get_webcam_addon_##modname(WebCamMediaAddOn* webcam, CamDevi
#undef B_WEBCAM_MKINTFUNC #undef B_WEBCAM_MKINTFUNC
CamRoster::CamRoster(WebCamMediaAddOn* _addon) CamRoster::CamRoster(WebCamMediaAddOn* _addon)
: BUSBRoster(), : BUSBRoster(),
fLocker("WebcamRosterLock"), fLocker("WebcamRosterLock"),
@@ -40,8 +39,7 @@ CamRoster::DeviceAdded(BUSBDevice* _device)
{ {
PRINT((CH "()" CT)); PRINT((CH "()" CT));
status_t err; 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); CamDeviceAddon *ao = (CamDeviceAddon *)fCamerasAddons.ItemAt(i);
PRINT((CH ": checking %s for support..." CT, ao->BrandName())); PRINT((CH ": checking %s for support..." CT, ao->BrandName()));
err = ao->Sniff(_device); err = ao->Sniff(_device);
@@ -50,8 +48,7 @@ CamRoster::DeviceAdded(BUSBDevice* _device)
CamDevice *cam = ao->Instantiate(*this, _device); CamDevice *cam = ao->Instantiate(*this, _device);
PRINT((CH ": found camera %s:%s!" CT, cam->BrandName(), cam->ModelName())); PRINT((CH ": found camera %s:%s!" CT, cam->BrandName(), cam->ModelName()));
err = cam->InitCheck(); err = cam->InitCheck();
if (err >= B_OK) if (err >= B_OK) {
{
fCameras.AddItem(cam); fCameras.AddItem(cam);
fAddon->CameraAdded(cam); fAddon->CameraAdded(cam);
return B_OK; return B_OK;
@@ -66,11 +63,9 @@ void
CamRoster::DeviceRemoved(BUSBDevice* _device) CamRoster::DeviceRemoved(BUSBDevice* _device)
{ {
PRINT((CH "()" CT)); 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); 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())); PRINT((CH ": camera %s:%s removed" CT, cam->BrandName(), cam->ModelName()));
fCameras.RemoveItem(i); fCameras.RemoveItem(i);
fAddon->CameraRemoved(cam); fAddon->CameraRemoved(cam);
@@ -14,8 +14,7 @@
class WebCamMediaAddOn; class WebCamMediaAddOn;
class CamDeviceAddon; class CamDeviceAddon;
class CamRoster : public BUSBRoster class CamRoster : public BUSBRoster {
{
public: public:
CamRoster(WebCamMediaAddOn* _addon); CamRoster(WebCamMediaAddOn* _addon);
virtual ~CamRoster(); virtual ~CamRoster();
@@ -130,9 +130,7 @@ status_t
CamSensor::ProbeByIICSignature(const uint8 *regList, const uint8 *matchList, CamSensor::ProbeByIICSignature(const uint8 *regList, const uint8 *matchList,
size_t count) size_t count)
{ {
int i; for (int i = 0; i < count; i++) {
for (i = 0; i < count; i++) {
uint8 value = 0; uint8 value = 0;
ssize_t len; ssize_t len;
len = Device()->ReadIIC8(regList[i], &value); len = Device()->ReadIIC8(regList[i], &value);
@@ -9,8 +9,7 @@
#include <Rect.h> #include <Rect.h>
// This class represents the camera's (cmos or whatever) sensor chip // This class represents the camera's (cmos or whatever) sensor chip
class CamSensor class CamSensor {
{
public: public:
CamSensor(CamDevice *_camera); CamSensor(CamDevice *_camera);
virtual ~CamSensor(); virtual ~CamSensor();
@@ -196,4 +196,3 @@ CamStreamingDeframer::Write(const void *buffer, size_t size)
fInputBuff.SetSize(bufsize - end); fInputBuff.SetSize(bufsize - end);
return size; return size;
} }
@@ -7,8 +7,7 @@
#include "CamDeframer.h" #include "CamDeframer.h"
class CamStreamingDeframer : public CamDeframer class CamStreamingDeframer : public CamDeframer {
{
public: public:
CamStreamingDeframer(CamDevice *device); CamStreamingDeframer(CamDevice *device);
virtual ~CamStreamingDeframer(); virtual ~CamStreamingDeframer();
@@ -49,8 +49,10 @@
//#define FIELD_RATE 29.97f //#define FIELD_RATE 29.97f
#define FIELD_RATE 5.f #define FIELD_RATE 5.f
int32 VideoProducer::fInstances = 0; int32 VideoProducer::fInstances = 0;
VideoProducer::VideoProducer( VideoProducer::VideoProducer(
BMediaAddOn *addon, CamDevice *dev, const char *name, int32 internal_id) BMediaAddOn *addon, CamDevice *dev, const char *name, int32 internal_id)
: BMediaNode(name), : BMediaNode(name),
@@ -88,6 +90,7 @@ VideoProducer::VideoProducer(
return; return;
} }
VideoProducer::~VideoProducer() VideoProducer::~VideoProducer()
{ {
if (fInitStatus == B_OK) { if (fInitStatus == B_OK) {
@@ -102,14 +105,15 @@ VideoProducer::~VideoProducer()
atomic_add(&fInstances, -1); atomic_add(&fInstances, -1);
} }
/* BMediaNode */
/* BMediaNode */
port_id port_id
VideoProducer::ControlPort() const VideoProducer::ControlPort() const
{ {
return BMediaNode::ControlPort(); return BMediaNode::ControlPort();
} }
BMediaAddOn * BMediaAddOn *
VideoProducer::AddOn(int32 *internal_id) const VideoProducer::AddOn(int32 *internal_id) const
{ {
@@ -118,12 +122,14 @@ VideoProducer::AddOn(int32 *internal_id) const
return fAddOn; return fAddOn;
} }
status_t status_t
VideoProducer::HandleMessage(int32 /*message*/, const void* /*data*/, size_t /*size*/) VideoProducer::HandleMessage(int32 /*message*/, const void* /*data*/, size_t /*size*/)
{ {
return B_ERROR; return B_ERROR;
} }
void void
VideoProducer::Preroll() VideoProducer::Preroll()
{ {
@@ -131,6 +137,7 @@ VideoProducer::Preroll()
* a chance to start. */ * a chance to start. */
} }
void void
VideoProducer::SetTimeSource(BTimeSource* /*time_source*/) VideoProducer::SetTimeSource(BTimeSource* /*time_source*/)
{ {
@@ -138,14 +145,17 @@ VideoProducer::SetTimeSource(BTimeSource* /*time_source*/)
release_sem(fFrameSync); release_sem(fFrameSync);
} }
status_t status_t
VideoProducer::RequestCompleted(const media_request_info &info) VideoProducer::RequestCompleted(const media_request_info &info)
{ {
return BMediaNode::RequestCompleted(info); return BMediaNode::RequestCompleted(info);
} }
/* BMediaEventLooper */ /* BMediaEventLooper */
void void
VideoProducer::NodeRegistered() VideoProducer::NodeRegistered()
{ {
@@ -213,50 +223,56 @@ VideoProducer::NodeRegistered()
Run(); Run();
} }
void void
VideoProducer::Start(bigtime_t performance_time) VideoProducer::Start(bigtime_t performance_time)
{ {
BMediaEventLooper::Start(performance_time); BMediaEventLooper::Start(performance_time);
} }
void void
VideoProducer::Stop(bigtime_t performance_time, bool immediate) VideoProducer::Stop(bigtime_t performance_time, bool immediate)
{ {
BMediaEventLooper::Stop(performance_time, immediate); BMediaEventLooper::Stop(performance_time, immediate);
} }
void void
VideoProducer::Seek(bigtime_t media_time, bigtime_t performance_time) VideoProducer::Seek(bigtime_t media_time, bigtime_t performance_time)
{ {
BMediaEventLooper::Seek(media_time, performance_time); BMediaEventLooper::Seek(media_time, performance_time);
} }
void void
VideoProducer::TimeWarp(bigtime_t at_real_time, bigtime_t to_performance_time) VideoProducer::TimeWarp(bigtime_t at_real_time, bigtime_t to_performance_time)
{ {
BMediaEventLooper::TimeWarp(at_real_time, to_performance_time); BMediaEventLooper::TimeWarp(at_real_time, to_performance_time);
} }
status_t status_t
VideoProducer::AddTimer(bigtime_t at_performance_time, int32 cookie) VideoProducer::AddTimer(bigtime_t at_performance_time, int32 cookie)
{ {
return BMediaEventLooper::AddTimer(at_performance_time, cookie); return BMediaEventLooper::AddTimer(at_performance_time, cookie);
} }
void void
VideoProducer::SetRunMode(run_mode mode) VideoProducer::SetRunMode(run_mode mode)
{ {
BMediaEventLooper::SetRunMode(mode); BMediaEventLooper::SetRunMode(mode);
} }
void void
VideoProducer::HandleEvent(const media_timed_event *event, VideoProducer::HandleEvent(const media_timed_event *event,
bigtime_t lateness, bool realTimeEvent) bigtime_t lateness, bool realTimeEvent)
{ {
TOUCH(lateness); TOUCH(realTimeEvent); TOUCH(lateness); TOUCH(realTimeEvent);
switch(event->type) switch(event->type) {
{
case BTimedEventQueue::B_START: case BTimedEventQueue::B_START:
HandleStart(event->event_time); HandleStart(event->event_time);
break; break;
@@ -278,32 +294,38 @@ VideoProducer::HandleEvent(const media_timed_event *event,
} }
} }
void void
VideoProducer::CleanUpEvent(const media_timed_event *event) VideoProducer::CleanUpEvent(const media_timed_event *event)
{ {
BMediaEventLooper::CleanUpEvent(event); BMediaEventLooper::CleanUpEvent(event);
} }
bigtime_t bigtime_t
VideoProducer::OfflineTime() VideoProducer::OfflineTime()
{ {
return BMediaEventLooper::OfflineTime(); return BMediaEventLooper::OfflineTime();
} }
void void
VideoProducer::ControlLoop() VideoProducer::ControlLoop()
{ {
BMediaEventLooper::ControlLoop(); BMediaEventLooper::ControlLoop();
} }
status_t status_t
VideoProducer::DeleteHook(BMediaNode * node) VideoProducer::DeleteHook(BMediaNode * node)
{ {
return BMediaEventLooper::DeleteHook(node); return BMediaEventLooper::DeleteHook(node);
} }
/* BBufferProducer */ /* BBufferProducer */
status_t status_t
VideoProducer::FormatSuggestionRequested( VideoProducer::FormatSuggestionRequested(
media_type type, int32 quality, media_format *format) media_type type, int32 quality, media_format *format)
@@ -326,6 +348,7 @@ VideoProducer::FormatSuggestionRequested(
return B_OK; return B_OK;
} }
status_t status_t
VideoProducer::FormatProposal(const media_source &output, media_format *format) VideoProducer::FormatProposal(const media_source &output, media_format *format)
{ {
@@ -365,6 +388,7 @@ VideoProducer::FormatProposal(const media_source &output, media_format *format)
} }
status_t status_t
VideoProducer::FormatChangeRequested(const media_source &source, VideoProducer::FormatChangeRequested(const media_source &source,
const media_destination &destination, media_format *io_format, const media_destination &destination, media_format *io_format,
@@ -377,6 +401,7 @@ VideoProducer::FormatChangeRequested(const media_source &source,
return B_ERROR; return B_ERROR;
} }
status_t status_t
VideoProducer::GetNextOutput(int32 *cookie, media_output *out_output) VideoProducer::GetNextOutput(int32 *cookie, media_output *out_output)
{ {
@@ -391,6 +416,7 @@ VideoProducer::GetNextOutput(int32 *cookie, media_output *out_output)
return B_OK; return B_OK;
} }
status_t status_t
VideoProducer::DisposeOutputCookie(int32 cookie) VideoProducer::DisposeOutputCookie(int32 cookie)
{ {
@@ -399,6 +425,7 @@ VideoProducer::DisposeOutputCookie(int32 cookie)
return B_OK; return B_OK;
} }
status_t status_t
VideoProducer::SetBufferGroup(const media_source &for_source, VideoProducer::SetBufferGroup(const media_source &for_source,
BBufferGroup *group) BBufferGroup *group)
@@ -408,6 +435,7 @@ VideoProducer::SetBufferGroup(const media_source &for_source,
return B_ERROR; return B_ERROR;
} }
status_t status_t
VideoProducer::VideoClippingChanged(const media_source &for_source, VideoProducer::VideoClippingChanged(const media_source &for_source,
int16 num_shorts, int16 *clip_data, int16 num_shorts, int16 *clip_data,
@@ -419,6 +447,7 @@ VideoProducer::VideoClippingChanged(const media_source &for_source,
return B_ERROR; return B_ERROR;
} }
status_t status_t
VideoProducer::GetLatency(bigtime_t *out_latency) VideoProducer::GetLatency(bigtime_t *out_latency)
{ {
@@ -426,6 +455,7 @@ VideoProducer::GetLatency(bigtime_t *out_latency)
return B_OK; return B_OK;
} }
status_t status_t
VideoProducer::PrepareToConnect(const media_source &source, VideoProducer::PrepareToConnect(const media_source &source,
const media_destination &destination, media_format *format, const media_destination &destination, media_format *format,
@@ -502,6 +532,7 @@ VideoProducer::PrepareToConnect(const media_source &source,
return B_OK; return B_OK;
} }
void void
VideoProducer::Connect(status_t error, const media_source &source, VideoProducer::Connect(status_t error, const media_source &source,
const media_destination &destination, const media_format &format, const media_destination &destination, const media_format &format,
@@ -522,8 +553,8 @@ VideoProducer::Connect(status_t error, const media_source &source,
return; return;
} }
if ( (source != fOutput.source) || (error < B_OK) || if (source != fOutput.source || error < B_OK
!const_cast<media_format *>(&format)->Matches(&fOutput.format)) { || !const_cast<media_format *>(&format)->Matches(&fOutput.format)) {
PRINTF(1, ("Connect: Connect error\n")); PRINTF(1, ("Connect: Connect error\n"));
return; return;
} }
@@ -611,6 +642,7 @@ VideoProducer::Disconnect(const media_source &source,
fConnected = false; fConnected = false;
} }
void void
VideoProducer::LateNoticeReceived(const media_source &source, VideoProducer::LateNoticeReceived(const media_source &source,
bigtime_t how_much, bigtime_t performance_time) bigtime_t how_much, bigtime_t performance_time)
@@ -618,6 +650,7 @@ VideoProducer::LateNoticeReceived(const media_source &source,
TOUCH(source); TOUCH(how_much); TOUCH(performance_time); TOUCH(source); TOUCH(how_much); TOUCH(performance_time);
} }
void void
VideoProducer::EnableOutput(const media_source &source, bool enabled, VideoProducer::EnableOutput(const media_source &source, bool enabled,
int32 *_deprecated_) int32 *_deprecated_)
@@ -630,6 +663,7 @@ VideoProducer::EnableOutput(const media_source &source, bool enabled,
fEnabled = enabled; fEnabled = enabled;
} }
status_t status_t
VideoProducer::SetPlayRate(int32 numer, int32 denom) VideoProducer::SetPlayRate(int32 numer, int32 denom)
{ {
@@ -638,6 +672,7 @@ VideoProducer::SetPlayRate(int32 numer, int32 denom)
return B_ERROR; return B_ERROR;
} }
void void
VideoProducer::AdditionalBufferRequested(const media_source &source, VideoProducer::AdditionalBufferRequested(const media_source &source,
media_buffer_id prev_buffer, bigtime_t prev_time, media_buffer_id prev_buffer, bigtime_t prev_time,
@@ -646,6 +681,7 @@ VideoProducer::AdditionalBufferRequested(const media_source &source,
TOUCH(source); TOUCH(prev_buffer); TOUCH(prev_time); TOUCH(prev_tag); TOUCH(source); TOUCH(prev_buffer); TOUCH(prev_time); TOUCH(prev_tag);
} }
void void
VideoProducer::LatencyChanged(const media_source &source, VideoProducer::LatencyChanged(const media_source &source,
const media_destination &destination, bigtime_t new_latency, const media_destination &destination, bigtime_t new_latency,
@@ -654,8 +690,10 @@ VideoProducer::LatencyChanged(const media_source &source,
TOUCH(source); TOUCH(destination); TOUCH(new_latency); TOUCH(flags); TOUCH(source); TOUCH(destination); TOUCH(new_latency); TOUCH(flags);
} }
/* BControllable */ /* BControllable */
status_t status_t
VideoProducer::GetParameterValue( VideoProducer::GetParameterValue(
int32 id, bigtime_t *last_change, void *value, size_t *size) int32 id, bigtime_t *last_change, void *value, size_t *size)
@@ -694,6 +732,7 @@ VideoProducer::GetParameterValue(
return B_BAD_VALUE; return B_BAD_VALUE;
} }
void void
VideoProducer::SetParameterValue( VideoProducer::SetParameterValue(
int32 id, bigtime_t when, const void *value, size_t size) int32 id, bigtime_t when, const void *value, size_t size)
@@ -729,14 +768,17 @@ VideoProducer::SetParameterValue(
BroadcastNewParameterValue(when, id, (void *)value, size); BroadcastNewParameterValue(when, id, (void *)value, size);
} }
status_t status_t
VideoProducer::StartControlPanel(BMessenger *out_messenger) VideoProducer::StartControlPanel(BMessenger *out_messenger)
{ {
return BControllable::StartControlPanel(out_messenger); return BControllable::StartControlPanel(out_messenger);
} }
/* VideoProducer */ /* VideoProducer */
void void
VideoProducer::HandleStart(bigtime_t performance_time) VideoProducer::HandleStart(bigtime_t performance_time)
{ {
@@ -778,6 +820,7 @@ err1:
return; return;
} }
void void
VideoProducer::HandleStop(void) VideoProducer::HandleStop(void)
{ {
@@ -797,6 +840,7 @@ VideoProducer::HandleStop(void)
fRunning = false; fRunning = false;
} }
void void
VideoProducer::HandleTimeWarp(bigtime_t performance_time) VideoProducer::HandleTimeWarp(bigtime_t performance_time)
{ {
@@ -807,6 +851,7 @@ VideoProducer::HandleTimeWarp(bigtime_t performance_time)
release_sem(fFrameSync); release_sem(fFrameSync);
} }
void void
VideoProducer::HandleSeek(bigtime_t performance_time) VideoProducer::HandleSeek(bigtime_t performance_time)
{ {
@@ -817,6 +862,7 @@ VideoProducer::HandleSeek(bigtime_t performance_time)
release_sem(fFrameSync); release_sem(fFrameSync);
} }
void void
VideoProducer::_UpdateStats() VideoProducer::_UpdateStats()
{ {
@@ -834,7 +880,6 @@ VideoProducer::_UpdateStats()
} }
/* The following functions form the thread that generates frames. You should /* The following functions form the thread that generates frames. You should
* replace this with the code that interfaces to your hardware. */ * replace this with the code that interfaces to your hardware. */
int32 int32
@@ -982,6 +1027,7 @@ PRINT(("PS: %Ld\n", fProcessingLatency));
return B_OK; return B_OK;
} }
int32 int32
VideoProducer::_frame_generator_(void *data) VideoProducer::_frame_generator_(void *data)
{ {
@@ -21,8 +21,7 @@ class BTextParameter;
class VideoProducer : class VideoProducer :
public virtual BMediaEventLooper, public virtual BMediaEventLooper,
public virtual BBufferProducer, public virtual BBufferProducer,
public virtual BControllable public virtual BControllable {
{
public: public:
VideoProducer(BMediaAddOn *addon, CamDevice *dev, VideoProducer(BMediaAddOn *addon, CamDevice *dev,
const char *name, int32 internal_id); const char *name, int32 internal_id);
@@ -26,8 +26,7 @@
// This class represents each webcam // This class represents each webcam
class NW80xCamDevice : public CamDevice class NW80xCamDevice : public CamDevice {
{
public: public:
NW80xCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); NW80xCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device);
~NW80xCamDevice(); ~NW80xCamDevice();
@@ -26,8 +26,7 @@
// This class represents each webcam // This class represents each webcam
class QuickCamDevice : public CamDevice class QuickCamDevice : public CamDevice {
{
public: public:
QuickCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); QuickCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device);
~QuickCamDevice(); ~QuickCamDevice();
@@ -56,8 +55,7 @@ class QuickCamDevice : public CamDevice
// the addon itself, that instanciate // the addon itself, that instanciate
class QuickCamDeviceAddon : public CamDeviceAddon class QuickCamDeviceAddon : public CamDeviceAddon {
{
public: public:
QuickCamDeviceAddon(WebCamMediaAddOn* webcam); QuickCamDeviceAddon(WebCamMediaAddOn* webcam);
virtual ~QuickCamDeviceAddon(); virtual ~QuickCamDeviceAddon();
@@ -996,5 +996,3 @@ void bayer2rgb32le(unsigned char *dst, unsigned char *src, long int WIDTH, long
} }
} }
@@ -54,8 +54,7 @@
#define SN9C102_RGB_GAIN_MAX 0x7f #define SN9C102_RGB_GAIN_MAX 0x7f
// This class represents each webcam // This class represents each webcam
class SonixCamDevice : public CamDevice class SonixCamDevice : public CamDevice {
{
public: public:
SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); SonixCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device);
~SonixCamDevice(); ~SonixCamDevice();
@@ -115,8 +114,7 @@ class SonixCamDevice : public CamDevice
// the addon itself, that instanciate // the addon itself, that instanciate
class SonixCamDeviceAddon : public CamDeviceAddon class SonixCamDeviceAddon : public CamDeviceAddon {
{
public: public:
SonixCamDeviceAddon(WebCamMediaAddOn* webcam); SonixCamDeviceAddon(WebCamMediaAddOn* webcam);
virtual ~SonixCamDeviceAddon(); virtual ~SonixCamDeviceAddon();
@@ -3,10 +3,13 @@
* Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
*/ */
#include "UVCCamDevice.h" #include "UVCCamDevice.h"
#include "USB_video.h" #include "USB_video.h"
#include <stdio.h> #include <stdio.h>
usb_webcam_support_descriptor kSupportedDevices[] = { usb_webcam_support_descriptor kSupportedDevices[] = {
// ofcourse we support a generic UVC device... // ofcourse we support a generic UVC device...
{{ CC_VIDEO, SC_VIDEOCONTROL, 0, 0, 0 }, "USB", "Video Class", "??" }, {{ 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 } {{ 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", 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], 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; 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; int c, i;
@@ -283,25 +292,33 @@ void UVCCamDevice::ParseVideoControl(const uint8* buffer, size_t len)
} }
} }
UVCCamDevice::~UVCCamDevice() UVCCamDevice::~UVCCamDevice()
{ {
} }
bool UVCCamDevice::SupportsIsochronous()
bool
UVCCamDevice::SupportsIsochronous()
{ {
return true; return true;
} }
status_t UVCCamDevice::StartTransfer()
status_t
UVCCamDevice::StartTransfer()
{ {
return CamDevice::StartTransfer(); return CamDevice::StartTransfer();
} }
status_t UVCCamDevice::StopTransfer()
status_t
UVCCamDevice::StopTransfer()
{ {
return CamDevice::StopTransfer(); return CamDevice::StopTransfer();
} }
UVCCamDeviceAddon::UVCCamDeviceAddon(WebCamMediaAddOn* webcam) UVCCamDeviceAddon::UVCCamDeviceAddon(WebCamMediaAddOn* webcam)
: CamDeviceAddon(webcam) : CamDeviceAddon(webcam)
{ {
@@ -8,8 +8,7 @@
#include "CamDevice.h" #include "CamDevice.h"
class UVCCamDevice : public CamDevice class UVCCamDevice : public CamDevice {
{
public: public:
UVCCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device); UVCCamDevice(CamDeviceAddon &_addon, BUSBDevice* _device);
~UVCCamDevice(); ~UVCCamDevice();
@@ -22,8 +21,7 @@ private:
void ParseVideoStreaming(const uint8* buf, size_t len); void ParseVideoStreaming(const uint8* buf, size_t len);
}; };
class UVCCamDeviceAddon : public CamDeviceAddon class UVCCamDeviceAddon : public CamDeviceAddon {
{
public: public:
UVCCamDeviceAddon(WebCamMediaAddOn* webcam); UVCCamDeviceAddon(WebCamMediaAddOn* webcam);
virtual ~UVCCamDeviceAddon(); virtual ~UVCCamDeviceAddon();