Adding mime type checking to Transformer to identify images.

PiperOrigin-RevId: 530711523
This commit is contained in:
Googler 2023-05-09 21:18:20 +00:00 committed by Tofunmi Adigun-Hameed
parent 65d5132f76
commit ecaf219d74
3 changed files with 19 additions and 0 deletions

View File

@ -584,7 +584,11 @@ package androidx.media3.common {
field public static final String AUDIO_VORBIS = "audio/vorbis";
field public static final String AUDIO_WAV = "audio/wav";
field public static final String AUDIO_WEBM = "audio/webm";
field public static final String IMAGE_HEIC = "image/heic";
field public static final String IMAGE_HEIF = "image/heif";
field public static final String IMAGE_JPEG = "image/jpeg";
field public static final String IMAGE_PNG = "image/png";
field public static final String IMAGE_WEBP = "image/webp";
field public static final String TEXT_SSA = "text/x-ssa";
field public static final String TEXT_VTT = "text/vtt";
field public static final String VIDEO_AV1 = "video/av01";

View File

@ -153,7 +153,11 @@ public final class MimeTypes {
// image/ MIME types
public static final String IMAGE_PNG = BASE_TYPE_IMAGE + "/png";
public static final String IMAGE_WEBP = BASE_TYPE_IMAGE + "/webp";
public static final String IMAGE_JPEG = BASE_TYPE_IMAGE + "/jpeg";
public static final String IMAGE_HEIC = BASE_TYPE_IMAGE + "/heic";
public static final String IMAGE_HEIF = BASE_TYPE_IMAGE + "/heif";
/**
* A non-standard codec string for E-AC3-JOC. Use of this constant allows for disambiguation

View File

@ -22,6 +22,7 @@ import android.content.Context;
import android.os.Looper;
import androidx.annotation.Nullable;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MimeTypes;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.exoplayer.source.MediaSource;
@ -115,6 +116,16 @@ public final class DefaultAssetLoaderFactory implements AssetLoader.Factory {
if (localConfiguration == null) {
return false;
}
if (localConfiguration.mimeType != null) {
ImmutableList<String> supportedMimeTypes =
ImmutableList.of(
MimeTypes.IMAGE_PNG,
MimeTypes.IMAGE_WEBP,
MimeTypes.IMAGE_JPEG,
MimeTypes.IMAGE_HEIC,
MimeTypes.IMAGE_HEIF);
return supportedMimeTypes.contains(localConfiguration.mimeType);
}
ImmutableList<String> supportedImageTypes =
ImmutableList.of(".png", ".webp", ".jpg", ".jpeg", ".heic", ".heif");
String uriPath = checkNotNull(localConfiguration.uri.getPath());