package io.flutter.embedding.engine.image;

import android.media.MediaDataSource;
import android.media.MediaExtractor;
import android.media.MediaFormat;
import io.flutter.Log;
import java.io.IOException;

/* JADX INFO: loaded from: classes.dex */
class MediaMetadataReader {
    private static final String TAG = "MediaMetadataReader";

    private static MediaExtractor getMediaExtractor(final byte[] bArr) throws IOException {
        MediaDataSource mediaDataSource = new MediaDataSource() { // from class: io.flutter.embedding.engine.image.MediaMetadataReader.1
            @Override // java.io.Closeable, java.lang.AutoCloseable
            public void close() {
            }

            @Override // android.media.MediaDataSource
            public long getSize() {
                return bArr.length;
            }

            @Override // android.media.MediaDataSource
            public int readAt(long j5, byte[] bArr2, int i, int i5) {
                byte[] bArr3 = bArr;
                if (j5 >= bArr3.length) {
                    return -1;
                }
                if (((long) i5) + j5 > bArr3.length) {
                    i5 = (int) (((long) bArr3.length) - j5);
                }
                System.arraycopy(bArr3, (int) j5, bArr2, i, i5);
                return i5;
            }
        };
        MediaExtractor mediaExtractor = new MediaExtractor();
        mediaExtractor.setDataSource(mediaDataSource);
        return mediaExtractor;
    }

    public static void read(byte[] bArr, Metadata metadata) {
        try {
            read(bArr, metadata, getMediaExtractor(bArr));
        } catch (Exception e2) {
            Log.e(TAG, "Failed to decode HEIF image using MediaExtractor", e2);
        }
    }

    public static void read(byte[] bArr, Metadata metadata, MediaExtractor mediaExtractor) {
        try {
            int trackCount = mediaExtractor.getTrackCount();
            for (int i = 0; i < trackCount; i++) {
                MediaFormat trackFormat = mediaExtractor.getTrackFormat(i);
                String string = trackFormat.getString("mime");
                if (string != null && string.startsWith("image/")) {
                    int integer = trackFormat.containsKey("rotation-degrees") ? trackFormat.getInteger("rotation-degrees") : 0;
                    int i5 = metadata.originalWidth;
                    int i6 = metadata.originalHeight;
                    if (integer != 90 && integer != 270) {
                        i6 = i5;
                        i5 = i6;
                    }
                    metadata.height = i5;
                    metadata.width = i6;
                    metadata.rotation = integer;
                    return;
                }
            }
        } catch (Exception e2) {
            Log.e(TAG, "Failed to decode HEIF image using MediaExtractor", e2);
        }
    }
}
