Giter VIP home page Giter VIP logo

player's People

Contributors

floens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

3c133ps3d

player's Issues

Can not be compiled under mac os

Hi Floens,Can not be compiled under mac os:
make: Nothing to be done for `all'.
gmkdir: cannot create directory ‘/lib’: Permission denied
gmkdir: cannot create directory ‘/lib’: Permission denied
gmkdir: cannot create directory ‘/include’: Permission denied
gmkdir: cannot create directory ‘/share’: Permission denied
gmkdir: cannot create directory ‘/share’: Permission denied

FFmpeg MediaCodec issues

MediaCodec is the API on Android that implements hardware accelerated video encoding and decoding. FFmpeg implements it as one of their hw backends. The FFmpeg implementation calls the Java MediaCodec methods with the JNI.

A few notes:
The jni is constantly attached and detached to the native thread, causing a new Thread object and related objects to be created multiple times per frame. This causes enormous spikes in memory that causes the GC to kick in every few seconds.
This issue is easy to resolve: don't detach the jni thread at all.
Fixed with FFmpeg/FFmpeg@376d8fb

On a Nexus 9 (or just Nougat?) the H264 profiles are not detected properly, resulting in slow playback / incorrect color profiles.

MediaCodec has a native api since Lollipop. Since this app is only supported on Lollipop or higher, we might change the FFmpeg implementation to use the native version. The author of the ffmpeg mediacodec wrapper has kept this in mind, see the note at the top of mediacodec_wrapper.h. The api is aligned with the one of Android.

Should be doable, but it isn't high priority because it isn't going to magically fix the issues above: the code uses buffers that aren't copied between the jni and native code so the jni performance impact is minimal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.