Update supported image formats in line with platform standards
This treats heic as a separate mimetype to heif (even though heic files are a subset of heif files). This is in line with other platform classes like android.content.ContentResolver https://developer.android.com/media/platform/supported-formats#image-formats was updated to include avif support or API level 34, so added this MimeType as well and updated our associated util. solves Issue: androidx/media#1373 PiperOrigin-RevId: 633616214
This commit is contained in:
parent
84c0b6bcb1
commit
f7390faeb0
@ -38,6 +38,8 @@
|
||||
* Replace `androidx.media3.transformer.Muxer` interface with
|
||||
`androidx.media3.muxer.Muxer` and remove
|
||||
`androidx.media3.transformer.Muxer`.
|
||||
* Fix HEIC image loading from content URI schemes.
|
||||
([#1373](https://github.com/androidx/media/issues/1373)).
|
||||
* Track Selection:
|
||||
* Extractors:
|
||||
* MPEG-TS: Roll forward the change ensuring the last frame is rendered by
|
||||
@ -74,6 +76,7 @@
|
||||
* Image:
|
||||
* Add support for non-square DASH thumbnail grids
|
||||
([#1300](https://github.com/androidx/media/pull/1300)).
|
||||
* Add AVIF decoding support for API 34+.
|
||||
* DRM:
|
||||
* Allow setting a `LoadErrorHandlingPolicy` on
|
||||
`DefaultDrmSessionManagerProvider`
|
||||
|
@ -164,6 +164,8 @@ public final class MimeTypes {
|
||||
@UnstableApi public static final String IMAGE_JPEG_R = BASE_TYPE_IMAGE + "/jpeg_r";
|
||||
@UnstableApi public static final String IMAGE_PNG = BASE_TYPE_IMAGE + "/png";
|
||||
@UnstableApi public static final String IMAGE_HEIF = BASE_TYPE_IMAGE + "/heif";
|
||||
@UnstableApi public static final String IMAGE_HEIC = BASE_TYPE_IMAGE + "/heic";
|
||||
@UnstableApi public static final String IMAGE_AVIF = BASE_TYPE_IMAGE + "/avif";
|
||||
@UnstableApi public static final String IMAGE_BMP = BASE_TYPE_IMAGE + "/bmp";
|
||||
@UnstableApi public static final String IMAGE_WEBP = BASE_TYPE_IMAGE + "/webp";
|
||||
@UnstableApi public static final String IMAGE_RAW = BASE_TYPE_IMAGE + "/raw";
|
||||
|
@ -3230,7 +3230,10 @@ public final class Util {
|
||||
case MimeTypes.IMAGE_WEBP:
|
||||
return true;
|
||||
case MimeTypes.IMAGE_HEIF:
|
||||
case MimeTypes.IMAGE_HEIC:
|
||||
return Util.SDK_INT >= 26;
|
||||
case MimeTypes.IMAGE_AVIF:
|
||||
return Util.SDK_INT >= 34;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -120,6 +120,8 @@ public final class MimeTypesTest {
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_JPEG)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_PNG)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_HEIF)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_HEIC)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_AVIF)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_BMP)).isTrue();
|
||||
assertThat(MimeTypes.isImage(MimeTypes.IMAGE_WEBP)).isTrue();
|
||||
assertThat(MimeTypes.isImage("image/custom")).isTrue();
|
||||
|
@ -47,8 +47,9 @@ public final class ImageUtil {
|
||||
case "dib":
|
||||
return MimeTypes.IMAGE_BMP;
|
||||
case "heif":
|
||||
case "heic":
|
||||
return MimeTypes.IMAGE_HEIF;
|
||||
case "heic":
|
||||
return MimeTypes.IMAGE_HEIC;
|
||||
case "jpg":
|
||||
case "jpeg":
|
||||
case "jpe":
|
||||
@ -76,7 +77,7 @@ public final class ImageUtil {
|
||||
case "ico":
|
||||
return "image/x-icon";
|
||||
case "avif":
|
||||
return "image/avif";
|
||||
return MimeTypes.IMAGE_AVIF;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user