Visual Processor prototype

link data -> visuals with common processing pipeline, chainable
This commit is contained in:
Charles J. Cliffe
2015-07-27 21:20:44 -04:00
parent 924f519d42
commit a8e24d5537
3 changed files with 44 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
#include "VisualProcessor.h"
+41
View File
@@ -0,0 +1,41 @@
#pragma once
#include "CubicSDRDefs.h"
#include "ThreadQueue.h"
typedef ThreadQueue<ReferenceCounter *> VisualDataQueue;
class VisualProcessor {
public:
void setInput(VisualDataQueue *vis_in) {
// set input queue
}
void attachOutput(VisualDataQueue *vis_out) {
// attach an output queue
}
void removeOutput(VisualDataQueue *vis_out) {
// remove an output queue
}
void pushInput(ReferenceCounter *input) {
// push input data
}
virtual void process() {
// process input to output
// distribute(output);
}
protected:
void distribute(ReferenceCounter *output) {
// distribute outputs
}
VisualDataQueue * input;
std::vector<VisualDataQueue *> outputs;
std::mutex busy_update;
};