X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FFfmpeg.java;h=eb3203f553d8ba337dadd64be0cd29804ac0fb8b;hb=b7202442677d0cf41e6e59870cd6c34e5619b8b9;hp=da3aed6c0cd67656b2ddc3996562ce2b7a325ca8;hpb=3e977e8fa8df4d0f336fd4dfce40168fcdfc0b07;p=rtmpclient.git diff --git a/app/src/main/java/ai/suanzi/rtmpclient/Ffmpeg.java b/app/src/main/java/ai/suanzi/rtmpclient/Ffmpeg.java index da3aed6..eb3203f 100644 --- a/app/src/main/java/ai/suanzi/rtmpclient/Ffmpeg.java +++ b/app/src/main/java/ai/suanzi/rtmpclient/Ffmpeg.java @@ -1,11 +1,16 @@ package ai.suanzi.rtmpclient; +import android.util.Log; + public class Ffmpeg { static { - System.loadLibrary("x264"); - System.loadLibrary("postproc"); + String arch = System.getProperty("os.arch"); + if (arch.equals("i686")){ + System.loadLibrary("x264"); + } System.loadLibrary("avutil"); + System.loadLibrary("postproc"); System.loadLibrary("swresample"); System.loadLibrary("swscale"); System.loadLibrary("avcodec"); @@ -15,10 +20,28 @@ public class Ffmpeg { System.loadLibrary("ffmpeg-jni"); } + private static Ffmpeg instance = new Ffmpeg(); + + public static Ffmpeg getInstance(){ + return instance; + } + + private Ffmpeg(){ + Log.e("Ffmpeg", "init"); + init(); + //getPerfectDevice(); + } + + public native String getVersion(); + public native void init(); public native int init(int width, int height); public native int flush(); public native int close(); public native int process(byte[] data); public native int play(Object surface, String fname); + public native int push(Object surface); + public native int preview(Object surface); + public native String getPerfectDevice(); + public native int test(int fd); }