• Matthieu Bouron's avatar
    lavc/ffjni: replace ff_jni_{attach,detach} with ff_jni_get_env · 376d8fb2
    Matthieu Bouron authored
    If a JNI environment is not already attached to the thread where the
    MediaCodec calls are made the current implementation will attach /
    detach an environment for each MediaCodec call wasting some CPU time.
    
    ff_jni_get_env replaces ff_jni_{attach,detach} by permanently attaching
    an environment (if it is not already the case) to the current thread.
    The environment will be automatically detached at the thread destruction
    using a pthread_key callback.
    
    Saves around 5% of CPU time (out of 20%) while decoding a stream with
    MediaCodec.
    376d8fb2
mediacodec.c 2.8 KB