RTCLocalSdpObserver.smali
.class public Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;
.super Ljava/lang/Object;
.source "RTCLocalSdpObserver.java"
# interfaces
.implements Lcn/rongcloud/rtc/core/SdpObserver;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "RongRTCLocalSdpObserver"
# instance fields
.field private config:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;
.field private listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
.field private mRoomId:Ljava/lang/String;
.field private rongRTCConnection:Lcn/rongcloud/rtc/core/PeerConnection;
.field private sessionDescription:Lcn/rongcloud/rtc/core/SessionDescription;
.field private totalMaxBitRate:I
# direct methods
.method public constructor <init>(Ljava/lang/String;Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;Lcn/rongcloud/rtc/core/PeerConnection;ILcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;)V
.registers 6
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p5, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
.line 3
iput-object p2, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->config:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;
.line 4
iput-object p3, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->rongRTCConnection:Lcn/rongcloud/rtc/core/PeerConnection;
.line 5
iput p4, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->totalMaxBitRate:I
.line 6
iput-object p1, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->mRoomId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public onCreateFailure(Ljava/lang/String;)V
.registers 6
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->CREATEOFFER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSessionNegotiateOfferError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const/4 v2, 0x1
aput-object p1, v1, v2
const-string v2, "code|desc"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
if-eqz v0, :cond_21
.line 3
invoke-interface {v0, p1}, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;->onLocalSetError(Ljava/lang/String;)V
:cond_21
return-void
.end method
.method public onCreateSuccess(Lcn/rongcloud/rtc/core/SessionDescription;)V
.registers 8
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->CREATEOFFER:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const-string v4, "code"
invoke-static {v0, v4, v2}, Lcn/rongcloud/rtc/utils/ReportUtil;->libRes(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->config:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;
iget-object v2, p1, Lcn/rongcloud/rtc/core/SessionDescription;->description:Ljava/lang/String;
iget v4, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->totalMaxBitRate:I
const-string v5, "H264"
invoke-static {v0, v2, v5, v3, v4}, Lcn/rongcloud/rtc/utils/RTCSDPTools;->preferCodec(Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;Ljava/lang/String;Ljava/lang/String;ZI)Ljava/lang/String;
move-result-object v0
.line 3
iget-object v2, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->config:Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;
iget v4, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->totalMaxBitRate:I
const/4 v5, 0x0
invoke-static {v2, v0, v5, v1, v4}, Lcn/rongcloud/rtc/utils/RTCSDPTools;->preferCodec(Lcn/rongcloud/rtc/center/config/RCRTCConfigImpl;Ljava/lang/String;Ljava/lang/String;ZI)Ljava/lang/String;
move-result-object v0
.line 4
new-instance v2, Lcn/rongcloud/rtc/core/SessionDescription;
iget-object p1, p1, Lcn/rongcloud/rtc/core/SessionDescription;->type:Lcn/rongcloud/rtc/core/SessionDescription$Type;
invoke-direct {v2, p1, v0}, Lcn/rongcloud/rtc/core/SessionDescription;-><init>(Lcn/rongcloud/rtc/core/SessionDescription$Type;Ljava/lang/String;)V
iput-object v2, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->sessionDescription:Lcn/rongcloud/rtc/core/SessionDescription;
.line 5
sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETLOCALSDP:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
new-array v0, v1, [Ljava/lang/Object;
iget-object v2, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->mRoomId:Ljava/lang/String;
aput-object v2, v0, v3
const-string v2, "roomId"
invoke-static {p1, v2, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->libTask(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 6
iget-object p1, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->rongRTCConnection:Lcn/rongcloud/rtc/core/PeerConnection;
if-eqz p1, :cond_4e
invoke-virtual {p1}, Lcn/rongcloud/rtc/core/PeerConnection;->isClose()Z
move-result p1
if-nez p1, :cond_4e
.line 7
iget-object p1, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->rongRTCConnection:Lcn/rongcloud/rtc/core/PeerConnection;
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->sessionDescription:Lcn/rongcloud/rtc/core/SessionDescription;
invoke-virtual {p1, p0, v0}, Lcn/rongcloud/rtc/core/PeerConnection;->setLocalDescription(Lcn/rongcloud/rtc/core/SdpObserver;Lcn/rongcloud/rtc/core/SessionDescription;)V
goto :goto_6d
.line 8
:cond_4e
sget-object p1, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETLOCALSDP:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v0, 0x2
new-array v0, v0, [Ljava/lang/Object;
sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSessionNegotiateOfferError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v3
const-string v2, "PeerConnection is Null or close"
aput-object v2, v0, v1
const-string v1, "code|desc"
invoke-static {p1, v1, v0}, Lcn/rongcloud/rtc/utils/ReportUtil;->libError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 9
iget-object p1, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
invoke-interface {p1, v2}, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;->onLocalSetError(Ljava/lang/String;)V
:goto_6d
return-void
.end method
.method public onSetFailure(Ljava/lang/String;)V
.registers 6
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETLOCALSDP:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x3
new-array v1, v1, [Ljava/lang/Object;
sget-object v2, Lcn/rongcloud/rtc/base/RTCErrorCode;->RongRTCCodeSessionNegotiateOfferError:Lcn/rongcloud/rtc/base/RTCErrorCode;
invoke-virtual {v2}, Lcn/rongcloud/rtc/base/RTCErrorCode;->getValue()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const/4 v2, 0x1
aput-object p1, v1, v2
iget-object v2, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->sessionDescription:Lcn/rongcloud/rtc/core/SessionDescription;
invoke-virtual {v2}, Lcn/rongcloud/rtc/core/SessionDescription;->toJsonString()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x2
aput-object v2, v1, v3
const-string v2, "code|desc|sdp"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libError(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
if-eqz v0, :cond_2a
.line 3
invoke-interface {v0, p1}, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;->onLocalSetError(Ljava/lang/String;)V
:cond_2a
return-void
.end method
.method public onSetSuccess()V
.registers 5
.line 1
sget-object v0, Lcn/rongcloud/rtc/utils/ReportUtil$TAG;->SETLOCALSDP:Lcn/rongcloud/rtc/utils/ReportUtil$TAG;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
const-string v2, "code"
invoke-static {v0, v2, v1}, Lcn/rongcloud/rtc/utils/ReportUtil;->libRes(Lcn/rongcloud/rtc/utils/ReportUtil$TAG;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->listener:Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;
if-eqz v0, :cond_1a
.line 3
iget-object v1, p0, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver;->sessionDescription:Lcn/rongcloud/rtc/core/SessionDescription;
invoke-interface {v0, v1}, Lcn/rongcloud/rtc/webrtc/RTCLocalSdpObserver$RTCSdpLocalSetListener;->onLocalSdpSetSuccess(Lcn/rongcloud/rtc/core/SessionDescription;)V
:cond_1a
return-void
.end method