Rabbit-R1/android (non root)/java/sources/androidx/media3/extractor/TrackOutput.java
2024-05-21 17:08:36 -04:00

72 lines
2.5 KiB
Java

package androidx.media3.extractor;
import androidx.media3.common.DataReader;
import androidx.media3.common.Format;
import androidx.media3.common.util.ParsableByteArray;
import java.io.IOException;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Arrays;
/* loaded from: classes2.dex */
public interface TrackOutput {
public static final int SAMPLE_DATA_PART_ENCRYPTION = 1;
public static final int SAMPLE_DATA_PART_MAIN = 0;
public static final int SAMPLE_DATA_PART_SUPPLEMENTAL = 2;
@Target({ElementType.TYPE_USE})
@Documented
@Retention(RetentionPolicy.SOURCE)
/* loaded from: classes2.dex */
public @interface SampleDataPart {
}
void format(Format format);
int sampleData(DataReader dataReader, int i, boolean z, int i2) throws IOException;
void sampleData(ParsableByteArray parsableByteArray, int i, int i2);
void sampleMetadata(long j, int i, int i2, int i3, CryptoData cryptoData);
/* loaded from: classes2.dex */
public static final class CryptoData {
public final int clearBlocks;
public final int cryptoMode;
public final int encryptedBlocks;
public final byte[] encryptionKey;
public CryptoData(int i, byte[] bArr, int i2, int i3) {
this.cryptoMode = i;
this.encryptionKey = bArr;
this.encryptedBlocks = i2;
this.clearBlocks = i3;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
CryptoData cryptoData = (CryptoData) obj;
return this.cryptoMode == cryptoData.cryptoMode && this.encryptedBlocks == cryptoData.encryptedBlocks && this.clearBlocks == cryptoData.clearBlocks && Arrays.equals(this.encryptionKey, cryptoData.encryptionKey);
}
public int hashCode() {
return (((((this.cryptoMode * 31) + Arrays.hashCode(this.encryptionKey)) * 31) + this.encryptedBlocks) * 31) + this.clearBlocks;
}
}
default int sampleData(DataReader dataReader, int i, boolean z) throws IOException {
return sampleData(dataReader, i, z, 0);
}
default void sampleData(ParsableByteArray parsableByteArray, int i) {
sampleData(parsableByteArray, i, 0);
}
}