MCPcopy Create free account
hub / github.com/OpenKinect/libfreenect2 / run

Method run

src/openni2/DeviceDriver.cpp:79–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77 }
78
79 void run()
80 {
81 libfreenect2::FrameMap frames;
82 uint32_t seqNum = 0;
83 libfreenect2::Frame::Type seqType;
84
85 struct streams {
86 const char* name;
87 libfreenect2::Frame::Type type;
88 } streams[] = {
89 { "Ir", libfreenect2::Frame::Ir },
90 { "Depth", libfreenect2::Frame::Depth },
91 { "Color", libfreenect2::Frame::Color }
92 };
93 while(!device_stop)
94 {
95 listener.waitForNewFrame(frames);
96
97 for (unsigned i = 0; i < sizeof(streams)/sizeof(*streams); i++) {
98 struct streams& s = streams[i];
99 VideoStream* stream = getStream(s.type);
100 libfreenect2::Frame *frame = frames[s.type];
101 if (stream) {
102 if (seqNum == 0)
103 seqType = s.type;
104 if (s.type == seqType)
105 seqNum++;
106 frame->timestamp = seqNum * 33369;
107 stream->buildFrame(frame);
108 }
109 }
110
111 listener.release(frames);
112 }
113 }
114
115 OniStatus setStreamProperties(VideoStream* stream, std::string pfx)
116 {

Callers 1

static_runMethod · 0.45

Calls 3

waitForNewFrameMethod · 0.80
buildFrameMethod · 0.80
releaseMethod · 0.45

Tested by

no test coverage detected