diff options
| author | 2018-10-05 15:18:56 +0000 | |
|---|---|---|
| committer | 2018-10-05 15:18:56 +0000 | |
| commit | 9f9c47db93aff24808693ec09a606f7bf840f6dd (patch) | |
| tree | 32d72b38c6ca77cbbf80f44c410197e8efd26e5a | |
| parent | 348a46003893b2578a4337a84da9fe029d1b24fb (diff) | |
| parent | 105d2a35ee9d83d9144b0623b7c9aa64a1ed01fe (diff) | |
Merge "Check album art for video thumbnails."
| -rw-r--r-- | media/java/android/media/ThumbnailUtils.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/media/java/android/media/ThumbnailUtils.java b/media/java/android/media/ThumbnailUtils.java index 4cc86fdce2f2..fd1406078e7a 100644 --- a/media/java/android/media/ThumbnailUtils.java +++ b/media/java/android/media/ThumbnailUtils.java @@ -160,7 +160,15 @@ public class ThumbnailUtils { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDataSource(filePath); - bitmap = retriever.getFrameAtTime(-1); + // First retrieve album art in metadata if set. + byte[] embeddedPicture = retriever.getEmbeddedPicture(); + if (embeddedPicture != null && embeddedPicture.length > 0) { + bitmap = BitmapFactory.decodeByteArray(embeddedPicture, 0, embeddedPicture.length); + } + // Fall back to first frame of the video. + if (bitmap == null) { + bitmap = retriever.getFrameAtTime(-1); + } } catch (IllegalArgumentException ex) { // Assume this is a corrupt video file } catch (RuntimeException ex) { |