Lines Matching refs:env

48 extern sp<Camera> get_native_camera(JNIEnv *env, jobject thiz, struct JNICameraContext** context);
65 JNIMediaRecorderListener(JNIEnv* env, jobject thiz, jobject weak_thiz);
74 JNIMediaRecorderListener::JNIMediaRecorderListener(JNIEnv* env, jobject thiz, jobject weak_thiz)
79 jclass clazz = env->GetObjectClass(thiz);
82 jniThrowException(env, "java/lang/Exception", NULL);
85 mClass = (jclass)env->NewGlobalRef(clazz);
89 mObject = env->NewGlobalRef(weak_thiz);
95 JNIEnv *env = AndroidRuntime::getJNIEnv();
96 env->DeleteGlobalRef(mObject);
97 env->DeleteGlobalRef(mClass);
104 JNIEnv *env = AndroidRuntime::getJNIEnv();
105 env->CallStaticVoidMethod(mClass, fields.post_event, mObject, msg, ext1, ext2, NULL);
110 static sp<Surface> get_surface(JNIEnv* env, jobject clazz)
113 return android_view_Surface_getSurface(env, clazz);
117 static bool process_media_recorder_call(JNIEnv *env, status_t opStatus, const char* exception, const char* message)
121 jniThrowException(env, "java/lang/IllegalStateException", NULL);
124 jniThrowException(env, exception, message);
130 static sp<MediaRecorder> getMediaRecorder(JNIEnv* env, jobject thiz)
133 MediaRecorder* const p = (MediaRecorder*)env->GetLongField(thiz, fields.context);
137 static sp<MediaRecorder> setMediaRecorder(JNIEnv* env, jobject thiz, const sp<MediaRecorder>& recorder)
140 sp<MediaRecorder> old = (MediaRecorder*)env->GetLongField(thiz, fields.context);
147 env->SetLongField(thiz, fields.context, (jlong)recorder.get());
152 static void android_media_MediaRecorder_setCamera(JNIEnv* env, jobject thiz, jobject camera)
156 jniThrowNullPointerException(env, "camera object is a NULL pointer");
159 sp<Camera> c = get_native_camera(env, camera, NULL);
164 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
165 process_media_recorder_call(env, mr->setCamera(c->remote(), c->getRecordingProxy()),
170 android_media_MediaRecorder_setVideoSource(JNIEnv *env, jobject thiz, jint vs)
174 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid video source");
177 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
178 process_media_recorder_call(env, mr->setVideoSource(vs), "java/lang/RuntimeException", "setVideoSource failed.");
182 android_media_MediaRecorder_setAudioSource(JNIEnv *env, jobject thiz, jint as)
187 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid audio source");
191 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
192 process_media_recorder_call(env, mr->setAudioSource(as), "java/lang/RuntimeException", "setAudioSource failed.");
196 android_media_MediaRecorder_setOutputFormat(JNIEnv *env, jobject thiz, jint of)
200 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid output format");
203 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
204 process_media_recorder_call(env, mr->setOutputFormat(of), "java/lang/RuntimeException", "setOutputFormat failed.");
208 android_media_MediaRecorder_setVideoEncoder(JNIEnv *env, jobject thiz, jint ve)
212 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid video encoder");
215 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
216 process_media_recorder_call(env, mr->setVideoEncoder(ve), "java/lang/RuntimeException", "setVideoEncoder failed.");
220 android_media_MediaRecorder_setAudioEncoder(JNIEnv *env, jobject thiz, jint ae)
224 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid audio encoder");
227 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
228 process_media_recorder_call(env, mr->setAudioEncoder(ae), "java/lang/RuntimeException", "setAudioEncoder failed.");
232 android_media_MediaRecorder_setParameter(JNIEnv *env, jobject thiz, jstring params)
241 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
243 const char* params8 = env->GetStringUTFChars(params, NULL);
250 process_media_recorder_call(env, mr->setParameters(String8(params8)), "java/lang/RuntimeException", "setParameter failed.");
251 env->ReleaseStringUTFChars(params,params8);
255 android_media_MediaRecorder_setOutputFileFD(JNIEnv *env, jobject thiz, jobject fileDescriptor, jlong offset, jlong length)
259 jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
262 int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
263 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
265 process_media_recorder_call(env, opStatus, "java/io/IOException", "setOutputFile failed.");
269 android_media_MediaRecorder_setVideoSize(JNIEnv *env, jobject thiz, jint width, jint height)
272 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
275 jniThrowException(env, "java/lang/IllegalArgumentException", "invalid video size");
278 process_media_recorder_call(env, mr->setVideoSize(width, height), "java/lang/RuntimeException", "setVideoSize failed.");
282 android_media_MediaRecorder_setVideoFrameRate(JNIEnv *env, jobject thiz, jint rate)
286 jniThrowException(env, "java/lang/IllegalArgumentException", "invalid frame rate");
289 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
290 process_media_recorder_call(env, mr->setVideoFrameRate(rate), "java/lang/RuntimeException", "setVideoFrameRate failed.");
294 android_media_MediaRecorder_setMaxDuration(JNIEnv *env, jobject thiz, jint max_duration_ms)
297 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
302 process_media_recorder_call(env, mr->setParameters(String8(params)), "java/lang/RuntimeException", "setMaxDuration failed.");
307 JNIEnv *env, jobject thiz, jlong max_filesize_bytes)
310 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
315 process_media_recorder_call(env, mr->setParameters(String8(params)), "java/lang/RuntimeException", "setMaxFileSize failed.");
319 android_media_MediaRecorder_prepare(JNIEnv *env, jobject thiz)
322 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
324 jobject surface = env->GetObjectField(thiz, fields.surface);
326 const sp<Surface> native_surface = get_surface(env, surface);
332 jniThrowException(env, "java/io/IOException", "invalid preview surface");
337 if (process_media_recorder_call(env, mr->setPreviewSurface(native_surface->getIGraphicBufferProducer()), "java/lang/RuntimeException", "setPreviewSurface failed.")) {
341 process_media_recorder_call(env, mr->prepare(), "java/io/IOException", "prepare failed.");
345 android_media_MediaRecorder_native_getMaxAmplitude(JNIEnv *env, jobject thiz)
348 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
350 process_media_recorder_call(env, mr->getMaxAmplitude(&result), "java/lang/RuntimeException", "getMaxAmplitude failed.");
355 android_media_MediaRecorder_getSurface(JNIEnv *env, jobject thiz)
358 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
363 env,
370 return android_view_Surface_createFromIGraphicBufferProducer(env,
375 android_media_MediaRecorder_start(JNIEnv *env, jobject thiz)
378 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
379 process_media_recorder_call(env, mr->start(), "java/lang/RuntimeException", "start failed.");
383 android_media_MediaRecorder_stop(JNIEnv *env, jobject thiz)
386 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
387 process_media_recorder_call(env, mr->stop(), "java/lang/RuntimeException", "stop failed.");
391 android_media_MediaRecorder_native_reset(JNIEnv *env, jobject thiz)
394 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
395 process_media_recorder_call(env, mr->reset(), "java/lang/RuntimeException", "native_reset failed.");
399 android_media_MediaRecorder_release(JNIEnv *env, jobject thiz)
402 sp<MediaRecorder> mr = setMediaRecorder(env, thiz, 0);
413 android_media_MediaRecorder_native_init(JNIEnv *env)
417 clazz = env->FindClass("android/media/MediaRecorder");
422 fields.context = env->GetFieldID(clazz, "mNativeContext", "J");
427 fields.surface = env->GetFieldID(clazz, "mSurface", "Landroid/view/Surface;");
432 jclass surface = env->FindClass("android/view/Surface");
437 fields.post_event = env->GetStaticMethodID(clazz, "postEventFromNative",
446 android_media_MediaRecorder_native_setup(JNIEnv *env, jobject thiz, jobject weak_this,
453 jniThrowException(env, "java/lang/RuntimeException", "Out of memory");
457 jniThrowException(env, "java/lang/RuntimeException", "Unable to initialize media recorder");
462 sp<JNIMediaRecorderListener> listener = new JNIMediaRecorderListener(env, thiz, weak_this);
466 const char16_t *rawClientName = env->GetStringChars(packageName, NULL);
467 jsize rawClientNameLen = env->GetStringLength(packageName);
469 env->ReleaseStringChars(packageName, rawClientName);
474 setMediaRecorder(env, thiz, mr);
478 android_media_MediaRecorder_native_finalize(JNIEnv *env, jobject thiz)
481 android_media_MediaRecorder_release(env, thiz);
515 int register_android_media_MediaRecorder(JNIEnv *env)
517 return AndroidRuntime::registerNativeMethods(env,