|
MobileFFmpeg Android API
4.4
|
Go to the source code of this file.
Data Structures | |
| struct | CallbackData |
Functions | |
| int | ffmpeg_execute (int argc, char **argv) |
| static const char * | avutil_log_get_level_str (int level) |
| static void | avutil_log_format_line (void *avcl, int level, const char *fmt, va_list vl, AVBPrint part[4], int *print_prefix) |
| static void | avutil_log_sanitize (uint8_t *line) |
| void | mutexInit () |
| void | monitorInit () |
| void | logInit () |
| void | executionMapLockInit () |
| void | mutexUnInit () |
| void | monitorUnInit () |
| void | logUnInit () |
| void | executionMapLockUnInit () |
| void | mutexLock () |
| void | lastCommandOutputLock () |
| void | executionMapLock () |
| void | mutexUnlock () |
| void | lastCommandOutputUnlock () |
| void | executionMapUnlock () |
| void | clearLastCommandOutput () |
| void | appendLastCommandOutput (AVBPrint *logMessage) |
| void | monitorWait (int milliSeconds) |
| void | monitorNotify () |
| void | logCallbackDataAdd (int level, AVBPrint *data) |
| void | statisticsCallbackDataAdd (int frameNumber, float fps, float quality, int64_t size, int time, double bitrate, double speed) |
| void | addExecution (long id) |
| struct CallbackData * | callbackDataRemove () |
| void | removeExecution (long id) |
| int | cancelRequested (long id) |
| void | mobileffmpeg_log_callback_function (void *ptr, int level, const char *format, va_list vargs) |
| void | mobileffmpeg_statistics_callback_function (int frameNumber, float fps, float quality, int64_t size, int time, double bitrate, double speed) |
| void * | callbackThreadFunction () |
| jint | JNI_OnLoad (JavaVM *vm, void *reserved) |
| JNIEXPORT void JNICALL | Java_com_arthenica_mobileffmpeg_Config_setNativeLogLevel (JNIEnv *env, jclass object, jint level) |
| JNIEXPORT jint JNICALL | Java_com_arthenica_mobileffmpeg_Config_getNativeLogLevel (JNIEnv *env, jclass object) |
| JNIEXPORT void JNICALL | Java_com_arthenica_mobileffmpeg_Config_enableNativeRedirection (JNIEnv *env, jclass object) |
| JNIEXPORT void JNICALL | Java_com_arthenica_mobileffmpeg_Config_disableNativeRedirection (JNIEnv *env, jclass object) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_mobileffmpeg_Config_getNativeFFmpegVersion (JNIEnv *env, jclass object) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_mobileffmpeg_Config_getNativeVersion (JNIEnv *env, jclass object) |
| JNIEXPORT jint JNICALL | Java_com_arthenica_mobileffmpeg_Config_nativeFFmpegExecute (JNIEnv *env, jclass object, jlong id, jobjectArray stringArray) |
| JNIEXPORT void JNICALL | Java_com_arthenica_mobileffmpeg_Config_nativeFFmpegCancel (JNIEnv *env, jclass object, jlong id) |
| JNIEXPORT int JNICALL | Java_com_arthenica_mobileffmpeg_Config_registerNewNativeFFmpegPipe (JNIEnv *env, jclass object, jstring ffmpegPipePath) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_mobileffmpeg_Config_getNativeBuildDate (JNIEnv *env, jclass object) |
| JNIEXPORT int JNICALL | Java_com_arthenica_mobileffmpeg_Config_setNativeEnvironmentVariable (JNIEnv *env, jclass object, jstring variableName, jstring variableValue) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_mobileffmpeg_Config_getNativeLastCommandOutput (JNIEnv *env, jclass object) |
| JNIEXPORT void JNICALL | Java_com_arthenica_mobileffmpeg_Config_ignoreNativeSignal (JNIEnv *env, jclass object, jint signum) |
Variables | |
| const int | EXECUTION_MAP_SIZE = 1000 |
| static volatile int | executionMap [EXECUTION_MAP_SIZE] |
| static pthread_mutex_t | executionMapMutex |
| static pthread_mutex_t | lockMutex |
| static pthread_mutex_t | monitorMutex |
| static pthread_cond_t | monitorCondition |
| static pthread_mutex_t | logMutex |
| static AVBPrint | lastCommandOutput |
| pthread_t | callbackThread |
| int | redirectionEnabled |
| struct CallbackData * | callbackDataHead |
| struct CallbackData * | callbackDataTail |
| static JavaVM * | globalVm |
| static jclass | configClass |
| static jmethodID | logMethod |
| static jmethodID | statisticsMethod |
| static jclass | stringClass |
| static jmethodID | stringConstructor |
| const char * | configClassName = "com/arthenica/mobileffmpeg/Config" |
| const char * | stringClassName = "java/lang/String" |
| volatile int | handleSIGQUIT = 1 |
| volatile int | handleSIGINT = 1 |
| volatile int | handleSIGTERM = 1 |
| volatile int | handleSIGXCPU = 1 |
| volatile int | handleSIGPIPE = 1 |
| __thread volatile long | executionId = 0 |
| JNINativeMethod | configMethods [] |
| void addExecution | ( | long | id | ) |
Adds an execution id to the execution map.
| id | execution id |
Definition at line 405 of file mobileffmpeg.c.
| void appendLastCommandOutput | ( | AVBPrint * | logMessage | ) |
Definition at line 282 of file mobileffmpeg.c.
|
static |
Definition at line 150 of file mobileffmpeg.c.
|
static |
Definition at line 125 of file mobileffmpeg.c.
|
static |
Definition at line 182 of file mobileffmpeg.c.
| struct CallbackData* callbackDataRemove | ( | ) |
Removes head of callback data list.
Definition at line 417 of file mobileffmpeg.c.
| void* callbackThreadFunction | ( | ) |
Forwards callback messages to Java classes.
Definition at line 545 of file mobileffmpeg.c.
| int cancelRequested | ( | long | id | ) |
Checks whether a cancel request for the given execution id exists in the execution map.
| id | execution id |
Definition at line 466 of file mobileffmpeg.c.
| void clearLastCommandOutput | ( | ) |
Forward declaration for function defined in mobileffmpeg.c
Definition at line 276 of file mobileffmpeg.c.
| void executionMapLock | ( | ) |
Definition at line 260 of file mobileffmpeg.c.
| void executionMapLockInit | ( | ) |
Definition at line 226 of file mobileffmpeg.c.
| void executionMapLockUnInit | ( | ) |
Definition at line 248 of file mobileffmpeg.c.
| void executionMapUnlock | ( | ) |
Definition at line 272 of file mobileffmpeg.c.
Forward declaration for function defined in fftools_ffmpeg.c
Definition at line 5070 of file fftools_ffmpeg.c.
| JNIEXPORT void JNICALL Java_com_arthenica_mobileffmpeg_Config_disableNativeRedirection | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Disables log and statistics redirection.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 735 of file mobileffmpeg.c.
| JNIEXPORT void JNICALL Java_com_arthenica_mobileffmpeg_Config_enableNativeRedirection | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Enables log and statistics redirection.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 708 of file mobileffmpeg.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_mobileffmpeg_Config_getNativeBuildDate | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns MobileFFmpeg library build date natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 873 of file mobileffmpeg.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_mobileffmpeg_Config_getNativeFFmpegVersion | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns FFmpeg version bundled within the library natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 760 of file mobileffmpeg.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_mobileffmpeg_Config_getNativeLastCommandOutput | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns log output of the last executed command natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 906 of file mobileffmpeg.c.
| JNIEXPORT jint JNICALL Java_com_arthenica_mobileffmpeg_Config_getNativeLogLevel | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns current log level.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 698 of file mobileffmpeg.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_mobileffmpeg_Config_getNativeVersion | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns MobileFFmpeg library version natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 771 of file mobileffmpeg.c.
| JNIEXPORT void JNICALL Java_com_arthenica_mobileffmpeg_Config_ignoreNativeSignal | ( | JNIEnv * | env, |
| jclass | object, | ||
| jint | signum | ||
| ) |
Registers a new ignored signal. Ignored signals are not handled by the library.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| signum | signal number |
Definition at line 925 of file mobileffmpeg.c.
| JNIEXPORT void JNICALL Java_com_arthenica_mobileffmpeg_Config_nativeFFmpegCancel | ( | JNIEnv * | env, |
| jclass | object, | ||
| jlong | id | ||
| ) |
Cancels an ongoing FFmpeg operation natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| id | execution id |
Definition at line 848 of file mobileffmpeg.c.
| JNIEXPORT jint JNICALL Java_com_arthenica_mobileffmpeg_Config_nativeFFmpegExecute | ( | JNIEnv * | env, |
| jclass | object, | ||
| jlong | id, | ||
| jobjectArray | stringArray | ||
| ) |
Synchronously executes FFmpeg natively with arguments provided.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| id | execution id |
| stringArray | reference to the object holding FFmpeg command arguments |
Definition at line 784 of file mobileffmpeg.c.
| JNIEXPORT int JNICALL Java_com_arthenica_mobileffmpeg_Config_registerNewNativeFFmpegPipe | ( | JNIEnv * | env, |
| jclass | object, | ||
| jstring | ffmpegPipePath | ||
| ) |
Creates natively a new named pipe to use in FFmpeg operations.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| ffmpegPipePath | full path of ffmpeg pipe |
Definition at line 860 of file mobileffmpeg.c.
| JNIEXPORT int JNICALL Java_com_arthenica_mobileffmpeg_Config_setNativeEnvironmentVariable | ( | JNIEnv * | env, |
| jclass | object, | ||
| jstring | variableName, | ||
| jstring | variableValue | ||
| ) |
Sets an environment variable natively
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| variableName | environment variable name |
| variableValue | environment variable value |
Definition at line 888 of file mobileffmpeg.c.
| JNIEXPORT void JNICALL Java_com_arthenica_mobileffmpeg_Config_setNativeLogLevel | ( | JNIEnv * | env, |
| jclass | object, | ||
| jint | level | ||
| ) |
Sets log level.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| level | log level |
Definition at line 688 of file mobileffmpeg.c.
| jint JNI_OnLoad | ( | JavaVM * | vm, |
| void * | reserved | ||
| ) |
Called when 'mobileffmpeg' native library is loaded.
| vm | pointer to the running virtual machine |
| reserved | reserved |
Definition at line 615 of file mobileffmpeg.c.
| void lastCommandOutputLock | ( | ) |
Definition at line 256 of file mobileffmpeg.c.
| void lastCommandOutputUnlock | ( | ) |
Definition at line 268 of file mobileffmpeg.c.
| void logCallbackDataAdd | ( | int | level, |
| AVBPrint * | data | ||
| ) |
Adds log data to the end of callback data list.
| level | log level |
| data | log data |
Definition at line 324 of file mobileffmpeg.c.
| void logInit | ( | ) |
Definition at line 215 of file mobileffmpeg.c.
| void logUnInit | ( | ) |
Definition at line 244 of file mobileffmpeg.c.
| void mobileffmpeg_log_callback_function | ( | void * | ptr, |
| int | level, | ||
| const char * | format, | ||
| va_list | vargs | ||
| ) |
Callback function for FFmpeg logs.
| ptr | pointer to AVClass struct |
| level | log level |
| format | format string |
| vargs | arguments |
Definition at line 489 of file mobileffmpeg.c.
| void mobileffmpeg_statistics_callback_function | ( | int | frameNumber, |
| float | fps, | ||
| float | quality, | ||
| int64_t | size, | ||
| int | time, | ||
| double | bitrate, | ||
| double | speed | ||
| ) |
Callback function for FFmpeg statistics.
| frameNumber | last processed frame number |
| fps | frames processed per second |
| quality | quality of the output stream (video only) |
| size | size in bytes |
| time | processed output duration |
| bitrate | output bit rate in kbits/s |
| speed | processing speed = processed duration / operation duration |
Definition at line 538 of file mobileffmpeg.c.
| void monitorInit | ( | ) |
Definition at line 199 of file mobileffmpeg.c.
| void monitorNotify | ( | ) |
Definition at line 312 of file mobileffmpeg.c.
| void monitorUnInit | ( | ) |
Definition at line 239 of file mobileffmpeg.c.
| void monitorWait | ( | int | milliSeconds | ) |
Definition at line 292 of file mobileffmpeg.c.
| void mutexInit | ( | ) |
Definition at line 190 of file mobileffmpeg.c.
| void mutexLock | ( | ) |
Definition at line 252 of file mobileffmpeg.c.
| void mutexUnInit | ( | ) |
Definition at line 235 of file mobileffmpeg.c.
| void mutexUnlock | ( | ) |
Definition at line 264 of file mobileffmpeg.c.
| void removeExecution | ( | long | id | ) |
Removes an execution id from the execution map.
| id | execution id |
Definition at line 451 of file mobileffmpeg.c.
| void statisticsCallbackDataAdd | ( | int | frameNumber, |
| float | fps, | ||
| float | quality, | ||
| int64_t | size, | ||
| int | time, | ||
| double | bitrate, | ||
| double | speed | ||
| ) |
Adds statistics data to the end of callback data list.
Definition at line 361 of file mobileffmpeg.c.
| struct CallbackData* callbackDataHead |
Definition at line 67 of file mobileffmpeg.c.
| struct CallbackData* callbackDataTail |
Definition at line 68 of file mobileffmpeg.c.
| pthread_t callbackThread |
Definition at line 64 of file mobileffmpeg.c.
|
static |
Global reference of Config class in Java
Definition at line 74 of file mobileffmpeg.c.
| const char* configClassName = "com/arthenica/mobileffmpeg/Config" |
Full name of the Config class
Definition at line 89 of file mobileffmpeg.c.
| JNINativeMethod configMethods[] |
Prototypes of native functions defined by Config class.
Definition at line 105 of file mobileffmpeg.c.
| const int EXECUTION_MAP_SIZE = 1000 |
Execution map variables
Definition at line 51 of file mobileffmpeg.c.
| __thread volatile long executionId = 0 |
Holds the id of the current execution
Definition at line 102 of file mobileffmpeg.c.
|
static |
Definition at line 52 of file mobileffmpeg.c.
|
static |
Definition at line 53 of file mobileffmpeg.c.
|
static |
Global reference to the virtual machine running
Definition at line 71 of file mobileffmpeg.c.
| volatile int handleSIGINT = 1 |
Definition at line 96 of file mobileffmpeg.c.
| volatile int handleSIGPIPE = 1 |
Definition at line 99 of file mobileffmpeg.c.
| volatile int handleSIGQUIT = 1 |
Fields that control the handling of SIGNALs
Definition at line 95 of file mobileffmpeg.c.
| volatile int handleSIGTERM = 1 |
Definition at line 97 of file mobileffmpeg.c.
| volatile int handleSIGXCPU = 1 |
Definition at line 98 of file mobileffmpeg.c.
|
static |
Definition at line 62 of file mobileffmpeg.c.
|
static |
Redirection control variables
Definition at line 56 of file mobileffmpeg.c.
|
static |
Global reference of log redirection method in Java
Definition at line 77 of file mobileffmpeg.c.
|
static |
Last command output variables
Definition at line 61 of file mobileffmpeg.c.
|
static |
Definition at line 58 of file mobileffmpeg.c.
|
static |
Definition at line 57 of file mobileffmpeg.c.
| int redirectionEnabled |
Definition at line 65 of file mobileffmpeg.c.
|
static |
Global reference of statistics redirection method in Java
Definition at line 80 of file mobileffmpeg.c.
|
static |
Global reference of String class in Java
Definition at line 83 of file mobileffmpeg.c.
| const char* stringClassName = "java/lang/String" |
Full name of String class
Definition at line 92 of file mobileffmpeg.c.
|
static |
Global reference of String constructor in Java
Definition at line 86 of file mobileffmpeg.c.
1.8.18