You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
implement release() methods in MediaCodec and related classes
This commit is contained in:
@@ -248,3 +248,9 @@ JNIEXPORT void JNICALL Java_android_media_AudioTrack_native_1pause(JNIEnv *env,
|
||||
snd_pcm_t *pcm_handle = _PTR(_GET_LONG_FIELD(this, "pcm_handle"));
|
||||
snd_pcm_pause(pcm_handle, TRUE);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_media_AudioTrack_native_1release(JNIEnv *env, jobject this)
|
||||
{
|
||||
snd_pcm_t *pcm_handle = _PTR(_GET_LONG_FIELD(this, "pcm_handle"));
|
||||
snd_pcm_close(pcm_handle);
|
||||
}
|
||||
|
||||
@@ -53,6 +53,14 @@ JNIEXPORT void JNICALL Java_android_media_AudioTrack_native_1pause
|
||||
JNIEXPORT jint JNICALL Java_android_media_AudioTrack_native_1write
|
||||
(JNIEnv *, jobject, jbyteArray, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: android_media_AudioTrack
|
||||
* Method: native_release
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_media_AudioTrack_native_1release
|
||||
(JNIEnv *, jobject);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -63,6 +63,14 @@ JNIEXPORT jint JNICALL Java_android_media_MediaCodec_native_1dequeueOutputBuffer
|
||||
JNIEXPORT void JNICALL Java_android_media_MediaCodec_native_1releaseOutputBuffer
|
||||
(JNIEnv *, jobject, jlong, jobject, jboolean);
|
||||
|
||||
/*
|
||||
* Class: android_media_MediaCodec
|
||||
* Method: native_release
|
||||
* Signature: (J)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_media_MediaCodec_native_1release
|
||||
(JNIEnv *, jobject, jlong);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -481,3 +481,10 @@ JNIEXPORT void JNICALL Java_android_media_MediaCodec_native_1releaseOutputBuffer
|
||||
g_idle_add(render_frame, data);
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_media_MediaCodec_native_1release(JNIEnv *env, jobject this, jlong codec)
|
||||
{
|
||||
struct ATL_codec_context *ctx = _PTR(codec);
|
||||
avcodec_free_context(&ctx->codec);
|
||||
free(ctx);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user