| | |
| | | env->ReleaseStringUTFChars(ipaddr, utf8); |
| | | } |
| | | |
| | | void createHiddenSurface(JNIEnv *env, int cameraIdx) |
| | | static void createHiddenSurface(JNIEnv *env, int cameraIdx) |
| | | { |
| | | CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]); |
| | | |
| | |
| | | jclass jcOutputSurface = env->FindClass("com/example/nativecodec/OutputSurface"); |
| | | jmethodID jmOutputSurface_ctor = env->GetMethodID(jcOutputSurface, "<init>", "(II)V"); |
| | | jmethodID jmOutputSurface_getSurface = env->GetMethodID(jcOutputSurface, "getSurface", "()Landroid/view/Surface;"); |
| | | jmethodID jmOutputSurface_readPixels = env->GetMethodID(jcOutputSurface, "readPixels", "()Ljava/nio/Buffer;"); |
| | | |
| | | jobject jobjOutputSurface = env->NewObject(jcOutputSurface , jmOutputSurface_ctor, 1920, 1088); |
| | | jobject jobjSurface = env->CallObjectMethod(jobjOutputSurface, jmOutputSurface_getSurface); |
| | | cameraWrapper.windowDecode = ANativeWindow_fromSurface(env, jobjSurface); |
| | | } |
| | | |
| | | void readPixels(uint8_t* buf, size_t& maxSize) |
| | | { |
| | | |
| | | } |
| | | |
| | | // set the surface |
| | |
| | | cameraWrapper.amcdConfig.ak_mime = "video/avc"; |
| | | cameraWrapper.amcdConfig.ak_width = 640; |
| | | cameraWrapper.amcdConfig.ak_height = 480; |
| | | cameraWrapper.amcdConfig.windowSurfaceDecode = nullptr; //cameraWrapper.windowDecode; |
| | | cameraWrapper.amcdConfig.windowSurfaceRender = nullptr; |
| | | cameraWrapper.amcdConfig.windowSurfaceDecode = cameraWrapper.windowDecode; //cameraWrapper.windowDecode; |
| | | cameraWrapper.amcdConfig.windowSurfaceRender = nullptr;//cameraWrapper.windowRender; |
| | | cameraWrapper.amcdConfig.releaseOutputBuffIdx = true; |
| | | cameraWrapper.amcdConfig.releaseOutputBuffIdxInPay = false; |
| | | cameraWrapper.amcdConfig.generateDecodedDataPerFrame = 1; |