The apk in FDroid is 24MB which seems overly large to me.
I am short on time right now, but would like to investigate this later.
Thank you for sharing this app. Love it!
The apk in FDroid is 24MB which seems overly large to me.
I am short on time right now, but would like to investigate this later.
Hey, I'm glad that the app is useful to somebody else :)
Yes I've also noticed that the final apk is rather large. The app in src/ is actually pretty small, ~300KB. I think the problem is with some dependency that I'm pulling in.
Hey, I'm glad that the app is useful to somebody else :)
Yes I've also noticed that the final apk is rather large. The app in `src/` is actually pretty small, ~300KB. I think the problem is with some dependency that I'm pulling in.
It supports ARM, ARMv7, x86, x86_64, MIPS and ARM_64 and for each platform has copies of the shared libraries (basically a copy of ffmpeg) in the apk.
I am not sure what it does exactly, but it seems to replace a standard Android API. Can the standard API be used instead?
@zPlus You are right. The reason is certainly this dep:
https://github.com/wseemann/FFmpegMediaMetadataRetriever
It supports ARM, ARMv7, x86, x86_64, MIPS and ARM_64 and for each platform has copies of the shared libraries (basically a copy of ffmpeg) in the apk.
I am not sure what it does exactly, but it seems to replace a standard Android API. Can the standard API be used instead?
That dependency is used only to retrieve Icecast data, see here. As it's described in the FFmpegMediaMetadataRetriever's README, "URL support (Unlike MediaMetadataRetriever)". Android's MediaMetadataRetriever seems to be able to fetch metadata only for local files, not remote files or streams.
I don't know if this library can be stripped down to something smaller, or if there is any alternative library to retrieve metadata from Internet audio streams.
That dependency is used only to retrieve Icecast data, [see here](https://notabug.org/metadb-apps/InternetRadio/src/master/app/src/main/java/community/peers/internetradio/network/Player.java#L139). As it's described in the FFmpegMediaMetadataRetriever's [README](https://github.com/wseemann/FFmpegMediaMetadataRetriever/blob/master/README.md), "URL support (Unlike MediaMetadataRetriever)". Android's MediaMetadataRetriever seems to be able to fetch metadata only for local files, not remote files or streams.
I don't know if this library can be stripped down to something smaller, or if there is any alternative library to retrieve metadata from Internet audio streams.
But I am struggling with the Volley API which makes it hard to deal with headers (response and request), which the IceCast metadata api seems to rely on.
Anyway, this should be simple but will take me a while, because I need to learn some more about Android.
I have found a smaller library which does only what is needed here.
https://github.com/vsmaks/audiostream-metadata-retriever
Unfortunately, it does not seem maintained any more so I tried to recreate the relevant functionality:
https://github.com/vsmaks/audiostream-metadata-retriever/blob/master/library/src/main/java/com/vodyasov/amr/AudiostreamMetadataRetriever.java
But I am struggling with the Volley API which makes it hard to deal with headers (response and request), which the IceCast metadata api seems to rely on.
Anyway, this should be simple but will take me a while, because I need to learn some more about Android.
Thank you @bugabinga
Making a new (async) request with Volley should be as easy as [this](https://developer.android.com/training/volley/simple.html#simple). I'll also try a few options as soon as possible.
Note to self: [relevant](http://uniqueculture.net/2010/11/stream-metadata-plain-java/).
zPlus hivatkozott erre a hibajegyre egy commit-ban ekkor: 8 éve
Thank you for sharing this app. Love it!
The apk in FDroid is 24MB which seems overly large to me.
I am short on time right now, but would like to investigate this later.
Hey, I'm glad that the app is useful to somebody else :)
Yes I've also noticed that the final apk is rather large. The app in
src/
is actually pretty small, ~300KB. I think the problem is with some dependency that I'm pulling in.@zPlus You are right. The reason is certainly this dep: https://github.com/wseemann/FFmpegMediaMetadataRetriever
It supports ARM, ARMv7, x86, x86_64, MIPS and ARM_64 and for each platform has copies of the shared libraries (basically a copy of ffmpeg) in the apk.
I am not sure what it does exactly, but it seems to replace a standard Android API. Can the standard API be used instead?
That dependency is used only to retrieve Icecast data, see here. As it's described in the FFmpegMediaMetadataRetriever's README, "URL support (Unlike MediaMetadataRetriever)". Android's MediaMetadataRetriever seems to be able to fetch metadata only for local files, not remote files or streams.
I don't know if this library can be stripped down to something smaller, or if there is any alternative library to retrieve metadata from Internet audio streams.
I have found a smaller library which does only what is needed here.
https://github.com/vsmaks/audiostream-metadata-retriever
Unfortunately, it does not seem maintained any more so I tried to recreate the relevant functionality:
https://github.com/vsmaks/audiostream-metadata-retriever/blob/master/library/src/main/java/com/vodyasov/amr/AudiostreamMetadataRetriever.java
But I am struggling with the Volley API which makes it hard to deal with headers (response and request), which the IceCast metadata api seems to rely on.
Anyway, this should be simple but will take me a while, because I need to learn some more about Android.
Thank you @bugabinga
Making a new (async) request with Volley should be as easy as this. I'll also try a few options as soon as possible.
Note to self: relevant.