RCTinyVideoOutStream.smali
.class public Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;
.super Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;
.source "RCTinyVideoOutStream.java"
# static fields
.field private static final TINT_BASE_SIDE:I = 0x84
.field public static final TINY:Ljava/lang/CharSequence;
# instance fields
.field private mHeight:I
.field private mWidth:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string v0, "_tiny"
.line 1
sput-object v0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->TINY:Ljava/lang/CharSequence;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "RongCloudRTC"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->TINY:Ljava/lang/CharSequence;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0, p1}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 2
invoke-direct {p0}, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->configTinyVideoResolution()V
.line 3
sget-object p1, Lcn/rongcloud/rtc/base/RCRTCStreamType;->TINY:Lcn/rongcloud/rtc/base/RCRTCStreamType;
iput-object p1, p0, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->mStreamType:Lcn/rongcloud/rtc/base/RCRTCStreamType;
return-void
.end method
.method private configTinyVideoResolution()V
.registers 8
.line 1
invoke-static {}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getInstance()Lcn/rongcloud/rtc/engine/RTCEngineImpl;
move-result-object v0
.line 2
invoke-virtual {v0}, Lcn/rongcloud/rtc/engine/RTCEngineImpl;->getDefaultVideoStream()Lcn/rongcloud/rtc/api/stream/RCRTCCameraOutputStream;
move-result-object v0
check-cast v0, Lcn/rongcloud/rtc/center/stream/RCCameraOutputStreamImpl;
.line 3
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getWidth()I
move-result v1
const/16 v2, 0x84
if-lt v1, v2, :cond_18
.line 4
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getHeight()I
move-result v1
if-ge v1, v2, :cond_24
.line 5
:cond_18
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getWidth()I
move-result v1
iput v1, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mWidth:I
.line 6
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getHeight()I
move-result v1
iput v1, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mHeight:I
.line 7
:cond_24
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getWidth()I
move-result v1
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getHeight()I
move-result v3
invoke-static {v1, v3}, Ljava/lang/Math;->min(II)I
move-result v1
const-wide v3, 0x4060800000000000L # 132.0
int-to-double v5, v1
.line 8
invoke-static {v3, v4, v5, v6}, Lcn/rongcloud/rtc/utils/RongRTCUtils;->div(DD)D
move-result-wide v3
.line 9
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getWidth()I
move-result v1
invoke-virtual {v0}, Lcn/rongcloud/rtc/center/stream/RCVideoOutStreamImpl;->getHeight()I
move-result v0
.line 10
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
int-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
mul-double v3, v3, v0
invoke-static {v3, v4}, Ljava/lang/Math;->floor(D)D
move-result-wide v0
double-to-int v0, v0
shr-int/lit8 v0, v0, 0x2
shl-int/lit8 v0, v0, 0x2
.line 11
iput v2, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mWidth:I
.line 12
iput v0, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mHeight:I
return-void
.end method
# virtual methods
.method public getHeight()I
.registers 2
.line 1
iget v0, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mHeight:I
return v0
.end method
.method public getMaxBitrate()I
.registers 2
const/16 v0, 0x78
return v0
.end method
.method public getMinBitrate()I
.registers 2
const/16 v0, 0x78
return v0
.end method
.method public getWidth()I
.registers 2
.line 1
iget v0, p0, Lcn/rongcloud/rtc/center/stream/RCTinyVideoOutStream;->mWidth:I
return v0
.end method