use of android.filterfw.core.Frame in project platform_frameworks_base by android.
the class StringSource method process.
@Override
public void process(FilterContext env) {
Frame output = env.getFrameManager().newFrame(mOutputFormat);
output.setObjectValue(mString);
output.setTimestamp(Frame.TIMESTAMP_UNKNOWN);
pushOutput("string", output);
closeOutputPort("string");
}
use of android.filterfw.core.Frame in project platform_frameworks_base by android.
the class InputStreamSource method process.
@Override
public void process(FilterContext context) {
int fileSize = 0;
ByteBuffer byteBuffer = null;
// Read the file
try {
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = mInputStream.read(buffer)) > 0) {
byteStream.write(buffer, 0, bytesRead);
fileSize += bytesRead;
}
byteBuffer = ByteBuffer.wrap(byteStream.toByteArray());
} catch (IOException exception) {
throw new RuntimeException("InputStreamSource: Could not read stream: " + exception.getMessage() + "!");
}
// Put it into a frame
mOutputFormat.setDimensions(fileSize);
Frame output = context.getFrameManager().newFrame(mOutputFormat);
output.setData(byteBuffer);
// Push output
pushOutput("data", output);
// Release pushed frame
output.release();
// Close output port as we are done here
closeOutputPort("data");
}
use of android.filterfw.core.Frame in project platform_frameworks_base by android.
the class OutputStreamTarget method process.
@Override
public void process(FilterContext context) {
Frame input = pullInput("data");
ByteBuffer data;
if (input.getFormat().getObjectClass() == String.class) {
String stringVal = (String) input.getObjectValue();
data = ByteBuffer.wrap(stringVal.getBytes());
} else {
data = input.getData();
}
try {
mOutputStream.write(data.array(), 0, data.limit());
mOutputStream.flush();
} catch (IOException exception) {
throw new RuntimeException("OutputStreamTarget: Could not write to stream: " + exception.getMessage() + "!");
}
}
use of android.filterfw.core.Frame in project platform_frameworks_base by android.
the class RetargetFilter method process.
@Override
public void process(FilterContext context) {
// Get input frame
Frame input = pullInput("frame");
// Create output frame
Frame output = context.getFrameManager().duplicateFrameToTarget(input, mTarget);
// Push output
pushOutput("frame", output);
// Release pushed frame
output.release();
}
use of android.filterfw.core.Frame in project platform_frameworks_base by android.
the class DocumentaryFilter method process.
@Override
public void process(FilterContext context) {
// Get input frame
Frame input = pullInput("image");
FrameFormat inputFormat = input.getFormat();
// Create program if not created already
if (mProgram == null || inputFormat.getTarget() != mTarget) {
initProgram(context, inputFormat.getTarget());
}
// Check if the frame size has changed
if (inputFormat.getWidth() != mWidth || inputFormat.getHeight() != mHeight) {
mWidth = inputFormat.getWidth();
mHeight = inputFormat.getHeight();
initParameters();
}
// Create output frame
Frame output = context.getFrameManager().newFrame(inputFormat);
// Process
mProgram.process(input, output);
// Push output
pushOutput("image", output);
// Release pushed frame
output.release();
}
Aggregations