Lines Matching refs:env

52 extern sp<Camera> get_native_camera(JNIEnv *env, jobject thiz, struct JNICameraContext** context);
54 android_media_MediaCodec_getPersistentInputSurface(JNIEnv* env, jobject object);
71 JNIMediaRecorderListener(JNIEnv* env, jobject thiz, jobject weak_thiz);
80 JNIMediaRecorderListener::JNIMediaRecorderListener(JNIEnv* env, jobject thiz, jobject weak_thiz)
85 jclass clazz = env->GetObjectClass(thiz);
88 jniThrowException(env, "java/lang/Exception", NULL);
91 mClass = (jclass)env->NewGlobalRef(clazz);
95 mObject = env->NewGlobalRef(weak_thiz);
101 JNIEnv *env = AndroidRuntime::getJNIEnv();
102 env->DeleteGlobalRef(mObject);
103 env->DeleteGlobalRef(mClass);
110 JNIEnv *env = AndroidRuntime::getJNIEnv();
111 env->CallStaticVoidMethod(mClass, fields.post_event, mObject, msg, ext1, ext2, NULL);
116 static sp<Surface> get_surface(JNIEnv* env, jobject clazz)
119 return android_view_Surface_getSurface(env, clazz);
122 static sp<PersistentSurface> get_persistentSurface(JNIEnv* env, jobject object)
125 return android_media_MediaCodec_getPersistentInputSurface(env, object);
129 static bool process_media_recorder_call(JNIEnv *env, status_t opStatus, const char* exception, const char* message)
133 jniThrowException(env, "java/lang/IllegalStateException", NULL);
136 jniThrowException(env, exception, message);
142 static sp<MediaRecorder> getMediaRecorder(JNIEnv* env, jobject thiz)
145 MediaRecorder* const p = (MediaRecorder*)env->GetLongField(thiz, fields.context);
149 static sp<MediaRecorder> setMediaRecorder(JNIEnv* env, jobject thiz, const sp<MediaRecorder>& recorder)
152 sp<MediaRecorder> old = (MediaRecorder*)env->GetLongField(thiz, fields.context);
159 env->SetLongField(thiz, fields.context, (jlong)recorder.get());
164 static void android_media_MediaRecorder_setCamera(JNIEnv* env, jobject thiz, jobject camera)
168 jniThrowNullPointerException(env, "camera object is a NULL pointer");
171 sp<Camera> c = get_native_camera(env, camera, NULL);
176 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
178 jniThrowException(env, "java/lang/IllegalStateException", NULL);
181 process_media_recorder_call(env, mr->setCamera(c->remote(), c->getRecordingProxy()),
186 android_media_MediaRecorder_setVideoSource(JNIEnv *env, jobject thiz, jint vs)
190 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid video source");
193 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
195 jniThrowException(env, "java/lang/IllegalStateException", NULL);
198 process_media_recorder_call(env, mr->setVideoSource(vs), "java/lang/RuntimeException", "setVideoSource failed.");
202 android_media_MediaRecorder_setAudioSource(JNIEnv *env, jobject thiz, jint as)
207 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid audio source");
211 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
213 jniThrowException(env, "java/lang/IllegalStateException", NULL);
216 process_media_recorder_call(env, mr->setAudioSource(as), "java/lang/RuntimeException", "setAudioSource failed.");
220 android_media_MediaRecorder_setOutputFormat(JNIEnv *env, jobject thiz, jint of)
224 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid output format");
227 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
229 jniThrowException(env, "java/lang/IllegalStateException", NULL);
232 process_media_recorder_call(env, mr->setOutputFormat(of), "java/lang/RuntimeException", "setOutputFormat failed.");
236 android_media_MediaRecorder_setVideoEncoder(JNIEnv *env, jobject thiz, jint ve)
240 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid video encoder");
243 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
245 jniThrowException(env, "java/lang/IllegalStateException", NULL);
248 process_media_recorder_call(env, mr->setVideoEncoder(ve), "java/lang/RuntimeException", "setVideoEncoder failed.");
252 android_media_MediaRecorder_setAudioEncoder(JNIEnv *env, jobject thiz, jint ae)
256 jniThrowException(env, "java/lang/IllegalArgumentException", "Invalid audio encoder");
259 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
261 jniThrowException(env, "java/lang/IllegalStateException", NULL);
264 process_media_recorder_call(env, mr->setAudioEncoder(ae), "java/lang/RuntimeException", "setAudioEncoder failed.");
268 android_media_MediaRecorder_setParameter(JNIEnv *env, jobject thiz, jstring params)
277 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
279 jniThrowException(env, "java/lang/IllegalStateException", NULL);
283 const char* params8 = env->GetStringUTFChars(params, NULL);
290 process_media_recorder_call(env, mr->setParameters(String8(params8)), "java/lang/RuntimeException", "setParameter failed.");
291 env->ReleaseStringUTFChars(params,params8);
295 android_media_MediaRecorder_setOutputFileFD(JNIEnv *env, jobject thiz, jobject fileDescriptor)
299 jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
302 int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
303 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
305 jniThrowException(env, "java/lang/IllegalStateException", NULL);
309 process_media_recorder_call(env, opStatus, "java/io/IOException", "setOutputFile failed.");
313 android_media_MediaRecorder_setNextOutputFileFD(JNIEnv *env, jobject thiz, jobject fileDescriptor)
317 jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
320 int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
321 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
323 jniThrowException(env, "java/lang/IllegalStateException", NULL);
327 process_media_recorder_call(env, opStatus, "java/io/IOException", "setOutputFile failed.");
331 android_media_MediaRecorder_setVideoSize(JNIEnv *env, jobject thiz, jint width, jint height)
334 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
336 jniThrowException(env, "java/lang/IllegalStateException", NULL);
341 jniThrowException(env, "java/lang/IllegalArgumentException", "invalid video size");
344 process_media_recorder_call(env, mr->setVideoSize(width, height), "java/lang/RuntimeException", "setVideoSize failed.");
348 android_media_MediaRecorder_setVideoFrameRate(JNIEnv *env, jobject thiz, jint rate)
352 jniThrowException(env, "java/lang/IllegalArgumentException", "invalid frame rate");
355 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
357 jniThrowException(env, "java/lang/IllegalStateException", NULL);
360 process_media_recorder_call(env, mr->setVideoFrameRate(rate), "java/lang/RuntimeException", "setVideoFrameRate failed.");
364 android_media_MediaRecorder_setMaxDuration(JNIEnv *env, jobject thiz, jint max_duration_ms)
367 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
369 jniThrowException(env, "java/lang/IllegalStateException", NULL);
376 process_media_recorder_call(env, mr->setParameters(String8(params)), "java/lang/RuntimeException", "setMaxDuration failed.");
381 JNIEnv *env, jobject thiz, jlong max_filesize_bytes)
384 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
386 jniThrowException(env, "java/lang/IllegalStateException", NULL);
393 process_media_recorder_call(env, mr->setParameters(String8(params)), "java/lang/RuntimeException", "setMaxFileSize failed.");
397 android_media_MediaRecorder_prepare(JNIEnv *env, jobject thiz)
400 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
402 jniThrowException(env, "java/lang/IllegalStateException", NULL);
406 jobject surface = env->GetObjectField(thiz, fields.surface);
408 const sp<Surface> native_surface = get_surface(env, surface);
414 jniThrowException(env, "java/io/IOException", "invalid preview surface");
419 if (process_media_recorder_call(env, mr->setPreviewSurface(native_surface->getIGraphicBufferProducer()), "java/lang/RuntimeException", "setPreviewSurface failed.")) {
423 process_media_recorder_call(env, mr->prepare(), "java/io/IOException", "prepare failed.");
427 android_media_MediaRecorder_native_getMaxAmplitude(JNIEnv *env, jobject thiz)
430 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
432 jniThrowException(env, "java/lang/IllegalStateException", NULL);
436 process_media_recorder_call(env, mr->getMaxAmplitude(&result), "java/lang/RuntimeException", "getMaxAmplitude failed.");
441 android_media_MediaRecorder_getSurface(JNIEnv *env, jobject thiz)
444 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
446 jniThrowException(env, "java/lang/IllegalStateException", NULL);
453 env,
460 return android_view_Surface_createFromIGraphicBufferProducer(env,
465 android_media_MediaRecorder_start(JNIEnv *env, jobject thiz)
468 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
470 jniThrowException(env, "java/lang/IllegalStateException", NULL);
473 process_media_recorder_call(env, mr->start(), "java/lang/RuntimeException", "start failed.");
477 android_media_MediaRecorder_stop(JNIEnv *env, jobject thiz)
480 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
482 jniThrowException(env, "java/lang/IllegalStateException", NULL);
485 process_media_recorder_call(env, mr->stop(), "java/lang/RuntimeException", "stop failed.");
489 android_media_MediaRecorder_pause(JNIEnv *env, jobject thiz)
492 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
494 jniThrowException(env, "java/lang/IllegalStateException", NULL);
497 process_media_recorder_call(env, mr->pause(), "java/lang/RuntimeException", "pause failed.");
501 android_media_MediaRecorder_resume(JNIEnv *env, jobject thiz)
504 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
506 jniThrowException(env, "java/lang/IllegalStateException", NULL);
509 process_media_recorder_call(env, mr->resume(), "java/lang/RuntimeException", "resume failed.");
513 android_media_MediaRecorder_native_reset(JNIEnv *env, jobject thiz)
516 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
518 jniThrowException(env, "java/lang/IllegalStateException", NULL);
521 process_media_recorder_call(env, mr->reset(), "java/lang/RuntimeException", "native_reset failed.");
525 android_media_MediaRecorder_release(JNIEnv *env, jobject thiz)
528 sp<MediaRecorder> mr = setMediaRecorder(env, thiz, 0);
539 android_media_MediaRecorder_native_init(JNIEnv *env)
543 clazz = env->FindClass("android/media/MediaRecorder");
548 fields.context = env->GetFieldID(clazz, "mNativeContext", "J");
553 fields.surface = env->GetFieldID(clazz, "mSurface", "Landroid/view/Surface;");
558 jclass surface = env->FindClass("android/view/Surface");
563 fields.post_event = env->GetStaticMethodID(clazz, "postEventFromNative",
572 android_media_MediaRecorder_native_setup(JNIEnv *env, jobject thiz, jobject weak_this,
577 ScopedUtfChars opPackageNameStr(env, opPackageName);
581 jniThrowException(env, "java/lang/RuntimeException", "Out of memory");
585 jniThrowException(env, "java/lang/RuntimeException", "Unable to initialize media recorder");
590 sp<JNIMediaRecorderListener> listener = new JNIMediaRecorderListener(env, thiz, weak_this);
595 env->GetStringChars(packageName, NULL));
596 jsize rawClientNameLen = env->GetStringLength(packageName);
598 env->ReleaseStringChars(packageName,
604 setMediaRecorder(env, thiz, mr);
608 android_media_MediaRecorder_native_finalize(JNIEnv *env, jobject thiz)
611 android_media_MediaRecorder_release(env, thiz);
615 JNIEnv* env, jobject thiz, jobject object) {
618 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
620 jniThrowException(env, "java/lang/IllegalStateException", NULL);
624 sp<PersistentSurface> persistentSurface = get_persistentSurface(env, object);
626 process_media_recorder_call(env, mr->setInputSurface(persistentSurface),
631 android_media_MediaRecorder_native_getMetrics(JNIEnv *env, jobject thiz)
635 sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
637 jniThrowException(env, "java/lang/IllegalStateException", NULL);
652 jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL);
696 int register_android_media_MediaRecorder(JNIEnv *env)
698 return AndroidRuntime::registerNativeMethods(env,