Coder Social home page Coder Social logo

whatthecodec's People

Contributors

dependabot[bot] avatar javernaut avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

whatthecodec's Issues

Don't limit file types by system

System usually can't detect some audio or video types, such as the .alac and .mpc files, and FFMpeg can play with alac encoded files.

Screenshot_20240407-020621

Can't build the project

Trying to run ./ffmpeg-android-maker.sh -dav1d and on step Building the component: libdav1d I'm getting the following error

rm: crossfile-x86.meson: No such file or directory
/Users/alex/proj/temp/WhatTheCodec/ffmpeg-android-maker/scripts/libdav1d/build.sh: line 33: build/x86: No such file or directory
/Users/alex/proj/temp/WhatTheCodec/ffmpeg-android-maker/scripts/libdav1d/build.sh: line 42: cd: build/x86: No such file or directory
/Users/alex/proj/temp/WhatTheCodec/ffmpeg-android-maker/scripts/libdav1d/build.sh: line 44: -j: command not found

This happens both on Windows and Mac.

Android API 29 uses msf: prefix for downloaded files uri id?

On an emulated Pixel2 API 29, WhatTheCodec fails to open mp4s in Downloads.
Seems like the uri looks like "content://com.android.providers.downloads.documents/document/msf:24"
and the "msf:" is not needed.
So PathUtil.java needs something like:

38                } else if (id.startsWith("msf:")) {
39                    final String[] split = id.split(":");
40                    uri = ContentUris.withAppendedId(
41                            Uri.parse("content://downloads/public_downloads"), Long.valueOf(split[1]));

The logcat follows:

com.javernaut.whatthecodec E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.javernaut.whatthecodec, PID: 13131
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=42, result=-1, data=Intent { dat=content://com.android.providers.downloads.documents/document/msf:24 flg=0x1 }} to activity {com.javernaut.whatthecodec/com.javernaut.whatthecodec.MainActivity}: java.lang.NumberFormatException: For input string: "msf:24"
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4845)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.NumberFormatException: For input string: "msf:24"
        at java.lang.Long.parseLong(Long.java:594)
        at java.lang.Long.valueOf(Long.java:808)
        at com.javernaut.whatthecodec.PathUtil.getPath(PathUtil.java:40)
        at com.javernaut.whatthecodec.MainActivity.tryGetVideoConfig(MainActivity.kt:108)
        at com.javernaut.whatthecodec.MainActivity.onActivityResult(MainActivity.kt:39)
        at android.app.Activity.dispatchActivityResult(Activity.java:8110)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4838)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4886) 
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

Unable to open from external storage (as file descriptor)?

On Pixel2, I have taken a few short videos. 5-10 seconds each.

Within PathUtil.getPath(), the URI is:
content://com.android.externalstorage.documents/document/primary%3ADCIM%2FCamera%2FVID_20200124_154910.mp4

the check for isExternalStorageDocument(uri) is True and the variable "String[] split" (line ~35) contains:

  • split[0]: primary
  • split[1]: DCIM/Camera/VID_20200124_154910.mp4

getPath() then returns: /storage/emulated/0/DCIM/Camera/VID_20200124_154910.mp4

Finally, the C++ code fails within media_file_build():
media_file_builder.cpp:149 invokes onError(jMediaFileBuilder).

So, effectively, every video file I attempt to open uses the pipe interface. I am missing something or is this an issue with the newer (well, new-ish) phones running Android 10?

Thank you for the otherwise awesome repo and the ffmpeg builder.

cannot get the library from Maven

Hi.
I get the following error x 7 times.
Do I have to put the user login and password for github.com? If so, how please?

K-MIn

Execution failed for task ':app:checkAmazonDebugAarMetadata'.

Could not resolve all files for configuration ':app:amazonDebugRuntimeClasspath'.
Could not resolve com.javernaut.mediafile:mediafile:1.0.0.
Required by:
project :app
> Could not resolve com.javernaut.mediafile:mediafile:1.0.0.
> Could not get resource 'https://maven.pkg.github.com/Javernaut/MediaFile/com/javernaut/mediafile/mediafile/1.0.0/mediafile-1.0.0.pom'.
> Could not GET 'https://maven.pkg.github.com/Javernaut/MediaFile/com/javernaut/mediafile/mediafile/1.0.0/mediafile-1.0.0.pom'. Received status code 400 from server: Bad Request

Play video with it

Can this be used to play video and decoding video like mkv which is not natively supported by android i mean ffmpeg android maker sorry?

Library not found

java.lang.UnsatisfiedLinkError: dlopen failed: library "libswresample.so" not found

Couldn't open video

patherror
if (avformat_open_input(&pFormatCtx, filePath, nullptr, 0,nullptr) != 0) {
__android_log_print(ANDROID_LOG_INFO, APPNAME, "%s", filePath);
return env->NewStringUTF("Couldn't Open file");
}

This condition is always true,why?

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.