Add examples.

Disable google tests for now.
This commit is contained in:
Peter Johnson
2016-10-13 00:18:16 -07:00
parent 417545d521
commit cb4d8a6555
3 changed files with 138 additions and 3 deletions

View File

@@ -0,0 +1,60 @@
#include "cameraserver.h"
#include "llvm/SmallString.h"
#include "llvm/raw_ostream.h"
int main() {
CS_Status status = 0;
llvm::SmallString<64> buf;
for (const auto& caminfo : cs::EnumerateUSBCameras(&status)) {
llvm::outs() << caminfo.dev << ": " << caminfo.path << " (" << caminfo.name
<< ")\n";
cs::USBCamera camera{"usbcam", caminfo.dev};
llvm::outs() << "Properties:\n";
for (const auto& prop : camera.EnumerateProperties()) {
llvm::outs() << " " << prop.GetName() << ": ";
switch (prop.type()) {
case cs::VideoProperty::kBoolean:
llvm::outs() << "value=" << prop.Get()
<< " default=" << prop.GetDefault();
break;
case cs::VideoProperty::kInteger:
llvm::outs() << "value=" << prop.Get() << " min=" << prop.GetMin()
<< " max=" << prop.GetMax() << " step=" << prop.GetStep()
<< " default=" << prop.GetDefault();
break;
case cs::VideoProperty::kString:
llvm::outs() << prop.GetString(buf);
break;
case cs::VideoProperty::kEnum: {
llvm::outs() << "value=" << prop.Get();
auto choices = prop.GetChoices();
for (size_t i = 0; i < choices.size(); ++i) {
if (choices[i].empty()) continue;
llvm::outs() << "\n " << i << ": " << choices[i];
}
break;
}
default:
break;
}
llvm::outs() << '\n';
}
llvm::outs() << "Video Modes:\n";
for (const auto& mode : camera.EnumerateVideoModes()) {
llvm::outs() << " PixelFormat:";
switch (mode.pixelFormat) {
case cs::VideoMode::kMJPEG: llvm::outs() << "MJPEG"; break;
case cs::VideoMode::kYUYV: llvm::outs() << "YUYV"; break;
case cs::VideoMode::kRGB565: llvm::outs() << "RGB565"; break;
default: llvm::outs() << "Unknown"; break;
}
llvm::outs() << " Width:" << mode.width;
llvm::outs() << " Height:" << mode.height;
llvm::outs() << " FPS:" << mode.fps << '\n';
}
}
}