Files
rr3-apk/smali_classes4/com/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

314 lines
7.3 KiB
Smali

.class public final Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final bitsPerSample:I
.field public final channels:I
.field public final maxBlockSize:I
.field public final maxFrameSize:I
.field public final minBlockSize:I
.field public final minFrameSize:I
.field public final sampleRate:I
.field public final totalSamples:J
# direct methods
.method public constructor <init>(IIIIIIIJ)V
.locals 0
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minBlockSize:I
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxBlockSize:I
iput p3, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minFrameSize:I
iput p4, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxFrameSize:I
iput p5, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
iput p6, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->channels:I
iput p7, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitsPerSample:I
iput-wide p8, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->totalSamples:J
return-void
.end method
.method public constructor <init>([BI)V
.locals 4
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 20
new-instance v0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;
invoke-direct {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;-><init>([B)V
mul-int/lit8 p2, p2, 0x8
.line 21
invoke-virtual {v0, p2}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->setPosition(I)V
const/16 p1, 0x10
.line 22
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minBlockSize:I
.line 23
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxBlockSize:I
const/16 p1, 0x18
.line 24
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p2
iput p2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minFrameSize:I
.line 25
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxFrameSize:I
const/16 p1, 0x14
.line 26
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
const/4 p1, 0x3
.line 27
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->channels:I
const/4 p1, 0x5
.line 28
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitsPerSample:I
const/4 p1, 0x4
.line 29
invoke-virtual {v0, p1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result p1
int-to-long p1, p1
const-wide/16 v1, 0xf
and-long/2addr p1, v1
const/16 v1, 0x20
shl-long/2addr p1, v1
.line 30
invoke-virtual {v0, v1}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/ParsableBitArray;->readBits(I)I
move-result v0
int-to-long v0, v0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
or-long/2addr p1, v0
iput-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->totalSamples:J
return-void
.end method
# virtual methods
.method public final bitRate()I
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitsPerSample:I
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
mul-int/2addr v0, v1
return v0
.end method
.method public final durationUs()J
.locals 4
iget-wide v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->totalSamples:J
const-wide/32 v2, 0xf4240
mul-long/2addr v0, v2
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
int-to-long v2, v2
.line 66
div-long/2addr v0, v2
return-wide v0
.end method
.method public final getApproxBytesPerFrame()J
.locals 4
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxFrameSize:I
if-lez v0, :cond_0
int-to-long v0, v0
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minFrameSize:I
int-to-long v2, v2
add-long/2addr v0, v2
const-wide/16 v2, 0x2
.line 79
div-long/2addr v0, v2
const-wide/16 v2, 0x1
:goto_0
add-long/2addr v0, v2
goto :goto_2
:cond_0
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->minBlockSize:I
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxBlockSize:I
if-ne v0, v1, :cond_1
if-lez v0, :cond_1
int-to-long v0, v0
goto :goto_1
:cond_1
const-wide/16 v0, 0x1000
:goto_1
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->channels:I
int-to-long v2, v2
mul-long/2addr v0, v2
iget v2, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitsPerSample:I
int-to-long v2, v2
mul-long/2addr v0, v2
const-wide/16 v2, 0x8
.line 84
div-long/2addr v0, v2
const-wide/16 v2, 0x40
goto :goto_0
:goto_2
return-wide v0
.end method
.method public final getSampleIndex(J)J
.locals 8
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->sampleRate:I
int-to-long v0, v0
mul-long/2addr p1, v0
const-wide/32 v0, 0xf4240
.line 71
div-long v2, p1, v0
const-wide/16 v4, 0x0
iget-wide p1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->totalSamples:J
const-wide/16 v0, 0x1
sub-long v6, p1, v0
.line 72
invoke-static/range {v2 .. v7}, Lcom/mbridge/msdk/playercommon/exoplayer2/util/Util;->constrainValue(JJJ)J
move-result-wide p1
return-wide p1
.end method
.method public final maxDecodedFrameSize()I
.locals 2
iget v0, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->maxBlockSize:I
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->channels:I
mul-int/2addr v0, v1
iget v1, p0, Lcom/mbridge/msdk/playercommon/exoplayer2/util/FlacStreamInfo;->bitsPerSample:I
.line 56
div-int/lit8 v1, v1, 0x8
mul-int/2addr v0, v1
return v0
.end method