package lilin.com;
|
|
import android.util.Log;
|
import android.view.Surface;
|
|
import lilin.com.view.FFWlGLSurfaceView;
|
import lilin.com.view.FFWlRender;
|
|
public class MyCApi {
|
|
// Used to load the 'native-lib' library on application startup.
|
static {
|
System.loadLibrary("avcodec-58");
|
System.loadLibrary("avdevice-58");
|
System.loadLibrary("avfilter-7");
|
System.loadLibrary("avformat-58");
|
System.loadLibrary("avutil-56");
|
System.loadLibrary("postproc-55");
|
System.loadLibrary("swresample-3");
|
System.loadLibrary("swscale-5");
|
System.loadLibrary("bcg729");
|
System.loadLibrary("native-lib");
|
}
|
private FFWlGLSurfaceView wlGLSurfaceView;
|
private Surface surface;
|
|
public void javaBareStart(){
|
bareStart();
|
}
|
public void javaBareStop(){
|
bareStop();
|
}
|
public void javaBarejie(){
|
barejie();
|
}
|
public void javaBaregua(){
|
baregua();
|
}
|
public void javaBarecall(String num){
|
barecall(num);
|
}
|
public void javaBarecallb(String num){
|
barecallv(num);
|
}
|
public void javaBareSendv(byte[] data, int w,int h ){
|
baresendvdata(data ,w,h);
|
}
|
|
/**
|
* A native method that is implemented by the 'native-lib' native library,
|
* which is packaged with this application.
|
*/
|
|
public native void bareStart();
|
public native void bareStop();
|
public native void barereg(String sipaddress);
|
public native void barejie();
|
public native void baregua();
|
public native void barecall(String num);
|
public native void barecallv(String num);
|
public native int bareIsReg();
|
public native void baresendvdata(byte[] data, int w,int h );
|
|
|
public void c_bareVstart(){
|
if( jniListener!=null ){
|
jniListener. bareVstart();
|
}
|
}
|
public void c_bareVstop(){
|
if( jniListener!=null ){
|
jniListener. bareVstop();
|
}
|
}
|
public void c_bareState(String state ){
|
if( jniListener!=null ){
|
jniListener.bareState(state);
|
}
|
}
|
public void c_bareCodec(String codec ){
|
if( jniListener!=null ){
|
jniListener.bareCodec(codec);
|
}
|
}
|
public void c_renderYUV(int width, int height, byte[] y, byte[] u, byte[] v)
|
{
|
if(wlGLSurfaceView!=null){
|
wlGLSurfaceView.getWlRender().setRenderType(FFWlRender.RENDER_YUV);
|
wlGLSurfaceView.setYUVData( width,height,y,u,v );
|
}
|
}
|
|
private IJniListener jniListener;
|
public void setiJniListener(IJniListener iJniListener) {
|
this.jniListener = iJniListener;
|
}
|
|
public interface IJniListener {
|
void bareState(String state);
|
void bareVstart();
|
void bareVstop();
|
void bareCodec(String code);
|
}
|
public void setWlGLSurfaceView(FFWlGLSurfaceView wlGLSurfaceView) {
|
this.wlGLSurfaceView = wlGLSurfaceView;
|
wlGLSurfaceView.getWlRender().setOnSurfaceCreateListener(new FFWlRender.OnSurfaceCreateListener() {
|
@Override
|
public void onSurfaceCreate(Surface s) {
|
if(surface == null)
|
{
|
surface = s;
|
}
|
}
|
});
|
}
|
}
|