[Android] [PATCH] Get cover art also for upnp network media

Geoffrey Métais geoffrey.metais at gmail.com
Mon Nov 7 11:05:43 CET 2016


Actually you're pointing at a potential bug.

As list has been persed, images are in cache, except fot http icon.*This
patch would cause network download and filesystem I/O within MainThread.

We shouldn't use AudioUtil.getCover(), but AudioUtil.getCoverFromMemCache()
for this.

On Mon, Nov 7, 2016 at 12:47 AM Marc K <morckx at gmail.com> wrote:

> Previously, cover art of upnp media was only shown in the browser, but
> not in the player.
>
> Signed-off-by: Marc K <morckx at gmail.com>
> ---
>  .../src/org/videolan/vlc/gui/helpers/AudioUtil.java   | 19
> +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/vlc-android/src/org/videolan/vlc/gui/helpers/AudioUtil.java
> b/vlc-android/src/org/videolan/vlc/gui/helpers/AudioUtil.java
> index 846f996..efdd684 100644
> --- a/vlc-android/src/org/videolan/vlc/gui/helpers/AudioUtil.java
> +++ b/vlc-android/src/org/videolan/vlc/gui/helpers/AudioUtil.java
> @@ -42,6 +42,7 @@ import org.videolan.vlc.R;
>  import org.videolan.vlc.VLCApplication;
>  import org.videolan.vlc.media.MediaUtils;
>  import org.videolan.vlc.util.AndroidDevices;
> +import org.videolan.vlc.util.HttpImageLoader;
>  import org.videolan.vlc.util.MurmurHash;
>  import org.videolan.vlc.util.Permissions;
>  import org.videolan.vlc.util.Util;
> @@ -227,6 +228,22 @@ public class AudioUtil {
>              }
>
>              return artworkURL;
> +        } else if (artworkURL != null && artworkURL.startsWith("http://"))
> {
> +            try {
> +                /* Hack: The album art cannot actually be loaded
> synchronously via http.
> +                 * HttpImageLoader.downloadBitmap, however, will load it
> from the icons map
> +                 * if it was previously shown as thumbnail.
> +                 */
> +                Bitmap albumArt =
> HttpImageLoader.downloadBitmap(artworkURL);
> +                if (albumArt != null) {
> +                    File outputFile = File.createTempFile("cover-",
> ".jpg", context.getCacheDir());
> +                    FileOutputStream fos = new
> FileOutputStream(outputFile);
> +                    if (albumArt.compress(CompressFormat.JPEG, 90, fos))
> +                        return(outputFile.getPath());
> +                }
> +            } catch (IOException e) {
> +                e.printStackTrace();
> +            }
>          }
>          return null;
>      }
> @@ -322,8 +339,6 @@ public class AudioUtil {
>                  if (cacheFile.exists()) {
>                      if (cacheFile.length() > 0)
>                          coverPath = cachePath;
> -                    else
> -                        return null;
>                  }
>              }
>
> --
> 2.9.3
>
> _______________________________________________
> Android mailing list
> Android at videolan.org
> https://mailman.videolan.org/listinfo/android
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/android/attachments/20161107/79bb79a4/attachment.html>


More information about the Android mailing list