package androidx.media3.exoplayer.mediacodec;

import androidx.annotation.IntRange;
import androidx.annotation.VisibleForTesting;
import androidx.media3.common.util.Assertions;
import java.nio.ByteBuffer;
import tv.danmaku.ijk.media.player.IjkMediaMeta;

/* JADX INFO: loaded from: classes.dex */
final class BatchBuffer extends s1.f {
    public static final int DEFAULT_MAX_SAMPLE_COUNT = 32;

    @VisibleForTesting
    static final int MAX_SIZE_BYTES = 3072000;
    private long lastSampleTimeUs;
    private int maxSampleCount;
    private int sampleCount;

    public BatchBuffer() {
        super(2);
        this.maxSampleCount = 32;
    }

    private boolean canAppendSampleBuffer(s1.f fVar) {
        ByteBuffer byteBuffer;
        if (!hasSamples()) {
            return true;
        }
        if (this.sampleCount >= this.maxSampleCount) {
            return false;
        }
        ByteBuffer byteBuffer2 = fVar.data;
        if (byteBuffer2 != null && (byteBuffer = this.data) != null) {
            if (byteBuffer2.remaining() + byteBuffer.position() > MAX_SIZE_BYTES) {
                return false;
            }
        }
        return true;
    }

    public boolean append(s1.f fVar) {
        Assertions.checkArgument(!fVar.isEncrypted());
        Assertions.checkArgument(!fVar.hasSupplementalData());
        Assertions.checkArgument(!fVar.isEndOfStream());
        if (!canAppendSampleBuffer(fVar)) {
            return false;
        }
        int i10 = this.sampleCount;
        this.sampleCount = i10 + 1;
        if (i10 == 0) {
            this.timeUs = fVar.timeUs;
            if (fVar.isKeyFrame()) {
                setFlags(1);
            }
        }
        ByteBuffer byteBuffer = fVar.data;
        if (byteBuffer != null) {
            ensureSpaceForWrite(byteBuffer.remaining());
            this.data.put(byteBuffer);
        }
        this.lastSampleTimeUs = fVar.timeUs;
        return true;
    }

    @Override // s1.f, s1.a
    public void clear() {
        super.clear();
        this.sampleCount = 0;
    }

    public long getFirstSampleTimeUs() {
        return this.timeUs;
    }

    public long getLastSampleTimeUs() {
        return this.lastSampleTimeUs;
    }

    public int getSampleCount() {
        return this.sampleCount;
    }

    public boolean hasSamples() {
        return this.sampleCount > 0;
    }

    public void setMaxSampleCount(@IntRange(from = IjkMediaMeta.AV_CH_FRONT_LEFT) int i10) {
        Assertions.checkArgument(i10 > 0);
        this.maxSampleCount = i10;
    }
}
