package androidx.media3.exoplayer.dash;

import androidx.media3.common.C;
import androidx.media3.common.Format;
import androidx.media3.common.util.Util;
import androidx.media3.decoder.DecoderInputBuffer;
import androidx.media3.exoplayer.FormatHolder;
import androidx.media3.exoplayer.dash.manifest.EventStream;
import androidx.media3.exoplayer.source.SampleStream;
import androidx.media3.extractor.metadata.emsg.EventMessageEncoder;

/* JADX INFO: loaded from: classes.dex */
final class EventSampleStream implements SampleStream {
    private int currentIndex;
    private EventStream eventStream;
    private boolean eventStreamAppendable;
    private long[] eventTimesUs;
    private boolean isFormatSentDownstream;
    private final Format upstreamFormat;
    private final EventMessageEncoder eventMessageEncoder = new EventMessageEncoder();
    private long pendingSeekPositionUs = C.TIME_UNSET;

    public EventSampleStream(EventStream eventStream, Format format, boolean z6) {
        this.upstreamFormat = format;
        this.eventStream = eventStream;
        this.eventTimesUs = eventStream.presentationTimesUs;
        updateEventStream(eventStream, z6);
    }

    public String eventStreamId() {
        return this.eventStream.id();
    }

    @Override // androidx.media3.exoplayer.source.SampleStream
    public boolean isReady() {
        return true;
    }

    @Override // androidx.media3.exoplayer.source.SampleStream
    public void maybeThrowError() {
    }

    @Override // androidx.media3.exoplayer.source.SampleStream
    public int readData(FormatHolder formatHolder, DecoderInputBuffer decoderInputBuffer, int i6) {
        int i7 = this.currentIndex;
        boolean z6 = i7 == this.eventTimesUs.length;
        if (z6 && !this.eventStreamAppendable) {
            decoderInputBuffer.setFlags(4);
            return -4;
        }
        if ((i6 & 2) != 0 || !this.isFormatSentDownstream) {
            formatHolder.format = this.upstreamFormat;
            this.isFormatSentDownstream = true;
            return -5;
        }
        if (z6) {
            return -3;
        }
        if ((i6 & 1) == 0) {
            this.currentIndex = i7 + 1;
        }
        if ((i6 & 4) == 0) {
            byte[] bArrEncode = this.eventMessageEncoder.encode(this.eventStream.events[i7]);
            decoderInputBuffer.ensureSpaceForWrite(bArrEncode.length);
            decoderInputBuffer.data.put(bArrEncode);
        }
        decoderInputBuffer.timeUs = this.eventTimesUs[i7];
        decoderInputBuffer.setFlags(1);
        return -4;
    }

    public void seekToUs(long j4) {
        int iBinarySearchCeil = Util.binarySearchCeil(this.eventTimesUs, j4, true, false);
        this.currentIndex = iBinarySearchCeil;
        if (!this.eventStreamAppendable || iBinarySearchCeil != this.eventTimesUs.length) {
            j4 = C.TIME_UNSET;
        }
        this.pendingSeekPositionUs = j4;
    }

    @Override // androidx.media3.exoplayer.source.SampleStream
    public int skipData(long j4) {
        int iMax = Math.max(this.currentIndex, Util.binarySearchCeil(this.eventTimesUs, j4, true, false));
        int i6 = iMax - this.currentIndex;
        this.currentIndex = iMax;
        return i6;
    }

    public void updateEventStream(EventStream eventStream, boolean z6) {
        int i6 = this.currentIndex;
        long j4 = i6 == 0 ? -9223372036854775807L : this.eventTimesUs[i6 - 1];
        this.eventStreamAppendable = z6;
        this.eventStream = eventStream;
        long[] jArr = eventStream.presentationTimesUs;
        this.eventTimesUs = jArr;
        long j6 = this.pendingSeekPositionUs;
        if (j6 != C.TIME_UNSET) {
            seekToUs(j6);
        } else if (j4 != C.TIME_UNSET) {
            this.currentIndex = Util.binarySearchCeil(jArr, j4, false, false);
        }
    }
}
