summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amin Shaikh <ashaikh@google.com> 2018-10-04 15:23:52 -0400
committer Amin Shaikh <ashaikh@google.com> 2018-10-04 15:23:52 -0400
commit105d2a35ee9d83d9144b0623b7c9aa64a1ed01fe (patch)
tree068e855109487689c6a381f4fce8a33fd517c583
parentd4e48c593e1d9447134005d170b5bd00178963a0 (diff)
Check album art for video thumbnails.
If there is no album art set, fall back to the first frame in the video, as was previously done. Test: manual Change-Id: Id091c3c8a8054a87124759eb9be3ba759a115ad4 Fixes: 117161952
-rw-r--r--media/java/android/media/ThumbnailUtils.java10
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) {