Loading media/jni/android_media_MediaMuxer.cpp +29 −4 Original line number Diff line number Diff line Loading @@ -26,11 +26,15 @@ #include <unistd.h> #include <fcntl.h> #include <android/api-level.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/foundation/AMessage.h> #include <media/stagefright/MediaErrors.h> #include <media/stagefright/MediaMuxer.h> extern "C" int android_get_application_target_sdk_version(); namespace android { struct fields_t { Loading Loading @@ -229,12 +233,33 @@ static void android_media_MediaMuxer_stop(JNIEnv *env, jclass /* clazz */, status_t err = muxer->stop(); if (err != OK) { if (android_get_application_target_sdk_version() >= __ANDROID_API_R__) { switch (err) { case OK: break; case ERROR_IO: { jniThrowException(env, "java/lang/UncheckedIOException", "Muxer stopped unexpectedly"); return; } case ERROR_MALFORMED: { jniThrowException(env, "java/io/IOError", "Failure of reading or writing operation"); return; } default: { jniThrowException(env, "java/lang/IllegalStateException", "Failed to stop the muxer"); return; } } } else { if (err != OK) { jniThrowException(env, "java/lang/IllegalStateException", "Failed to stop the muxer"); return; } } } static void android_media_MediaMuxer_native_release( JNIEnv* /* env */, jclass clazz, jlong nativeObject) { Loading Loading
media/jni/android_media_MediaMuxer.cpp +29 −4 Original line number Diff line number Diff line Loading @@ -26,11 +26,15 @@ #include <unistd.h> #include <fcntl.h> #include <android/api-level.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/foundation/AMessage.h> #include <media/stagefright/MediaErrors.h> #include <media/stagefright/MediaMuxer.h> extern "C" int android_get_application_target_sdk_version(); namespace android { struct fields_t { Loading Loading @@ -229,12 +233,33 @@ static void android_media_MediaMuxer_stop(JNIEnv *env, jclass /* clazz */, status_t err = muxer->stop(); if (err != OK) { if (android_get_application_target_sdk_version() >= __ANDROID_API_R__) { switch (err) { case OK: break; case ERROR_IO: { jniThrowException(env, "java/lang/UncheckedIOException", "Muxer stopped unexpectedly"); return; } case ERROR_MALFORMED: { jniThrowException(env, "java/io/IOError", "Failure of reading or writing operation"); return; } default: { jniThrowException(env, "java/lang/IllegalStateException", "Failed to stop the muxer"); return; } } } else { if (err != OK) { jniThrowException(env, "java/lang/IllegalStateException", "Failed to stop the muxer"); return; } } } static void android_media_MediaMuxer_native_release( JNIEnv* /* env */, jclass clazz, jlong nativeObject) { Loading