|
FFmpegKit Android API 5.1
|
Go to the source code of this file.
Data Structures | |
| struct | CallbackData |
Macros | |
| #define | LogType 1 |
| #define | StatisticsType 2 |
| #define | SESSION_MAP_SIZE 1000 |
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 | mutexUnInit () |
| void | monitorUnInit () |
| void | mutexLock () |
| void | mutexUnlock () |
| 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 | addSession (long id) |
| struct CallbackData * | callbackDataRemove () |
| void | removeSession (long id) |
| void | cancelSession (long id) |
| int | cancelRequested (long id) |
| void | resetMessagesInTransmit (long id) |
| void | ffmpegkit_log_callback_function (void *ptr, int level, const char *format, va_list vargs) |
| void | ffmpegkit_statistics_callback_function (int frameNumber, float fps, float quality, int64_t size, int time, double bitrate, double speed) |
| void * | callbackThreadFunction () |
| int | saf_open (int safId) |
| int | saf_close (int fd) |
| jint | JNI_OnLoad (JavaVM *vm, void *reserved) |
| JNIEXPORT void JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_setNativeLogLevel (JNIEnv *env, jclass object, jint level) |
| JNIEXPORT jint JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeLogLevel (JNIEnv *env, jclass object) |
| JNIEXPORT void JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_enableNativeRedirection (JNIEnv *env, jclass object) |
| JNIEXPORT void JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_disableNativeRedirection (JNIEnv *env, jclass object) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeFFmpegVersion (JNIEnv *env, jclass object) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeVersion (JNIEnv *env, jclass object) |
| JNIEXPORT jint JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_nativeFFmpegExecute (JNIEnv *env, jclass object, jlong id, jobjectArray stringArray) |
| JNIEXPORT void JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_nativeFFmpegCancel (JNIEnv *env, jclass object, jlong id) |
| JNIEXPORT int JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_registerNewNativeFFmpegPipe (JNIEnv *env, jclass object, jstring ffmpegPipePath) |
| JNIEXPORT jstring JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeBuildDate (JNIEnv *env, jclass object) |
| JNIEXPORT int JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_setNativeEnvironmentVariable (JNIEnv *env, jclass object, jstring variableName, jstring variableValue) |
| JNIEXPORT void JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_ignoreNativeSignal (JNIEnv *env, jclass object, jint signum) |
| JNIEXPORT int JNICALL | Java_com_arthenica_ffmpegkit_FFmpegKitConfig_messagesInTransmit (JNIEnv *env, jclass object, jlong id) |
Variables | |
| static atomic_short | sessionMap [SESSION_MAP_SIZE] |
| static atomic_int | sessionInTransitMessageCountMap [SESSION_MAP_SIZE] |
| static pthread_mutex_t | lockMutex |
| static pthread_mutex_t | monitorMutex |
| static pthread_cond_t | monitorCondition |
| pthread_t | callbackThread |
| int | redirectionEnabled |
| struct CallbackData * | callbackDataHead |
| struct CallbackData * | callbackDataTail |
| static JavaVM * | globalVm |
| static jclass | configClass |
| static jmethodID | logMethod |
| static jmethodID | statisticsMethod |
| static jmethodID | safOpenMethod |
| static jmethodID | safCloseMethod |
| static jclass | stringClass |
| static jmethodID | stringConstructor |
| const char * | configClassName = "com/arthenica/ffmpegkit/FFmpegKitConfig" |
| 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 long | globalSessionId = 0 |
| int | configuredLogLevel = AV_LOG_INFO |
| JNINativeMethod | configMethods [] |
| #define LogType 1 |
Definition at line 33 of file ffmpegkit.c.
| #define SESSION_MAP_SIZE 1000 |
Session control variables
Definition at line 56 of file ffmpegkit.c.
| #define StatisticsType 2 |
Definition at line 34 of file ffmpegkit.c.
| void addSession | ( | long | id | ) |
Adds a session id to the session map.
| id | session id |
Definition at line 361 of file ffmpegkit.c.
|
static |
Definition at line 160 of file ffmpegkit.c.
|
static |
Definition at line 135 of file ffmpegkit.c.
|
static |
Definition at line 192 of file ffmpegkit.c.
| struct CallbackData * callbackDataRemove | ( | ) |
Removes head of callback data list.
Definition at line 368 of file ffmpegkit.c.
| void * callbackThreadFunction | ( | ) |
Forwards callback messages to Java classes.
Definition at line 501 of file ffmpegkit.c.
| int cancelRequested | ( | long | id | ) |
Checks whether a cancel request for the given session id exists in the session map.
| id | session id |
Definition at line 421 of file ffmpegkit.c.
| void cancelSession | ( | long | id | ) |
Adds a cancel session request to the session map.
| id | session id |
Definition at line 411 of file ffmpegkit.c.
Forward declaration for function defined in fftools_ffmpeg.c
Definition at line 4775 of file fftools_ffmpeg.c.
| void ffmpegkit_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 446 of file ffmpegkit.c.
| void ffmpegkit_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 494 of file ffmpegkit.c.
| JNIEXPORT void JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 725 of file ffmpegkit.c.
| JNIEXPORT void JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 698 of file ffmpegkit.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeBuildDate | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns FFmpegKit library build date natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 865 of file ffmpegkit.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 750 of file ffmpegkit.c.
| JNIEXPORT jint JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 688 of file ffmpegkit.c.
| JNIEXPORT jstring JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_getNativeVersion | ( | JNIEnv * | env, |
| jclass | object | ||
| ) |
Returns FFmpegKit library version natively.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
Definition at line 761 of file ffmpegkit.c.
| JNIEXPORT void JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 898 of file ffmpegkit.c.
| JNIEXPORT int JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_messagesInTransmit | ( | JNIEnv * | env, |
| jclass | object, | ||
| jlong | id | ||
| ) |
Returns the number of native messages which are not transmitted to the Java callbacks for the given session.
| env | pointer to native method interface |
| object | reference to the class on which this method is invoked |
| id | session id |
Definition at line 920 of file ffmpegkit.c.
| JNIEXPORT void JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 | session id |
Definition at line 840 of file ffmpegkit.c.
| JNIEXPORT jint JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 | session id |
| stringArray | reference to the object holding FFmpeg command arguments |
Definition at line 774 of file ffmpegkit.c.
| JNIEXPORT int JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 852 of file ffmpegkit.c.
| JNIEXPORT int JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 880 of file ffmpegkit.c.
| JNIEXPORT void JNICALL Java_com_arthenica_ffmpegkit_FFmpegKitConfig_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 678 of file ffmpegkit.c.
| jint JNI_OnLoad | ( | JavaVM * | vm, |
| void * | reserved | ||
| ) |
Called when 'ffmpegkit' native library is loaded.
| vm | pointer to the running virtual machine |
| reserved | reserved |
Definition at line 591 of file ffmpegkit.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 276 of file ffmpegkit.c.
| void monitorInit | ( | ) |
Definition at line 209 of file ffmpegkit.c.
| void monitorNotify | ( | ) |
Definition at line 264 of file ffmpegkit.c.
| void monitorUnInit | ( | ) |
Definition at line 229 of file ffmpegkit.c.
| void monitorWait | ( | int | milliSeconds | ) |
Definition at line 242 of file ffmpegkit.c.
| void mutexInit | ( | ) |
Definition at line 200 of file ffmpegkit.c.
| void mutexLock | ( | ) |
Definition at line 234 of file ffmpegkit.c.
| void mutexUnInit | ( | ) |
Definition at line 225 of file ffmpegkit.c.
| void mutexUnlock | ( | ) |
Definition at line 238 of file ffmpegkit.c.
| void removeSession | ( | long | id | ) |
Removes a session id from the session map.
| id | session id |
Definition at line 402 of file ffmpegkit.c.
| void resetMessagesInTransmit | ( | long | id | ) |
Resets the number of messages in transmit for this session.
| id | session id |
Definition at line 434 of file ffmpegkit.c.
Used by saf protocol; is expected to be called from a Java thread, therefore we don't need attach/detach
Definition at line 578 of file ffmpegkit.c.
Used by saf protocol; is expected to be called from a Java thread, therefore we don't need attach/detach
Definition at line 569 of file ffmpegkit.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 315 of file ffmpegkit.c.
| struct CallbackData* callbackDataHead |
Definition at line 68 of file ffmpegkit.c.
| struct CallbackData* callbackDataTail |
Definition at line 69 of file ffmpegkit.c.
| pthread_t callbackThread |
Definition at line 65 of file ffmpegkit.c.
|
static |
Global reference of Config class in Java
Definition at line 75 of file ffmpegkit.c.
| const char* configClassName = "com/arthenica/ffmpegkit/FFmpegKitConfig" |
Full name of the Config class
Definition at line 96 of file ffmpegkit.c.
| JNINativeMethod configMethods[] |
Prototypes of native functions defined by Config class.
Definition at line 115 of file ffmpegkit.c.
| int configuredLogLevel = AV_LOG_INFO |
Holds the default log level
Definition at line 112 of file ffmpegkit.c.
| __thread long globalSessionId = 0 |
Holds the id of the current session
Definition at line 109 of file ffmpegkit.c.
|
static |
Global reference to the virtual machine running
Definition at line 72 of file ffmpegkit.c.
| volatile int handleSIGINT = 1 |
Definition at line 103 of file ffmpegkit.c.
| volatile int handleSIGPIPE = 1 |
Definition at line 106 of file ffmpegkit.c.
| volatile int handleSIGQUIT = 1 |
Fields that control the handling of SIGNALs
Definition at line 102 of file ffmpegkit.c.
| volatile int handleSIGTERM = 1 |
Definition at line 104 of file ffmpegkit.c.
| volatile int handleSIGXCPU = 1 |
Definition at line 105 of file ffmpegkit.c.
|
static |
Redirection control variables
Definition at line 61 of file ffmpegkit.c.
|
static |
Global reference of log redirection method in Java
Definition at line 78 of file ffmpegkit.c.
|
static |
Definition at line 63 of file ffmpegkit.c.
|
static |
Definition at line 62 of file ffmpegkit.c.
| int redirectionEnabled |
Definition at line 66 of file ffmpegkit.c.
|
static |
Global reference of safClose method in Java
Definition at line 87 of file ffmpegkit.c.
|
static |
Global reference of safOpen method in Java
Definition at line 84 of file ffmpegkit.c.
|
static |
Definition at line 58 of file ffmpegkit.c.
|
static |
Definition at line 57 of file ffmpegkit.c.
|
static |
Global reference of statistics redirection method in Java
Definition at line 81 of file ffmpegkit.c.
|
static |
Global reference of String class in Java
Definition at line 90 of file ffmpegkit.c.
| const char* stringClassName = "java/lang/String" |
Full name of String class
Definition at line 99 of file ffmpegkit.c.
|
static |
Global reference of String constructor in Java
Definition at line 93 of file ffmpegkit.c.