package javaforce.media; /** Media encoder. * * @author pquiring */ public class MediaEncoder extends MediaCoder { //these must be set BEFORE you call start() public boolean fps_1000_1001; public int framesPerKeyFrame = 12; public int videoBitRate = 400000; public int audioBitRate = 128000; public native boolean start(MediaIO io, int width, int height, int fps, int chs, int freq, String codec, boolean doVideo, boolean doAudio); /** Sets frame rate = fps * 1000 / 1001 (default = false) */ public void set1000over1001(boolean state) { fps_1000_1001 = state; } /** Sets frames per key frame (gop) (default = 12) */ public void setFramesPerKeyFrame(int count) { framesPerKeyFrame = count; } /** Sets video bit rate (default = 400000) */ public void setVideoBitRate(int rate) { videoBitRate = rate; } /** Sets audio bit rate (default = 128000) */ public void setAudioBitRate(int rate) { audioBitRate = rate; } public native boolean addAudio(short sams[], int offset, int length); public boolean addAudio(short sams[]) { return addAudio(sams, 0, sams.length); } public native boolean addVideo(int px[]); public native int getAudioFramesize(); public native void stop(); }