CeaUtil.smali
.class public final Lcom/google/android/exoplayer2/text/cea/CeaUtil;
.super Ljava/lang/Object;
.source "CeaUtil.java"
# static fields
.field private static final COUNTRY_CODE:I = 0xb5
.field private static final PAYLOAD_TYPE_CC:I = 0x4
.field private static final PROVIDER_CODE:I = 0x31
.field private static final USER_DATA_TYPE_CODE:I = 0x3
.field private static final USER_ID:I = 0x47413934
# direct methods
.method private constructor <init>()V
.registers 1
.line 104
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static consume(JLcom/google/android/exoplayer2/util/ParsableByteArray;Lcom/google/android/exoplayer2/extractor/TrackOutput;)V
.registers 14
.line 44
:goto_0
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->bytesLeft()I
move-result v0
const/4 v1, 0x1
if-le v0, v1, :cond_46
const/4 v0, 0x0
const/4 v2, 0x0
.line 48
:cond_9
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v3
add-int/2addr v2, v3
const/16 v4, 0xff
if-eq v3, v4, :cond_9
.line 54
:cond_12
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v3
add-int/2addr v0, v3
if-eq v3, v4, :cond_12
.line 58
invoke-static {v2, v0, p2}, Lcom/google/android/exoplayer2/text/cea/CeaUtil;->isSeiMessageCea608(IILcom/google/android/exoplayer2/util/ParsableByteArray;)Z
move-result v2
if-eqz v2, :cond_42
const/16 v2, 0x8
.line 61
invoke-virtual {p2, v2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
.line 63
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v2
and-int/lit8 v2, v2, 0x1f
.line 65
invoke-virtual {p2, v1}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
mul-int/lit8 v2, v2, 0x3
.line 69
invoke-interface {p3, p2, v2}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->sampleData(Lcom/google/android/exoplayer2/util/ParsableByteArray;I)V
const/4 v6, 0x1
const/4 v8, 0x0
const/4 v9, 0x0
move-object v3, p3
move-wide v4, p0
move v7, v2
.line 70
invoke-interface/range {v3 .. v9}, Lcom/google/android/exoplayer2/extractor/TrackOutput;->sampleMetadata(JIII[B)V
add-int/lit8 v2, v2, 0xa
sub-int/2addr v0, v2
.line 72
invoke-virtual {p2, v0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
goto :goto_0
.line 74
:cond_42
invoke-virtual {p2, v0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->skipBytes(I)V
goto :goto_0
:cond_46
return-void
.end method
.method private static isSeiMessageCea608(IILcom/google/android/exoplayer2/util/ParsableByteArray;)Z
.registers 7
const/4 v0, 0x0
const/4 v1, 0x4
if-ne p0, v1, :cond_31
const/16 p0, 0x8
if-ge p1, p0, :cond_9
goto :goto_31
.line 94
:cond_9
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->getPosition()I
move-result p0
.line 95
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result p1
.line 96
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedShort()I
move-result v1
.line 97
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readInt()I
move-result v2
.line 98
invoke-virtual {p2}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->readUnsignedByte()I
move-result v3
.line 99
invoke-virtual {p2, p0}, Lcom/google/android/exoplayer2/util/ParsableByteArray;->setPosition(I)V
const/16 p0, 0xb5
if-ne p1, p0, :cond_31
const/16 p0, 0x31
if-ne v1, p0, :cond_31
const p0, 0x47413934
if-ne v2, p0, :cond_31
const/4 p0, 0x3
if-ne v3, p0, :cond_31
const/4 v0, 0x1
:cond_31
:goto_31
return v0
.end method