package com.example.video;
import com.flashphoner.sdk.media.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyDecodedFrameInterceptor implements IDecodedFrameInterceptor {
//create one global logger
private static final Logger log = LoggerFactory.getLogger("MyDecodedFrameInterceptor");
public void frameDecoded(String streamName, YUVFrame frame) {
log.info("Got frame " + frame);
//draw 100x100 rectangle in the center
int rectSide = 100;
byte[] greenPixel = new byte[]{0x00, 0x00, 0x00};
if (frame.getWidth() > rectSide && frame.getHeight() > rectSide) {
int x = frame.getWidth()/2 - rectSide/2;
int y = frame.getHeight()/2 - rectSide/2;
int xLimit = x + rectSide;
int yLimit = y + rectSide;
log.info("Draw rect x:" + x + "-" + xLimit + " y:" + y + "-" + yLimit);
for (; x < xLimit; x++) {
for (int y2 = y; y2 < yLimit; y2++) {
frame.writePixel(x, y2, greenPixel);
}
}
}
}
}