FFmpeg
Functions | Variables
ffjni.c File Reference
#include <jni.h>
#include <pthread.h>
#include <stdlib.h>
#include "libavutil/bprint.h"
#include "libavutil/error.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "config.h"
#include "ffjni.h"

Go to the source code of this file.

Functions

static void jni_detach_env (void *data)
 
static void jni_create_pthread_key (void)
 
JNIEnv * ff_jni_get_env (void *log_ctx)
 
char * ff_jni_jstring_to_utf_chars (JNIEnv *env, jstring string, void *log_ctx)
 
jstring ff_jni_utf_chars_to_jstring (JNIEnv *env, const char *utf_chars, void *log_ctx)
 
int ff_jni_exception_get_summary (JNIEnv *env, jthrowable exception, char **error, void *log_ctx)
 
int ff_jni_exception_check (JNIEnv *env, int log, void *log_ctx)
 
int ff_jni_init_jfields (JNIEnv *env, void *jfields, const struct FFJniField *jfields_mapping, int global, void *log_ctx)
 
int ff_jni_reset_jfields (JNIEnv *env, void *jfields, const struct FFJniField *jfields_mapping, int global, void *log_ctx)
 

Variables

static JavaVM * java_vm
 
static pthread_key_t current_env
 
static pthread_once_t once = PTHREAD_ONCE_INIT
 
static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER
 

Function Documentation

◆ jni_detach_env()

static void jni_detach_env ( void *  data)
static

Definition at line 41 of file ffjni.c.

Referenced by jni_create_pthread_key().

◆ jni_create_pthread_key()

static void jni_create_pthread_key ( void  )
static

Definition at line 48 of file ffjni.c.

Referenced by ff_jni_get_env().

◆ ff_jni_get_env()

JNIEnv* ff_jni_get_env ( void *  log_ctx)

◆ ff_jni_jstring_to_utf_chars()

char* ff_jni_jstring_to_utf_chars ( JNIEnv *  env,
jstring  string,
void *  log_ctx 
)

◆ ff_jni_utf_chars_to_jstring()

jstring ff_jni_utf_chars_to_jstring ( JNIEnv *  env,
const char *  utf_chars,
void *  log_ctx 
)

◆ ff_jni_exception_get_summary()

int ff_jni_exception_get_summary ( JNIEnv *  env,
jthrowable  exception,
char **  error,
void *  log_ctx 
)

Definition at line 143 of file ffjni.c.

Referenced by ff_jni_exception_check().

◆ ff_jni_exception_check()

int ff_jni_exception_check ( JNIEnv *  env,
int  log,
void *  log_ctx 
)

◆ ff_jni_init_jfields()

int ff_jni_init_jfields ( JNIEnv *  env,
void *  jfields,
const struct FFJniField jfields_mapping,
int  global,
void *  log_ctx 
)

◆ ff_jni_reset_jfields()

int ff_jni_reset_jfields ( JNIEnv *  env,
void *  jfields,
const struct FFJniField jfields_mapping,
int  global,
void *  log_ctx 
)

Variable Documentation

◆ java_vm

JavaVM* java_vm
static

Definition at line 36 of file ffjni.c.

Referenced by ff_jni_get_env(), and jni_detach_env().

◆ current_env

pthread_key_t current_env
static

Definition at line 37 of file ffjni.c.

Referenced by ff_jni_get_env(), and jni_create_pthread_key().

◆ once

Definition at line 38 of file ffjni.c.

Referenced by ff_jni_get_env().

◆ lock

Definition at line 39 of file ffjni.c.

Referenced by ff_jni_get_env().