AliRtcEngineImpl.smali

.class public Lcom/alivc/rtc/AliRtcEngineImpl;
.super Lcom/alivc/rtc/AliRtcEngine;
.source "AliRtcEngineImpl.java"

# interfaces
.implements Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;


# static fields
.field private static final FAKE_SESSION:Ljava/lang/String; = "123456ALIBABAFAKESESSIONID"

.field private static final SDK_RESULT_PUBLISH_ALREADY_EXIST:I = 0x1030302

.field private static final TAG:Ljava/lang/String; = "AliRTCEngine"

.field private static VERSION:Ljava/lang/String;

.field private static aliRtcRemoteTextureInfos:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;",
            ">;"
        }
    .end annotation
.end field


# instance fields
.field private mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

.field private mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

.field private volatile mApiPass:Z

.field private mAppFrontBackHelper:Lcom/alivc/rtc/AppFrontBackHelper;

.field private mContext:Landroid/content/Context;

.field private mDetectedUsbDevice:Z

.field private mEventListener:Lcom/alivc/rtc/AliRtcEngineEventListener;

.field private mExtras:Ljava/lang/String;

.field private final mLock:Ljava/lang/Object;

.field private mNotifyListener:Lcom/alivc/rtc/AliRtcEngineNotify;

.field private mProcessCpuTracker:Lcom/alivc/rtc/ProcessCpuTracker;

.field private mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

.field private mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

.field private mUsbCameraStatus:Z

.field private mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

.field private mainHandler:Landroid/os/Handler;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .line 95
    const-string v0, ""

    sput-object v0, Lcom/alivc/rtc/AliRtcEngineImpl;->VERSION:Ljava/lang/String;

    .line 112
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    sput-object v0, Lcom/alivc/rtc/AliRtcEngineImpl;->aliRtcRemoteTextureInfos:Ljava/util/ArrayList;

    .line 129
    const-string/jumbo v0, "wukong_ua"

    invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V

    .line 130
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 5
    .param p1, "context"    # Landroid/content/Context;

    .line 226
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngine;-><init>()V

    .line 105
    new-instance v0, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v0}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 106
    new-instance v0, Landroid/os/Handler;

    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mainHandler:Landroid/os/Handler;

    .line 107
    new-instance v0, Ljava/lang/Object;

    invoke-direct {v0}, Ljava/lang/Object;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mLock:Ljava/lang/Object;

    .line 108
    const-string v0, ""

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    .line 109
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    .line 110
    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    .line 120
    const/4 v1, 0x1

    iput-boolean v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 1632
    new-instance v2, Lcom/alivc/rtc/AliRtcEngineImpl$6;

    invoke-direct {v2, p0}, Lcom/alivc/rtc/AliRtcEngineImpl$6;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;)V

    iput-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    .line 228
    :try_start_2f
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    .line 229
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-static {v2}, Lorg/webrtc/ali/ContextUtils;->initialize(Landroid/content/Context;)V

    .line 230
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->initProcessCpuTracker()V

    .line 233
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    check-cast v2, Landroid/app/Application;

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->LogWhenGoBackOrFront(Landroid/app/Application;Z)V

    .line 235
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->enableOrientation(Landroid/content/Context;Z)V

    .line 236
    invoke-static {}, Lcom/alivc/rtc/DeviceConfig;->initConfig()V

    .line 237
    sget v2, Lcom/alivc/rtc/AliRtcEngineImpl;->EnableH5Compatible:I

    invoke-static {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setH5CompatibleMode(I)I

    .line 239
    invoke-static {p1, p0}, Lorg/webrtc/alirtcInterface/SophonEngine;->setupUSBDevice(Landroid/content/Context;Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;)I

    move-result v2

    if-eqz v2, :cond_5a

    const/4 v0, 0x1

    :cond_5a
    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    .line 240
    if-nez v0, :cond_73

    .line 241
    invoke-static {}, Lorg/webrtc/alirtcInterface/SophonEngine;->closeUSBDevice()V

    .line 242
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_73

    .line 243
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    invoke-static {v0, v1, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->create(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;
    :try_end_73
    .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_73} :catch_74

    .line 248
    :cond_73
    goto :goto_78

    .line 246
    :catch_74
    move-exception v0

    .line 247
    .local v0, "e":Ljava/lang/Exception;
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 249
    .end local v0    # "e":Ljava/lang/Exception;
    :goto_78
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;)V
    .registers 6
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "extras"    # Ljava/lang/String;

    .line 197
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngine;-><init>()V

    .line 105
    new-instance v0, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v0}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 106
    new-instance v0, Landroid/os/Handler;

    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mainHandler:Landroid/os/Handler;

    .line 107
    new-instance v0, Ljava/lang/Object;

    invoke-direct {v0}, Ljava/lang/Object;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mLock:Ljava/lang/Object;

    .line 108
    const-string v0, ""

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    .line 109
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    .line 110
    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    .line 120
    const/4 v1, 0x1

    iput-boolean v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 1632
    new-instance v2, Lcom/alivc/rtc/AliRtcEngineImpl$6;

    invoke-direct {v2, p0}, Lcom/alivc/rtc/AliRtcEngineImpl$6;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;)V

    iput-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    .line 199
    :try_start_2f
    invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_37

    .line 200
    iput-object p2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    .line 202
    :cond_37
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    .line 203
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-static {v2}, Lorg/webrtc/ali/ContextUtils;->initialize(Landroid/content/Context;)V

    .line 204
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->initProcessCpuTracker()V

    .line 207
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    check-cast v2, Landroid/app/Application;

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->LogWhenGoBackOrFront(Landroid/app/Application;Z)V

    .line 209
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->enableOrientation(Landroid/content/Context;Z)V

    .line 210
    invoke-static {}, Lcom/alivc/rtc/DeviceConfig;->initConfig()V

    .line 211
    sget v2, Lcom/alivc/rtc/AliRtcEngineImpl;->EnableH5Compatible:I

    invoke-static {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setH5CompatibleMode(I)I

    .line 213
    invoke-static {p1, p0}, Lorg/webrtc/alirtcInterface/SophonEngine;->setupUSBDevice(Landroid/content/Context;Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;)I

    move-result v2

    if-eqz v2, :cond_62

    const/4 v0, 0x1

    :cond_62
    iput-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    .line 214
    const-string v0, "AliRTCEngine"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "AliRtcEngine init mDetectedUsbDevice = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 215
    iget-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    if-nez v0, :cond_95

    .line 216
    invoke-static {}, Lorg/webrtc/alirtcInterface/SophonEngine;->closeUSBDevice()V

    .line 217
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_95

    .line 218
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    invoke-static {v0, v1, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->create(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;
    :try_end_95
    .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_95} :catch_96

    .line 223
    :cond_95
    goto :goto_9a

    .line 221
    :catch_96
    move-exception v0

    .line 222
    .local v0, "e":Ljava/lang/Exception;
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 224
    .end local v0    # "e":Ljava/lang/Exception;
    :goto_9a
    return-void
.end method

.method private LogWhenGoBackOrFront(Landroid/app/Application;Z)V
    .registers 5
    .param p1, "app"    # Landroid/app/Application;
    .param p2, "bind"    # Z

    .line 284
    if-eqz p2, :cond_12

    .line 285
    new-instance v0, Lcom/alivc/rtc/AppFrontBackHelper;

    invoke-direct {v0}, Lcom/alivc/rtc/AppFrontBackHelper;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAppFrontBackHelper:Lcom/alivc/rtc/AppFrontBackHelper;

    .line 286
    new-instance v1, Lcom/alivc/rtc/AliRtcEngineImpl$1;

    invoke-direct {v1, p0}, Lcom/alivc/rtc/AliRtcEngineImpl$1;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;)V

    invoke-virtual {v0, p1, v1}, Lcom/alivc/rtc/AppFrontBackHelper;->bindApplication(Landroid/app/Application;Lcom/alivc/rtc/AppFrontBackHelper$OnAppStatusListener;)V

    goto :goto_1c

    .line 304
    :cond_12
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAppFrontBackHelper:Lcom/alivc/rtc/AppFrontBackHelper;

    if-eqz v0, :cond_1c

    .line 305
    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AppFrontBackHelper;->unBindApplication(Landroid/app/Application;)V

    .line 306
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAppFrontBackHelper:Lcom/alivc/rtc/AppFrontBackHelper;

    .line 310
    :cond_1c
    :goto_1c
    return-void
.end method

.method static synthetic access$000(Lcom/alivc/rtc/AliRtcEngineImpl;)Lorg/webrtc/alirtcInterface/SophonEngine;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    return-object v0
.end method

.method static synthetic access$100(Lcom/alivc/rtc/AliRtcEngineImpl;Ljava/lang/String;)Lcom/alivc/rtc/RemoteParticipant;
    .registers 3
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Ljava/lang/String;

    .line 94
    invoke-direct {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->findParticipantByCallID(Ljava/lang/String;)Lcom/alivc/rtc/RemoteParticipant;

    move-result-object v0

    return-object v0
.end method

.method static synthetic access$1000(Lcom/alivc/rtc/AliRtcEngineImpl;)Lcom/alivc/rtc/ProcessCpuTracker;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mProcessCpuTracker:Lcom/alivc/rtc/ProcessCpuTracker;

    return-object v0
.end method

.method static synthetic access$1100(Lcom/alivc/rtc/AliRtcEngineImpl;)Landroid/content/Context;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    return-object v0
.end method

.method static synthetic access$1200(Lcom/alivc/rtc/AliRtcEngineImpl;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)Ljava/lang/String;
    .registers 3
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;

    .line 94
    invoke-direct {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->getSubscribeConfigString(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method static synthetic access$1300(Lcom/alivc/rtc/AliRtcEngineImpl;Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
    .registers 4
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Ljava/lang/String;
    .param p2, "x2"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    .param p3, "x3"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    .line 94
    invoke-direct {p0, p1, p2, p3}, Lcom/alivc/rtc/AliRtcEngineImpl;->addRemoteDisplayWindow(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    return-void
.end method

.method static synthetic access$1400(Lcom/alivc/rtc/AliRtcEngineImpl;)Ljava/lang/String;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getOsInfo()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method static synthetic access$1500(Lcom/alivc/rtc/AliRtcEngineImpl;)Z
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    return v0
.end method

.method static synthetic access$1600(Lcom/alivc/rtc/AliRtcEngineImpl;)Lcom/alivc/rtc/AlbumOrientationEventListener;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    return-object v0
.end method

.method static synthetic access$200(Lcom/alivc/rtc/AliRtcEngineImpl;)Lcom/alivc/rtc/AliRtcConfig;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    return-object v0
.end method

.method static synthetic access$202(Lcom/alivc/rtc/AliRtcEngineImpl;Lcom/alivc/rtc/AliRtcConfig;)Lcom/alivc/rtc/AliRtcConfig;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Lcom/alivc/rtc/AliRtcConfig;

    .line 94
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    return-object p1
.end method

.method static synthetic access$300(Lcom/alivc/rtc/AliRtcEngineImpl;)Lcom/alivc/rtc/AliRtcEngineEventListener;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mEventListener:Lcom/alivc/rtc/AliRtcEngineEventListener;

    return-object v0
.end method

.method static synthetic access$400(Lcom/alivc/rtc/AliRtcEngineImpl;)Ljava/lang/Object;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mLock:Ljava/lang/Object;

    return-object v0
.end method

.method static synthetic access$500(Lcom/alivc/rtc/AliRtcEngineImpl;)Landroid/os/Handler;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mainHandler:Landroid/os/Handler;

    return-object v0
.end method

.method static synthetic access$600(Lcom/alivc/rtc/AliRtcEngineImpl;Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
    .registers 3
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Ljava/lang/String;
    .param p2, "x2"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    .line 94
    invoke-direct {p0, p1, p2}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    return-void
.end method

.method static synthetic access$700(Lcom/alivc/rtc/AliRtcEngineImpl;Lcom/alivc/rtc/RemoteParticipant;)V
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Lcom/alivc/rtc/RemoteParticipant;

    .line 94
    invoke-direct {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->configRemoteParticipantDefaultValues(Lcom/alivc/rtc/RemoteParticipant;)V

    return-void
.end method

.method static synthetic access$800(Lcom/alivc/rtc/AliRtcEngineImpl;)Lcom/alivc/rtc/AliRtcEngineNotify;
    .registers 2
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 94
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mNotifyListener:Lcom/alivc/rtc/AliRtcEngineNotify;

    return-object v0
.end method

.method static synthetic access$900(Lcom/alivc/rtc/AliRtcEngineImpl;Ljava/lang/String;[Ljava/lang/String;)V
    .registers 3
    .param p0, "x0"    # Lcom/alivc/rtc/AliRtcEngineImpl;
    .param p1, "x1"    # Ljava/lang/String;
    .param p2, "x2"    # [Ljava/lang/String;

    .line 94
    invoke-direct {p0, p1, p2}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteNullTracksDisplayWindow(Ljava/lang/String;[Ljava/lang/String;)V

    return-void
.end method

.method private addRemoteDisplayWindow(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
    .registers 9
    .param p1, "callID"    # Ljava/lang/String;
    .param p2, "aliVideoCanvas"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    .param p3, "videoSourceType"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    .line 2446
    const-string v0, "AliRTCEngine"

    if-eqz p2, :cond_82

    iget v1, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-nez v1, :cond_d

    iget-object v1, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v1, :cond_d

    goto :goto_82

    .line 2451
    :cond_d
    new-instance v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;

    invoke-direct {v1}, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;-><init>()V

    .line 2452
    .local v1, "aliRendererConfig":Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;
    iget v2, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-lez v2, :cond_47

    .line 2453
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "addRemoteDisplayWindow: videoCanvas.textureId != 0 videoCanvas.textureId is = "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, "aliRendererConfig.sharedContext"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-wide v3, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->sharedContext:J

    invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2454
    iget v0, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    iput v0, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureId:I

    .line 2455
    iget v0, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    iput v0, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureWidth:I

    .line 2456
    iget v0, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    iput v0, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureHeight:I

    .line 2457
    iget-wide v2, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->sharedContext:J

    iput-wide v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->sharedContext:J

    goto :goto_59

    .line 2459
    :cond_47
    iget-object v0, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    .line 2460
    .local v0, "surfaceView":Lorg/webrtc/sdk/SophonSurfaceView;
    if-eqz v0, :cond_59

    .line 2461
    iput-object v0, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayView:Landroid/view/SurfaceView;

    .line 2462
    invoke-virtual {v0}, Lorg/webrtc/sdk/SophonSurfaceView;->getWidth()I

    move-result v2

    iput v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->width:I

    .line 2463
    invoke-virtual {v0}, Lorg/webrtc/sdk/SophonSurfaceView;->getHeight()I

    move-result v2

    iput v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->height:I

    .line 2466
    .end local v0    # "surfaceView":Lorg/webrtc/sdk/SophonSurfaceView;
    :cond_59
    :goto_59
    iget-object v0, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->renderMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;

    .line 2467
    .local v0, "renderMode":Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;
    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;->ordinal()I

    move-result v2

    iput v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayMode:I

    .line 2469
    iget-object v2, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v3

    const/4 v4, 0x1

    invoke-direct {p0, v2, v3, v4}, Lcom/alivc/rtc/AliRtcEngineImpl;->getIsFlip(Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;IZ)Z

    move-result v2

    iput-boolean v2, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    .line 2470
    iget-boolean v2, p2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    iput-boolean v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->flip:Z

    .line 2471
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getSharedContext()J

    move-result-wide v2

    iput-wide v2, v1, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->sharedContext:J

    .line 2473
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v2, :cond_81

    .line 2474
    invoke-virtual {v2, p1, p3, v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->addRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V

    .line 2476
    :cond_81
    return-void

    .line 2447
    .end local v0    # "renderMode":Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;
    .end local v1    # "aliRendererConfig":Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;
    :cond_82
    :goto_82
    const-string v1, "addRemoteDisplayWindow: canvas is null"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2448
    return-void
.end method

.method private configRemoteParticipantDefaultValues(Lcom/alivc/rtc/RemoteParticipant;)V
    .registers 3
    .param p1, "info"    # Lcom/alivc/rtc/RemoteParticipant;

    .line 2386
    sget-boolean v0, Lcom/alivc/rtc/DefaultValueConstant;->SUB_AUDIO:Z

    invoke-virtual {p1, v0}, Lcom/alivc/rtc/RemoteParticipant;->setUcAudeoSubed(Z)V

    .line 2387
    sget-boolean v0, Lcom/alivc/rtc/DefaultValueConstant;->SUB_CAMERA:Z

    invoke-virtual {p1, v0}, Lcom/alivc/rtc/RemoteParticipant;->setUcVideoSubed(Z)V

    .line 2388
    sget-boolean v0, Lcom/alivc/rtc/DefaultValueConstant;->SUB_CAMERA_MASTER:Z

    invoke-virtual {p1, v0}, Lcom/alivc/rtc/RemoteParticipant;->setUcVideoSubedMaster(Z)V

    .line 2389
    sget-boolean v0, Lcom/alivc/rtc/DefaultValueConstant;->SUB_SCREEN:Z

    invoke-virtual {p1, v0}, Lcom/alivc/rtc/RemoteParticipant;->setUcScreenSubed(Z)V

    .line 2390
    return-void
.end method

.method private destroyEngine()V
    .registers 4

    .line 268
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    .line 269
    const/4 v1, 0x0

    iput-boolean v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    .line 270
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    check-cast v2, Landroid/app/Application;

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->LogWhenGoBackOrFront(Landroid/app/Application;Z)V

    .line 271
    invoke-static {}, Lorg/webrtc/ali/ContextUtils;->getApplicationContext()Landroid/content/Context;

    move-result-object v2

    invoke-direct {p0, v2, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->enableOrientation(Landroid/content/Context;Z)V

    .line 272
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v2, :cond_2a

    .line 273
    iget-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    if-eqz v2, :cond_23

    .line 274
    invoke-static {}, Lorg/webrtc/alirtcInterface/SophonEngine;->closeUSBDevice()V

    .line 275
    iput-boolean v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    .line 277
    :cond_23
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->destory()V

    .line 278
    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    .line 280
    :cond_2a
    invoke-static {}, Lcom/alivc/rtc/AliRtcEngineImpl;->release()V

    .line 281
    return-void
.end method

.method private enableOrientation(Landroid/content/Context;Z)V
    .registers 5
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "enable"    # Z

    .line 313
    if-eqz p2, :cond_24

    .line 314
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    if-nez v0, :cond_e

    .line 315
    new-instance v0, Lcom/alivc/rtc/AlbumOrientationEventListener;

    const/4 v1, 0x3

    invoke-direct {v0, p1, v1}, Lcom/alivc/rtc/AlbumOrientationEventListener;-><init>(Landroid/content/Context;I)V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    .line 317
    :cond_e
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    invoke-virtual {v0}, Lcom/alivc/rtc/AlbumOrientationEventListener;->canDetectOrientation()Z

    move-result v0

    if-eqz v0, :cond_1c

    .line 318
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    invoke-virtual {v0}, Lcom/alivc/rtc/AlbumOrientationEventListener;->enable()V

    goto :goto_2e

    .line 320
    :cond_1c
    const-string v0, "AliRTCEngine"

    const-string v1, "Can\'t Detect Orientation"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_2e

    .line 323
    :cond_24
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    if-eqz v0, :cond_2e

    .line 324
    invoke-virtual {v0}, Lcom/alivc/rtc/AlbumOrientationEventListener;->disable()V

    .line 325
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    .line 328
    :cond_2e
    :goto_2e
    return-void
.end method

.method private findParticipantByCallID(Ljava/lang/String;)Lcom/alivc/rtc/RemoteParticipant;
    .registers 3
    .param p1, "callID"    # Ljava/lang/String;

    .line 2442
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemotePublishParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    return-object v0
.end method

.method private getConfig()Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;
    .registers 14

    .line 2395
    const/4 v0, 0x0

    .line 2396
    .local v0, "camBig":Z
    const/4 v1, 0x0

    .line 2397
    .local v1, "camSmall":Z
    const/4 v2, 0x0

    .line 2398
    .local v2, "screen":Z
    const/4 v3, 0x0

    .line 2400
    .local v3, "supportSuper":Z
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4}, Lcom/alivc/rtc/AliRtcConfig;->isPublishAudio()Z

    move-result v4

    .line 2402
    .local v4, "audio":Z
    iget-object v5, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v5}, Lcom/alivc/rtc/AliRtcConfig;->isDualStream()Z

    move-result v5

    .line 2404
    .local v5, "isDual":Z
    iget-object v6, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v6}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v6

    if-nez v6, :cond_37

    .line 2405
    iget-object v6, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v6}, Lcom/alivc/rtc/AliRtcConfig;->isPublishCameraTrack()Z

    move-result v6

    if-eqz v6, :cond_2e

    .line 2406
    invoke-static {}, Lcom/alivc/rtc/DeviceConfig;->isSupportSuperStream()Z

    move-result v6

    if-eqz v6, :cond_2a

    .line 2407
    const/4 v6, 0x1

    move v3, v6

    move v0, v6

    goto :goto_2b

    .line 2409
    :cond_2a
    const/4 v0, 0x1

    .line 2411
    :goto_2b
    if-eqz v5, :cond_2e

    .line 2412
    const/4 v1, 0x1

    .line 2415
    :cond_2e
    iget-object v6, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v6}, Lcom/alivc/rtc/AliRtcConfig;->isPublishScreenTrack()Z

    move-result v6

    if-eqz v6, :cond_37

    .line 2416
    const/4 v2, 0x1

    .line 2420
    :cond_37
    new-instance v6, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;

    invoke-direct {v6}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;-><init>()V

    .line 2421
    .local v6, "config":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;
    sget-object v7, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_MAX:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v7}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->getValue()I

    move-result v7

    new-array v7, v7, [Z

    .line 2422
    .local v7, "videoTracks":[Z
    sget-object v8, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v8}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v8

    aput-boolean v0, v7, v8

    .line 2423
    sget-object v8, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraSmall:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v8}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v8

    aput-boolean v1, v7, v8

    .line 2424
    sget-object v8, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_ScreenShare:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v8}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v8

    aput-boolean v2, v7, v8

    .line 2425
    sget-object v8, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraSuper:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v8}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v8

    aput-boolean v3, v7, v8

    .line 2426
    iput-boolean v4, v6, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;->audio_track:Z

    .line 2427
    iput-object v7, v6, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;->video_tracks:[Z

    .line 2429
    sget-object v8, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_MAX:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v8}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->getValue()I

    move-result v8

    new-array v8, v8, [I

    .line 2430
    .local v8, "videoTrackProfile":[I
    const/4 v9, 0x0

    .local v9, "i":I
    array-length v10, v7

    .local v10, "count":I
    :goto_72
    if-ge v9, v10, :cond_b0

    .line 2431
    aget-boolean v11, v7, v9

    if-eqz v11, :cond_ad

    .line 2432
    iget-object v11, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v11}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v11

    invoke-virtual {v11}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->getId()I

    move-result v11

    aput v11, v8, v9

    .line 2433
    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v12, "videotrack index : "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v12, ", videoprofile : "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v12, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 2434
    invoke-virtual {v12}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v12

    invoke-virtual {v12}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->toString()Ljava/lang/String;

    move-result-object v12

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    .line 2433
    const-string v12, "AliRTCEngine"

    invoke-static {v12, v11}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2430
    :cond_ad
    add-int/lit8 v9, v9, 0x1

    goto :goto_72

    .line 2437
    .end local v9    # "i":I
    .end local v10    # "count":I
    :cond_b0
    iput-object v8, v6, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;->video_track_profile:[I

    .line 2438
    return-object v6
.end method

.method private getIsFlip(Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;IZ)Z
    .registers 8
    .param p1, "mirrorMode"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;
    .param p2, "cameraType"    # I
    .param p3, "isRemote"    # Z

    .line 2575
    const/4 v0, 0x1

    if-nez p1, :cond_4

    .line 2576
    return v0

    .line 2578
    :cond_4
    const/4 v1, 0x0

    .line 2579
    .local v1, "ret":Z
    sget-object v2, Lcom/alivc/rtc/AliRtcEngineImpl$7;->$SwitchMap$com$alivc$rtc$AliRtcEngine$AliRtcRenderMirrorMode:[I

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;->ordinal()I

    move-result v3

    aget v2, v2, v3

    if-eq v2, v0, :cond_15

    const/4 v0, 0x2

    if-eq v2, v0, :cond_13

    goto :goto_20

    .line 2586
    :cond_13
    const/4 v1, 0x1

    .line 2587
    goto :goto_20

    .line 2581
    :cond_15
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->AliRTCCameraFront:Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->getCameraType()I

    move-result v0

    if-ne p2, v0, :cond_20

    if-nez p3, :cond_20

    .line 2582
    const/4 v1, 0x1

    .line 2591
    :cond_20
    :goto_20
    return v1
.end method

.method private getOsInfo()Ljava/lang/String;
    .registers 5

    .line 2609
    new-instance v0, Lorg/json/JSONObject;

    invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V

    .line 2611
    .local v0, "jsonObject":Lorg/json/JSONObject;
    :try_start_5
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->OS_NAME:Ljava/lang/String;

    sget-object v2, Lcom/alivc/rtc/AliRtcConstants;->ANDROID:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2612
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->OS_SDK:Ljava/lang/String;

    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2613
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->OS_VERSION:Ljava/lang/String;

    sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2614
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->OS_CPUABI:Ljava/lang/String;

    sget-object v2, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2615
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->DEVICENAME:Ljava/lang/String;

    sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2616
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->BRAND:Ljava/lang/String;

    sget-object v2, Landroid/os/Build;->BRAND:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2617
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->PLATFORM:Ljava/lang/String;

    sget-object v2, Landroid/os/Build;->HARDWARE:Ljava/lang/String;

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2618
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->ACCESS:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-static {v2}, Lcom/alivc/rtc/AliRtcEngineUtil;->getNetWorkStatus(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2619
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->CARRIER:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-static {v2}, Lcom/alivc/rtc/AliRtcEngineUtil;->getOperators(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2620
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->CPU_TYPE:Ljava/lang/String;

    const-string v2, ""

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2621
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->UDID:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-static {v2}, Lcom/ut/device/UTDevice;->getUtdid(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 2622
    sget-object v1, Lcom/alivc/rtc/AliRtcConstants;->SCREEN_RESOLUTION:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-static {v3}, Lcom/alivc/rtc/AliRtcEngineUtil;->getWindowHeight(Landroid/content/Context;)I

    move-result v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string/jumbo v3, "x"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-static {v3}, Lcom/alivc/rtc/AliRtcEngineUtil;->getWindowWidth(Landroid/content/Context;)I

    move-result v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
    :try_end_88
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_88} :catch_89

    .line 2625
    goto :goto_8d

    .line 2623
    :catch_89
    move-exception v1

    .line 2624
    .local v1, "e":Ljava/lang/Exception;
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    .line 2626
    .end local v1    # "e":Ljava/lang/Exception;
    :goto_8d
    invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method

.method private getSubscribeConfigString(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)Ljava/lang/String;
    .registers 6
    .param p1, "aliSubscribeConfig"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;

    .line 2595
    new-instance v0, Ljava/lang/StringBuffer;

    invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V

    .line 2596
    .local v0, "stringBuffer":Ljava/lang/StringBuffer;
    if-eqz p1, :cond_2d

    .line 2597
    iget-object v1, p1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->stream_label:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 2598
    iget-object v2, p1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    if-eqz v2, :cond_28

    .line 2599
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_16
    iget-object v3, p1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    array-length v3, v3

    if-ge v2, v3, :cond_28

    .line 2600
    iget-object v3, p1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    aget-object v3, v3, v2

    invoke-virtual {v0, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 2599
    add-int/lit8 v2, v2, 0x1

    goto :goto_16

    .line 2603
    .end local v2    # "i":I
    :cond_28
    iget-object v1, p1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->audio_track_label:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 2605
    :cond_2d
    invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method

.method private initProcessCpuTracker()V
    .registers 3

    .line 252
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mProcessCpuTracker:Lcom/alivc/rtc/ProcessCpuTracker;

    if-nez v0, :cond_b

    .line 253
    new-instance v0, Lcom/alivc/rtc/ProcessCpuTracker;

    invoke-direct {v0}, Lcom/alivc/rtc/ProcessCpuTracker;-><init>()V

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mProcessCpuTracker:Lcom/alivc/rtc/ProcessCpuTracker;

    .line 255
    :cond_b
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mProcessCpuTracker:Lcom/alivc/rtc/ProcessCpuTracker;

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/alivc/rtc/ProcessCpuTracker;->updateCpuUsages(Landroid/content/Context;)V

    .line 256
    return-void
.end method

.method private leaveChannel(J)V
    .registers 9
    .param p1, "timeout"    # J

    .line 445
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mLock:Ljava/lang/Object;

    monitor-enter v0

    .line 446
    const/4 v1, -0x1

    .line 448
    .local v1, "ret":I
    const/4 v2, 0x1

    :try_start_5
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v3, :cond_40

    .line 449
    iget-boolean v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    if-nez v3, :cond_31

    .line 450
    const-string v3, "AliRTCEngine"

    const-string v4, "leaveChannel double call, return it !"

    invoke-static {v3, v4}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_14
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_14} :catch_60
    .catchall {:try_start_5 .. :try_end_14} :catchall_5e

    .line 461
    :try_start_14
    iput-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 463
    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v2

    .line 465
    .local v2, "cameraType":I
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v3

    .line 469
    .local v3, "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    new-instance v4, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v4}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 471
    invoke-virtual {v4, v2}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 473
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4, v3}, Lcom/alivc/rtc/AliRtcConfig;->setLocalVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 476
    .end local v2    # "cameraType":I
    .end local v3    # "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    monitor-exit v0
    :try_end_30
    .catchall {:try_start_14 .. :try_end_30} :catchall_5c

    .line 451
    return-void

    .line 453
    :cond_31
    const/4 v3, 0x0

    :try_start_32
    iput-boolean v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 454
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v3, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->leaveChannel(J)I

    move-result v3

    move v1, v3

    .line 455
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mLock:Ljava/lang/Object;

    invoke-virtual {v3, p1, p2}, Ljava/lang/Object;->wait(J)V
    :try_end_40
    .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_40} :catch_60
    .catchall {:try_start_32 .. :try_end_40} :catchall_5e

    .line 461
    :cond_40
    :try_start_40
    iput-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 463
    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v2

    .line 465
    .restart local v2    # "cameraType":I
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v3

    .line 469
    .restart local v3    # "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    new-instance v4, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v4}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 471
    invoke-virtual {v4, v2}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 473
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    :goto_58
    invoke-virtual {v4, v3}, Lcom/alivc/rtc/AliRtcConfig;->setLocalVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V
    :try_end_5b
    .catchall {:try_start_40 .. :try_end_5b} :catchall_5c

    .line 476
    .end local v2    # "cameraType":I
    .end local v3    # "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    goto :goto_7d

    .line 478
    .end local v1    # "ret":I
    :catchall_5c
    move-exception v1

    goto :goto_9c

    .line 461
    .restart local v1    # "ret":I
    :catchall_5e
    move-exception v3

    goto :goto_7f

    .line 458
    :catch_60
    move-exception v3

    .line 459
    .local v3, "e":Ljava/lang/Exception;
    :try_start_61
    invoke-virtual {v3}, Ljava/lang/Exception;->printStackTrace()V
    :try_end_64
    .catchall {:try_start_61 .. :try_end_64} :catchall_5e

    .line 461
    .end local v3    # "e":Ljava/lang/Exception;
    :try_start_64
    iput-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 463
    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v2

    .line 465
    .restart local v2    # "cameraType":I
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v3

    .line 469
    .local v3, "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    new-instance v4, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v4}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 471
    invoke-virtual {v4, v2}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 473
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    goto :goto_58

    .line 478
    .end local v1    # "ret":I
    .end local v2    # "cameraType":I
    .end local v3    # "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    :goto_7d
    monitor-exit v0

    .line 479
    return-void

    .line 461
    .restart local v1    # "ret":I
    :goto_7f
    iput-boolean v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mApiPass:Z

    .line 463
    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v2

    .line 465
    .restart local v2    # "cameraType":I
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v4

    .line 469
    .local v4, "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    new-instance v5, Lcom/alivc/rtc/AliRtcConfig;

    invoke-direct {v5}, Lcom/alivc/rtc/AliRtcConfig;-><init>()V

    iput-object v5, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 471
    invoke-virtual {v5, v2}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 473
    iget-object v5, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v5, v4}, Lcom/alivc/rtc/AliRtcConfig;->setLocalVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 476
    .end local v2    # "cameraType":I
    .end local v4    # "canvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    nop

    .end local p1    # "timeout":J
    throw v3

    .line 478
    .end local v1    # "ret":I
    .restart local p1    # "timeout":J
    :goto_9c
    monitor-exit v0
    :try_end_9d
    .catchall {:try_start_64 .. :try_end_9d} :catchall_5c

    goto :goto_9f

    :goto_9e
    throw v1

    :goto_9f
    goto :goto_9e
.end method

.method private removeLocalDisplayWindow()V
    .registers 4

    .line 2534
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    if-eqz v0, :cond_41

    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 2535
    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v0

    iget-object v0, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v0, :cond_1f

    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v0

    iget v0, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-gtz v0, :cond_1f

    goto :goto_41

    .line 2539
    :cond_1f
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_40

    .line 2540
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]addLocalDisplayWindow: VideSource_Type:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v0, v2}, 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-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2541
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    sget-object v1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v0, v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->removeLocalDisplayWindow(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 2543
    :cond_40
    return-void

    .line 2536
    :cond_41
    :goto_41
    const-string v0, "removeLocalDisplayWindow: canvas is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2537
    return-void
.end method

.method private removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
    .registers 4
    .param p1, "callId"    # Ljava/lang/String;
    .param p2, "videoSourceType"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    .line 2492
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_7

    .line 2493
    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 2495
    :cond_7
    return-void
.end method

.method private removeRemoteNullTracksDisplayWindow(Ljava/lang/String;[Ljava/lang/String;)V
    .registers 5
    .param p1, "callId"    # Ljava/lang/String;
    .param p2, "videoTracks"    # [Ljava/lang/String;

    .line 2479
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_3a

    if-eqz p2, :cond_3a

    .line 2481
    invoke-static {p2}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    .line 2482
    .local v0, "allTracksStr":Ljava/lang/String;
    const-string/jumbo v1, "sophon_video_camera_large"

    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_2c

    const-string/jumbo v1, "sophon_video_camera_small"

    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_2c

    const-string/jumbo v1, "sophon_video_camera_super"

    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_2c

    .line 2483
    sget-object v1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-direct {p0, p1, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 2485
    :cond_2c
    const-string/jumbo v1, "sophon_video_screen_share"

    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_3a

    .line 2486
    sget-object v1, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_ScreenShare:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-direct {p0, p1, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 2489
    .end local v0    # "allTracksStr":Ljava/lang/String;
    :cond_3a
    return-void
.end method

.method private startCapture()I
    .registers 6

    .line 578
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v1, -0x1

    const-string v2, "AliRTCEngine"

    if-nez v0, :cond_e

    .line 579
    const-string/jumbo v0, "startCapture: SDK is null"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 580
    return v1

    .line 583
    :cond_e
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    if-eqz v0, :cond_1d

    .line 584
    const-string/jumbo v0, "startCapture: audio only mode"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 585
    return v1

    .line 588
    :cond_1d
    new-instance v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;

    invoke-direct {v0}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;-><init>()V

    .line 589
    .local v0, "config":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCameraType()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->video_source:I

    .line 590
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isCamAutoFocus()Z

    move-result v1

    iput-boolean v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->autoFocus:Z

    .line 591
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isCamFlash()Z

    move-result v1

    iput-boolean v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->flash:Z

    .line 592
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getSharedContext()J

    move-result-wide v3

    iput-wide v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->sharedContext:J

    .line 593
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    iput-object v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->context:Landroid/content/Context;

    .line 595
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v1

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->getWidth()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferWidth:I

    .line 596
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v1

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->getHeight()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferHeight:I

    .line 597
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v1

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->getFPS()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferFps:I

    .line 604
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    const/4 v3, 0x1

    invoke-virtual {v1, v3}, Lcom/alivc/rtc/AliRtcConfig;->setCameraOn(Z)V

    .line 605
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "openCamera,config.video_source:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->video_source:I

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, "config.autoFocus:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-boolean v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->autoFocus:Z

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v3, "config.flash:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-boolean v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->flash:Z

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v3, "config.sharedContext:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-wide v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->sharedContext:J

    invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    const-string v3, "config.context:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->context:Landroid/content/Context;

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v3, "config.preferWidth:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferWidth:I

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, "config.preferHeight:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferHeight:I

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, "config.preferFps:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;->preferFps:I

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 607
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1, v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->openCamera(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;)V

    .line 608
    const/4 v1, 0x0

    return v1
.end method

.method private stopCapture()I
    .registers 4

    .line 612
    const-string v0, "AliRTCEngine"

    const-string/jumbo v1, "stopCapture"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 613
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v2, -0x1

    if-nez v1, :cond_14

    .line 614
    const-string/jumbo v1, "stopCapture: SDK is null"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 615
    return v2

    .line 618
    :cond_14
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v1

    if-eqz v1, :cond_23

    .line 619
    const-string/jumbo v1, "stopCapture: audio only mode"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 620
    return v2

    .line 623
    :cond_23
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/alivc/rtc/AliRtcConfig;->setCameraOn(Z)V

    .line 624
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->closeCamera()V

    .line 625
    return v1
.end method

.method private static swapTrack(I)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;
    .registers 5
    .param p0, "track"    # I

    .line 3072
    const/4 v0, 0x0

    .line 3073
    .local v0, "aliRtcVideoTrack":Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;
    if-eqz p0, :cond_2c

    const/4 v1, 0x1

    if-eq p0, v1, :cond_29

    const/4 v1, 0x2

    if-eq p0, v1, :cond_26

    const/4 v1, 0x4

    if-ne p0, v1, :cond_f

    .line 3084
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 3085
    goto :goto_2f

    .line 3087
    :cond_f
    new-instance v1, Ljava/lang/IllegalStateException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Unexpected value: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 3081
    :cond_26
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackScreen:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 3082
    goto :goto_2f

    .line 3078
    :cond_29
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 3079
    goto :goto_2f

    .line 3075
    :cond_2c
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackNo:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 3076
    nop

    .line 3089
    :goto_2f
    return-object v0
.end method

.method private updateDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V
    .registers 6
    .param p1, "videoCanvas"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    .line 2546
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_88

    .line 2547
    new-instance v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;

    invoke-direct {v0}, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;-><init>()V

    .line 2548
    .local v0, "aliRendererConfig":Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->renderMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;->ordinal()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayMode:I

    .line 2550
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    const-string v2, "AliRTCEngine"

    if-lez v1, :cond_42

    .line 2551
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureId:I

    .line 2552
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureWidth:I

    .line 2553
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureHeight:I

    .line 2554
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->width:I

    .line 2555
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->height:I

    .line 2557
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v3, "updateDisplayWindow videoCanvas.textureId"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2559
    :cond_42
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-eqz v1, :cond_61

    .line 2560
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    iput-object v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayView:Landroid/view/SurfaceView;

    .line 2561
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    invoke-virtual {v1}, Lorg/webrtc/sdk/SophonSurfaceView;->getWidth()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->width:I

    .line 2562
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    invoke-virtual {v1}, Lorg/webrtc/sdk/SophonSurfaceView;->getHeight()I

    move-result v1

    iput v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->height:I

    .line 2563
    const-string/jumbo v1, "updateDisplayWindow view != null"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_67

    .line 2565
    :cond_61
    const-string/jumbo v1, "updateDisplayWindow view == null"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2568
    :goto_67
    iget-boolean v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    iput-boolean v1, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->flip:Z

    .line 2569
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][Callback]addLocalDisplayWindow: config:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2570
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1, v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->updateDisplayWindow(Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V

    .line 2572
    .end local v0    # "aliRendererConfig":Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;
    :cond_88
    return-void
.end method


# virtual methods
.method public RegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioObserver;)V
    .registers 5
    .param p1, "type"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;
    .param p2, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioObserver;

    .line 1396
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_2f

    .line 1397
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]RegisterAudioObserver:AliAudioType:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v1, "&&observer:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p2, :cond_1d

    invoke-virtual {p2}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_1e

    :cond_1d
    const/4 v1, 0x0

    :goto_1e
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1398
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioObserver;)V

    .line 1400
    :cond_2f
    return-void
.end method

.method public RegisterPreprocessVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliDetectObserver;)V
    .registers 4
    .param p1, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliDetectObserver;

    .line 1445
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]RegisterPreprocessVideoObserver:observer: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p1, :cond_11

    invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_12

    :cond_11
    const/4 v1, 0x0

    :goto_12
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1446
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_25

    .line 1447
    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterPreprocessVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliDetectObserver;)V

    .line 1449
    :cond_25
    const-string v0, "[API][End]RegisterPreprocessVideoObserver"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1450
    return-void
.end method

.method public RegisterRGBAObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;)V
    .registers 6
    .param p1, "userId"    # Ljava/lang/String;
    .param p2, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;

    .line 1560
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_5b

    .line 1561
    move-object v0, p1

    .line 1562
    .local v0, "callId":Ljava/lang/String;
    if-eqz p1, :cond_2b

    const-string v1, ""

    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_2b

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_2b

    .line 1563
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/alivc/rtc/RemoteParticipant;

    invoke-virtual {v1}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v0

    .line 1565
    :cond_2b
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]RegisterRGBAObserver: userId:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, "&&observer: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p2, :cond_44

    invoke-virtual {p2}, Ljava/lang/Object;->hashCode()I

    move-result v2

    goto :goto_45

    :cond_44
    const/4 v2, 0x0

    :goto_45
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1566
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    new-instance v2, Lcom/alivc/rtc/AliRtcEngineImpl$5;

    invoke-direct {v2, p0, p2}, Lcom/alivc/rtc/AliRtcEngineImpl$5;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;)V

    invoke-virtual {v1, v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterRGBAObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;)V

    .line 1577
    .end local v0    # "callId":Ljava/lang/String;
    :cond_5b
    return-void
.end method

.method public RegisterTexturePostObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
    .registers 6
    .param p1, "userId"    # Ljava/lang/String;
    .param p2, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;

    .line 1512
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_5b

    .line 1513
    move-object v0, p1

    .line 1514
    .local v0, "callId":Ljava/lang/String;
    if-eqz p1, :cond_2b

    const-string v1, ""

    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_2b

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_2b

    .line 1515
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/alivc/rtc/RemoteParticipant;

    invoke-virtual {v1}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v0

    .line 1517
    :cond_2b
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]RegisterTexturePostObserver: userId:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, "&&observer: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p2, :cond_44

    invoke-virtual {p2}, Ljava/lang/Object;->hashCode()I

    move-result v2

    goto :goto_45

    :cond_44
    const/4 v2, 0x0

    :goto_45
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1518
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    new-instance v2, Lcom/alivc/rtc/AliRtcEngineImpl$4;

    invoke-direct {v2, p0, p2}, Lcom/alivc/rtc/AliRtcEngineImpl$4;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V

    invoke-virtual {v1, v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterTexturePostObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V

    .line 1548
    .end local v0    # "callId":Ljava/lang/String;
    :cond_5b
    return-void
.end method

.method public RegisterTexturePreObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
    .registers 6
    .param p1, "userId"    # Ljava/lang/String;
    .param p2, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;

    .line 1464
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_5b

    .line 1465
    move-object v0, p1

    .line 1466
    .local v0, "callId":Ljava/lang/String;
    if-eqz p1, :cond_2b

    const-string v1, ""

    invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_2b

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_2b

    .line 1467
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/alivc/rtc/RemoteParticipant;

    invoke-virtual {v1}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v0

    .line 1469
    :cond_2b
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]RegisterTexturePreObserver:userId:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, "&&observer: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p2, :cond_44

    invoke-virtual {p2}, Ljava/lang/Object;->hashCode()I

    move-result v2

    goto :goto_45

    :cond_44
    const/4 v2, 0x0

    :goto_45
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1470
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    new-instance v2, Lcom/alivc/rtc/AliRtcEngineImpl$3;

    invoke-direct {v2, p0, p2}, Lcom/alivc/rtc/AliRtcEngineImpl$3;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V

    invoke-virtual {v1, v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterTexturePreObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V

    .line 1500
    .end local v0    # "callId":Ljava/lang/String;
    :cond_5b
    return-void
.end method

.method public RegisterVideoSampleObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V
    .registers 4
    .param p1, "observer"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;

    .line 1413
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_2c

    .line 1414
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]RegisterVideoSampleObserver:&&observer"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p1, :cond_15

    invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_16

    :cond_15
    const/4 v1, 0x0

    :goto_16
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1416
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    new-instance v1, Lcom/alivc/rtc/AliRtcEngineImpl$2;

    invoke-direct {v1, p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl$2;-><init>(Lcom/alivc/rtc/AliRtcEngineImpl;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V

    invoke-virtual {v0, v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->RegisterVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V

    .line 1431
    :cond_2c
    return-void
.end method

.method public UnRegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;)V
    .registers 4
    .param p1, "type"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;

    .line 1404
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_1f

    .line 1405
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]UnRegisterAudioObserver:AliAudioType:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1406
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;)V

    .line 1408
    :cond_1f
    return-void
.end method

.method public UnRegisterPreprocessVideoObserver()V
    .registers 3

    .line 1454
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_15

    .line 1455
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]UnRegisterPreprocessVideoObserver"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1456
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterPreprocessVideoObserver()V

    .line 1457
    const-string v1, "[API][End]UnRegisterPreprocessVideoObserver"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1459
    :cond_15
    return-void
.end method

.method public UnRegisterRGBAObserver(Ljava/lang/String;)V
    .registers 5
    .param p1, "callId"    # Ljava/lang/String;

    .line 1581
    const-string v0, "AliRTCEngine"

    const-string v1, "UnRegisterRGBAObserver observer: "

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1582
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_24

    .line 1583
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]UnRegisterRGBAObserver: callId:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1584
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterRGBAObserver(Ljava/lang/String;)V

    .line 1586
    :cond_24
    return-void
.end method

.method public UnRegisterTexturePostObserver(Ljava/lang/String;)V
    .registers 4
    .param p1, "callId"    # Ljava/lang/String;

    .line 1552
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_1f

    .line 1553
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]UnRegisterTexturePostObserver: callId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1554
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterTexturePostObserver(Ljava/lang/String;)V

    .line 1556
    :cond_1f
    return-void
.end method

.method public UnRegisterTexturePreObserver(Ljava/lang/String;)V
    .registers 4
    .param p1, "callId"    # Ljava/lang/String;

    .line 1504
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_1f

    .line 1505
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "UnRegisterTexturePreObserver: callID:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1506
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterTexturePreObserver(Ljava/lang/String;)V

    .line 1508
    :cond_1f
    return-void
.end method

.method public UnRegisterVideoSampleObserver()V
    .registers 3

    .line 1436
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_10

    .line 1438
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]UnRegisterVideoSampleObserver"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1439
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnRegisterVideoObserver()V

    .line 1441
    :cond_10
    return-void
.end method

.method public addLocalDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V
    .registers 7
    .param p1, "videoCanvas"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    .line 2498
    iget v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    const-string v1, "AliRTCEngine"

    if-gtz v0, :cond_10

    iget-object v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v0, :cond_10

    .line 2499
    const-string v0, "addLocalDisplayWindow: canvas is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2500
    return-void

    .line 2503
    :cond_10
    new-instance v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;

    invoke-direct {v0}, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;-><init>()V

    .line 2504
    .local v0, "config":Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;
    iget v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-lez v2, :cond_68

    .line 2505
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "addLocalDisplayWindow: videoCanvas.textureId != 0 videoCanvas.textureId is = "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string/jumbo v3, "videoCanvas.textureWidth:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string/jumbo v3, "videoCanvas.textureHeight"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2506
    iget v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureId:I

    .line 2507
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "addLocalDisplayWindow1: config.textureId is = "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureId:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2508
    iget v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureWidth:I

    .line 2509
    iget v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->textureHeight:I

    goto :goto_b6

    .line 2513
    :cond_68
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    iget-object v2, v2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-eqz v2, :cond_b6

    .line 2514
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    iget-object v2, v2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayView:Landroid/view/SurfaceView;

    .line 2515
    iget-object v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayView:Landroid/view/SurfaceView;

    invoke-virtual {v2}, Landroid/view/SurfaceView;->getWidth()I

    move-result v2

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->width:I

    .line 2516
    iget-object v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayView:Landroid/view/SurfaceView;

    invoke-virtual {v2}, Landroid/view/SurfaceView;->getHeight()I

    move-result v2

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->height:I

    .line 2517
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "addLocalDisplayWindow: textureId is = "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, " ,w:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->width:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, " ,h:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->height:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2521
    :cond_b6
    :goto_b6
    iget-object v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->renderMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;->ordinal()I

    move-result v2

    iput v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->displayMode:I

    .line 2523
    iget-object v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v3

    const/4 v4, 0x0

    invoke-direct {p0, v2, v3, v4}, Lcom/alivc/rtc/AliRtcEngineImpl;->getIsFlip(Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;IZ)Z

    move-result v2

    iput-boolean v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    .line 2524
    iget-boolean v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    iput-boolean v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->flip:Z

    .line 2525
    iget-wide v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->sharedContext:J

    iput-wide v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->sharedContext:J

    .line 2526
    iget-boolean v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->enableBeauty:Z

    iput-boolean v2, v0, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->enableBeauty:Z

    .line 2527
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v2, :cond_104

    .line 2528
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API]addLocalDisplayWindow: VideSource_Type:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v3, "&&config:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2529
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    sget-object v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v1, v2, v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->addLocalDisplayWindow(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V

    .line 2531
    :cond_104
    return-void
.end method

.method public configLocalAudioPublish(Z)V
    .registers 4
    .param p1, "enable"    # Z

    .line 955
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configLocalAudioPublish:enable:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 956
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setPublishAudio(Z)V

    .line 957
    const-string v0, "[API][End]configLocalAudioPublish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 958
    return-void
.end method

.method public configLocalCameraPublish(Z)V
    .registers 4
    .param p1, "enable"    # Z

    .line 926
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configLocalCameraPublish:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 927
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setPublishCameraTrack(Z)V

    .line 928
    const-string v0, "[API][End]configLocalCameraPublish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 929
    return-void
.end method

.method public configLocalScreenPublish(Z)V
    .registers 4
    .param p1, "enable"    # Z

    .line 940
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configLocalScreenPublish:enable:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 941
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setPublishScreenTrack(Z)V

    .line 942
    const-string v0, "[API][End]configLocalScreenPublish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 943
    return-void
.end method

.method public configLocalSimulcast(ZLcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
    .registers 7
    .param p1, "enable"    # Z
    .param p2, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 969
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configLocalSimulcast: enable:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&videoTrack: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 971
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-eq p2, v0, :cond_2d

    .line 972
    const-string v0, "configLocalSimulcast: error videoTrack"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 973
    const/4 v0, -0x1

    return v0

    .line 975
    :cond_2d
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setDualStream(Z)V

    .line 976
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]configLocalSimulcast: enable:"

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, ":0"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 977
    const/4 v0, 0x0

    return v0
.end method

.method public configRemoteAudio(Ljava/lang/String;Z)V
    .registers 6
    .param p1, "uid"    # Ljava/lang/String;
    .param p2, "enable"    # Z

    .line 989
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configRemoteAudio:uid: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&enable: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 990
    if-nez p1, :cond_29

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->isInCall()Z

    move-result v0

    if-nez v0, :cond_29

    .line 992
    sput-boolean p2, Lcom/alivc/rtc/DefaultValueConstant;->SUB_AUDIO:Z

    .line 993
    return-void

    .line 995
    :cond_29
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_35

    .line 996
    const-string v0, "configRemoteAudio: uid is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 997
    return-void

    .line 1000
    :cond_35
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 1001
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-eqz v0, :cond_52

    .line 1002
    if-eqz p2, :cond_4a

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getAudioTrackLabel()Ljava/lang/String;

    move-result-object v2

    goto :goto_4c

    :cond_4a
    const-string v2, ""

    :goto_4c
    invoke-virtual {v0, v2}, Lcom/alivc/rtc/RemoteParticipant;->setAudioSubscribed(Ljava/lang/String;)V

    .line 1004
    invoke-virtual {v0, p2}, Lcom/alivc/rtc/RemoteParticipant;->setUcAudeoSubed(Z)V

    .line 1006
    :cond_52
    const-string v2, "[API][End]configRemoteAudio"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1007
    return-void
.end method

.method public configRemoteCameraTrack(Ljava/lang/String;ZZ)V
    .registers 13
    .param p1, "uid"    # Ljava/lang/String;
    .param p2, "master"    # Z
    .param p3, "enable"    # Z

    .line 1011
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configRemoteCameraTrack uid: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&master: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&enable: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 1012
    if-nez p1, :cond_33

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->isInCall()Z

    move-result v0

    if-nez v0, :cond_33

    .line 1014
    sput-boolean p2, Lcom/alivc/rtc/DefaultValueConstant;->SUB_CAMERA_MASTER:Z

    .line 1015
    sput-boolean p3, Lcom/alivc/rtc/DefaultValueConstant;->SUB_CAMERA:Z

    .line 1016
    return-void

    .line 1018
    :cond_33
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 1019
    const-string v0, "configRemoteCameraTrack: uid is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1020
    return-void

    .line 1023
    :cond_3f
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 1024
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-eqz v0, :cond_9f

    .line 1025
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getVideoTrackLabels()[Ljava/lang/String;

    move-result-object v2

    .line 1026
    .local v2, "videoTrackLabels":[Ljava/lang/String;
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getVideoSubscribed()[Ljava/lang/String;

    move-result-object v3

    .line 1027
    .local v3, "videoSubscribed":[Ljava/lang/String;
    invoke-static {}, Lcom/alivc/rtc/DeviceConfig;->isSupportSuperStream()Z

    move-result v4

    .line 1029
    .local v4, "supportSuper":Z
    sget-object v5, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v5}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v5

    .line 1030
    .local v5, "bigIndex":I
    sget-object v6, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraSmall:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v6}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v6

    .line 1031
    .local v6, "smallIndex":I
    sget-object v7, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraSuper:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v7}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v7

    .line 1033
    .local v7, "superIndex":I
    const-string v8, ""

    aput-object v8, v3, v5

    .line 1034
    aput-object v8, v3, v6

    .line 1035
    aput-object v8, v3, v7

    .line 1036
    if-eqz p3, :cond_94

    .line 1037
    if-eqz p2, :cond_90

    .line 1038
    if-eqz v4, :cond_8b

    .line 1040
    aget-object v8, v2, v7

    invoke-static {v8}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v8

    if-nez v8, :cond_86

    .line 1041
    aget-object v8, v2, v7

    aput-object v8, v3, v7

    goto :goto_94

    .line 1043
    :cond_86
    aget-object v8, v2, v5

    aput-object v8, v3, v5

    goto :goto_94

    .line 1047
    :cond_8b
    aget-object v8, v2, v5

    aput-object v8, v3, v5

    goto :goto_94

    .line 1050
    :cond_90
    aget-object v8, v2, v6

    aput-object v8, v3, v6

    .line 1054
    :cond_94
    :goto_94
    invoke-virtual {v0, p3}, Lcom/alivc/rtc/RemoteParticipant;->setUcVideoSubed(Z)V

    .line 1055
    invoke-virtual {v0, p2}, Lcom/alivc/rtc/RemoteParticipant;->setUcVideoSubedMaster(Z)V

    .line 1056
    const-string v8, "[API][End]configRemoteCameraTrack"

    invoke-static {v1, v8}, Lorg/webrtc/utils/AlivcLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 1058
    .end local v2    # "videoTrackLabels":[Ljava/lang/String;
    .end local v3    # "videoSubscribed":[Ljava/lang/String;
    .end local v4    # "supportSuper":Z
    .end local v5    # "bigIndex":I
    .end local v6    # "smallIndex":I
    .end local v7    # "superIndex":I
    :cond_9f
    return-void
.end method

.method public configRemoteScreenTrack(Ljava/lang/String;Z)V
    .registers 9
    .param p1, "uid"    # Ljava/lang/String;
    .param p2, "enable"    # Z

    .line 1062
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]configRemoteScreenTrack uid: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&enable: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1063
    if-nez p1, :cond_29

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->isInCall()Z

    move-result v0

    if-nez v0, :cond_29

    .line 1065
    sput-boolean p2, Lcom/alivc/rtc/DefaultValueConstant;->SUB_SCREEN:Z

    .line 1066
    return-void

    .line 1068
    :cond_29
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_35

    .line 1069
    const-string v0, "configRemoteScreenTrack: uid is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1070
    return-void

    .line 1072
    :cond_35
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 1073
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-eqz v0, :cond_5d

    .line 1074
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getVideoTrackLabels()[Ljava/lang/String;

    move-result-object v2

    .line 1075
    .local v2, "videoTrackLabels":[Ljava/lang/String;
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getVideoSubscribed()[Ljava/lang/String;

    move-result-object v3

    .line 1077
    .local v3, "videoSubscribed":[Ljava/lang/String;
    sget-object v4, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_ScreenShare:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-virtual {v4}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->ordinal()I

    move-result v4

    .line 1079
    .local v4, "screenIndex":I
    if-eqz p2, :cond_56

    aget-object v5, v2, v4

    goto :goto_58

    :cond_56
    const-string v5, ""

    :goto_58
    aput-object v5, v3, v4

    .line 1081
    invoke-virtual {v0, p2}, Lcom/alivc/rtc/RemoteParticipant;->setUcScreenSubed(Z)V

    .line 1083
    .end local v2    # "videoTrackLabels":[Ljava/lang/String;
    .end local v3    # "videoSubscribed":[Ljava/lang/String;
    .end local v4    # "screenIndex":I
    :cond_5d
    const-string v2, "[API][End]configRemoteScreenTrack"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1084
    return-void
.end method

.method public destroy()V
    .registers 3

    .line 260
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]destroy"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 263
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->destroyEngine()V

    .line 264
    const-string v1, "[API][End]destroy"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 265
    return-void
.end method

.method public enableBackgroundAudioRecording(Z)V
    .registers 4
    .param p1, "enable"    # Z

    .line 1590
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_24

    .line 1591
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]enableBackgroundAudioRecording: enable:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1592
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableBackgroundAudioRecording(Z)V

    .line 1593
    const-string v0, "[API][End]enableBackgroundAudioRecording"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1595
    :cond_24
    return-void
.end method

.method public enableEarBack(Z)I
    .registers 6
    .param p1, "enable"    # Z

    .line 2979
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2980
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]EnableEarBack:enable:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2981
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->EnableEarBack(Z)I

    move-result v0

    .line 2982
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]EnableEarBack:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2983
    return v0

    .line 2986
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public enableHighDefinitionPreview(Z)I
    .registers 6
    .param p1, "enable"    # Z

    .line 493
    const/4 v0, -0x1

    .line 494
    .local v0, "ret":I
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v1, :cond_6

    .line 495
    return v0

    .line 497
    :cond_6
    invoke-virtual {v1, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableHighDefinitionPreview(Z)I

    move-result v0

    .line 498
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "enableHighDefinitionPreview:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 499
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API]enableHighDefinitionPreview:enable"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 500
    return v0
.end method

.method public enableSpeakerphone(Z)I
    .registers 4
    .param p1, "enable"    # Z

    .line 1157
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]enableSpeakerphone:enable: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1158
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_21

    .line 1159
    const-string v0, "[API][Result]enableSpeakerphone: SDK is null: -1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1160
    const/4 v0, -0x1

    return v0

    .line 1162
    :cond_21
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setSpeakerOn(Z)V

    .line 1163
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->selectSpeakePhone(Z)V

    .line 1164
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setSpeakerStatus(Z)V

    .line 1165
    const-string v0, "[API][End][Result]enableSpeakerphone:enable: 0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1166
    const/4 v0, 0x0

    return v0
.end method

.method public generateTexture()I
    .registers 5

    .line 3022
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v1, -0x1

    if-eqz v0, :cond_30

    .line 3023
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    const-string v2, "AliRTCEngine"

    if-eqz v0, :cond_15

    .line 3024
    const-string v0, "[API][Result]generateTexture: audio only mode error:-1"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3025
    return v1

    .line 3028
    :cond_15
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->generateTexture()I

    move-result v0

    .line 3029
    .local v0, "ret":I
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "generateTexture = "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3030
    return v0

    .line 3032
    .end local v0    # "ret":I
    :cond_30
    return v1
.end method

.method public getAudioAccompanyPlayoutVolume()I
    .registers 5

    .line 2835
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 2836
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]GetAudioAccompanyPlayoutVolume"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2837
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->GetAudioAccompanyPlayoutVolume()I

    move-result v1

    .line 2838
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]GetAudioAccompanyPlayoutVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2839
    return v1

    .line 2841
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public getAudioAccompanyPublishVolume()I
    .registers 5

    .line 2813
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 2814
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]GetAudioAccompanyPublishVolume"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2815
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->GetAudioAccompanyPublishVolume()I

    move-result v1

    .line 2816
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]GetAudioAccompanyPublishVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2817
    return v1

    .line 2819
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public getAudioEffectPlayoutVolume(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2945
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2946
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]GetAudioEffectPlayoutVolume:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2947
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->GetAudioEffectPlayoutVolume(I)I

    move-result v0

    .line 2948
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]GetAudioEffectPlayoutVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2949
    return v0

    .line 2951
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public getAudioEffectPublishVolume(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2923
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2924
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]GetAudioEffectPublishVolume:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2925
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->GetAudioEffectPublishVolume(I)I

    move-result v0

    .line 2926
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]GetAudioEffectPublishVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2927
    return v0

    .line 2929
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public getCameraZoom()F
    .registers 5

    .line 1250
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]getCameraZoom"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1251
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCamZoom()F

    move-result v1

    .line 1252
    .local v1, "camZoom":F
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]getCameraZoom:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 1253
    return v1
.end method

.method public getCurrentCameraType()Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;
    .registers 5

    .line 1204
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_30

    .line 1205
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]getCurrentCameraType"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1206
    invoke-static {}, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->values()[Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    move-result-object v1

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->getCaptureType()Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCaptureType;

    move-result-object v2

    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCaptureType;->ordinal()I

    move-result v2

    aget-object v1, v1, v2

    .line 1207
    .local v1, "aliRTCCameraType":Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]getCurrentCameraType:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1208
    return-object v1

    .line 1210
    .end local v1    # "aliRTCCameraType":Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;
    :cond_30
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->AliRTCCameraInvalid:Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    return-object v0
.end method

.method public getDeviceOrientation()I
    .registers 3

    .line 331
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAlbumOrientationEventListener:Lcom/alivc/rtc/AlbumOrientationEventListener;

    if-eqz v0, :cond_9

    .line 332
    invoke-virtual {v0}, Lcom/alivc/rtc/AlbumOrientationEventListener;->getOrientation()I

    move-result v0

    return v0

    .line 334
    :cond_9
    const-string v0, "AliRTCEngine"

    const-string v1, "mAlbumOrientationEventListener is null"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 335
    const/4 v0, 0x0

    return v0
.end method

.method public getMediaInfoWithUserId(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;[Ljava/lang/String;)Ljava/lang/String;
    .registers 11
    .param p1, "userId"    # Ljava/lang/String;
    .param p2, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;
    .param p3, "keys"    # [Ljava/lang/String;

    .line 2640
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]getMediaInfoWithUserId: &&userCallId"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&traceId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&keys:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-static {p3}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2641
    const/4 v0, 0x0

    .line 2642
    .local v0, "ret":Ljava/lang/String;
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v2, :cond_82

    .line 2643
    const/4 v2, 0x0

    .line 2644
    .local v2, "userCallId":Ljava/lang/String;
    const/4 v3, 0x0

    .line 2646
    .local v3, "user":Lcom/alivc/rtc/RemoteParticipant;
    if-eqz p1, :cond_44

    .line 2647
    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v4

    invoke-interface {v4, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    move-object v3, v4

    check-cast v3, Lcom/alivc/rtc/RemoteParticipant;

    .line 2649
    :cond_44
    if-eqz v3, :cond_4b

    invoke-virtual {v3}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v4

    goto :goto_4d

    :cond_4b
    const-string v4, ""

    :goto_4d
    move-object v2, v4

    .line 2651
    invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v4

    if-eqz v4, :cond_55

    .line 2652
    const/4 p2, 0x0

    .line 2654
    :cond_55
    const-string v4, ""

    .line 2655
    .local v4, "trackId":Ljava/lang/String;
    if-eqz p2, :cond_7c

    .line 2656
    sget-object v5, Lcom/alivc/rtc/AliRtcEngineImpl$7;->$SwitchMap$com$alivc$rtc$AliRtcEngine$AliRtcVideoTrack:[I

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->ordinal()I

    move-result v6

    aget v5, v5, v6

    const/4 v6, 0x1

    if-eq v5, v6, :cond_6f

    const/4 v6, 0x2

    if-eq v5, v6, :cond_6b

    const/4 v6, 0x3

    if-eq v5, v6, :cond_6b

    goto :goto_7c

    .line 2666
    :cond_6b
    const-string/jumbo v4, "sophon_video_screen_share"

    .line 2667
    goto :goto_7c

    .line 2658
    :cond_6f
    invoke-static {}, Lcom/alivc/rtc/DeviceConfig;->isSupportSuperStream()Z

    move-result v5

    if-eqz v5, :cond_79

    .line 2659
    const-string/jumbo v4, "sophon_video_camera_super"

    goto :goto_7c

    .line 2661
    :cond_79
    const-string/jumbo v4, "sophon_video_camera_large"

    .line 2673
    :cond_7c
    :goto_7c
    iget-object v5, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v5, v2, v4, p3}, Lorg/webrtc/alirtcInterface/SophonEngine;->getMediaInfo(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 2675
    .end local v2    # "userCallId":Ljava/lang/String;
    .end local v3    # "user":Lcom/alivc/rtc/RemoteParticipant;
    .end local v4    # "trackId":Ljava/lang/String;
    :cond_82
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]getMediaInfoWithUserId:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2676
    return-object v0
.end method

.method public getOnlineRemoteUsers()[Ljava/lang/String;
    .registers 6

    .line 1089
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 1090
    .local v0, "arrayList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v1

    invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v1

    invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v1

    .line 1091
    .local v1, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Lcom/alivc/rtc/RemoteParticipant;>;>;"
    :goto_13
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_33

    .line 1092
    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/util/Map$Entry;

    .line 1093
    .local v2, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lcom/alivc/rtc/RemoteParticipant;>;"
    invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/alivc/rtc/RemoteParticipant;

    invoke-virtual {v3}, Lcom/alivc/rtc/RemoteParticipant;->isOnline()Z

    move-result v3

    if-eqz v3, :cond_32

    .line 1094
    invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v3

    invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 1096
    .end local v2    # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lcom/alivc/rtc/RemoteParticipant;>;"
    :cond_32
    goto :goto_13

    .line 1097
    :cond_33
    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result v2

    new-array v2, v2, [Ljava/lang/String;

    .line 1098
    .local v2, "remoteUsers":[Ljava/lang/String;
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "[API][End]getOnlineRemoteUsers: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v4, "AliRTCEngine"

    invoke-static {v4, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1099
    invoke-virtual {v0, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v3

    check-cast v3, [Ljava/lang/String;

    return-object v3
.end method

.method public getPreCameraType()I
    .registers 5

    .line 1222
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]getPreCameraType"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1223
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getCameraType()I

    move-result v1

    .line 1224
    .local v1, "camereType":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]getPreCameraType:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1225
    return v1
.end method

.method public getSdkVersion()Ljava/lang/String;
    .registers 3

    .line 340
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]getSdkVersion"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 341
    sget-object v1, Lcom/alivc/rtc/AliRtcEngineImpl;->VERSION:Ljava/lang/String;

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_19

    .line 342
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_19

    .line 343
    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->getSDKVersion()Ljava/lang/String;

    move-result-object v1

    sput-object v1, Lcom/alivc/rtc/AliRtcEngineImpl;->VERSION:Ljava/lang/String;

    .line 346
    :cond_19
    const-string v1, "[API][End][Result]getSdkVersion"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 347
    sget-object v0, Lcom/alivc/rtc/AliRtcEngineImpl;->VERSION:Ljava/lang/String;

    return-object v0
.end method

.method public getUsbDeviceEvent()Lcom/alivc/rtc/AliRtcUsbDeviceEvent;
    .registers 3

    .line 187
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]getUsbDeviceEvent"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 188
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    return-object v0
.end method

.method public getUserInfo(Ljava/lang/String;)Lcom/alivc/rtc/AliRtcRemoteUserInfo;
    .registers 8
    .param p1, "uid"    # Ljava/lang/String;

    .line 1104
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]getUserInfo:uid:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1105
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 1106
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    const/4 v2, 0x0

    .line 1107
    .local v2, "userInfo":Lcom/alivc/rtc/AliRtcRemoteUserInfo;
    if-eqz v0, :cond_f4

    .line 1108
    new-instance v3, Lcom/alivc/rtc/AliRtcRemoteUserInfo;

    invoke-direct {v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;-><init>()V

    move-object v2, v3

    .line 1110
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getUserID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setUserID(Ljava/lang/String;)V

    .line 1111
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setCallID(Ljava/lang/String;)V

    .line 1112
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getSessionID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setSessionID(Ljava/lang/String;)V

    .line 1113
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getDisplayName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setDisplayName(Ljava/lang/String;)V

    .line 1114
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getStreamLabel()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setStreamLabel(Ljava/lang/String;)V

    .line 1116
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isFirstSubscribe()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setFirstSubscribe(Z)V

    .line 1117
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isOnline()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setOnline(Z)V

    .line 1118
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isMuteAudioPlaying()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setMuteAudioPlaying(Z)V

    .line 1119
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCameraCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setCameraCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 1120
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getScreenCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setScreenCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 1122
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isHasAudioStream()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setHasAudio(Z)V

    .line 1123
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isHasVideoSuperStream()Z

    move-result v3

    const/4 v4, 0x0

    const/4 v5, 0x1

    if-nez v3, :cond_89

    .line 1124
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isHasVideoLargeStream()Z

    move-result v3

    if-eqz v3, :cond_87

    goto :goto_89

    :cond_87
    const/4 v3, 0x0

    goto :goto_8a

    :cond_89
    :goto_89
    const/4 v3, 0x1

    .line 1123
    :goto_8a
    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setHasCameraMaster(Z)V

    .line 1125
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isHasVideoSmallStream()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setHasCameraSlave(Z)V

    .line 1126
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isHasScreenShareStream()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setHasScreenSharing(Z)V

    .line 1128
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isAudioSubscribed()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setSubAudio(Z)V

    .line 1129
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isSubVideoSuperStream()Z

    move-result v3

    if-nez v3, :cond_ae

    .line 1130
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isSubVideoLargeStream()Z

    move-result v3

    if-eqz v3, :cond_af

    :cond_ae
    const/4 v4, 0x1

    .line 1129
    :cond_af
    invoke-virtual {v2, v4}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setSubCameraMaster(Z)V

    .line 1131
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isVideoSubscribed()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setSubCamera(Z)V

    .line 1132
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isSubShcreenShareStream()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setSubScreenSharing(Z)V

    .line 1134
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isUcAudeoSubed()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setRequestSubAudio(Z)V

    .line 1135
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isUcVideoSubedMaster()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setRequestCameraMaster(Z)V

    .line 1136
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isUcVideoSubed()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setRequestCamera(Z)V

    .line 1137
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isUcScreenSubed()Z

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->setRequestScreenSharing(Z)V

    .line 1139
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "[API][End][Result]getUserInfo:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcRemoteUserInfo;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1141
    :cond_f4
    return-object v2
.end method

.method public getVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;
    .registers 6
    .param p1, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 743
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]getVideoProfile:VideoTrack:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 744
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v0

    .line 746
    .local v0, "ret":Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;
    sget-object v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p1, v2, :cond_21

    goto :goto_36

    .line 748
    :cond_21
    sget-object v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p1, v2, :cond_2c

    .line 749
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getCamVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v0

    goto :goto_36

    .line 750
    :cond_2c
    sget-object v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackScreen:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p1, v2, :cond_36

    .line 751
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getScreenVideoProfile()Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;

    move-result-object v0

    .line 753
    :cond_36
    :goto_36
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]getVideoProfile:VideoTrack:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v3, ":"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 754
    return-object v0
.end method

.method public isAudioOnly()Z
    .registers 4

    .line 403
    const/4 v0, 0x0

    .line 404
    .local v0, "bool":Z
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    .line 405
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isAudioOnly:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 406
    return v0
.end method

.method public isAutoPublish()Z
    .registers 4

    .line 387
    const/4 v0, 0x0

    .line 388
    .local v0, "bool":Z
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAutoPublish()Z

    move-result v0

    .line 389
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isAutoPublish:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 390
    return v0
.end method

.method public isAutoSubscribe()Z
    .registers 4

    .line 395
    const/4 v0, 0x0

    .line 396
    .local v0, "bool":Z
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAutoSubscribe()Z

    move-result v0

    .line 397
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isAutoSubscribe:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 398
    return v0
.end method

.method public isCameraAutoFocus()Z
    .registers 5

    .line 1266
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isCameraAutoFocus"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1267
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isCamAutoFocus()Z

    move-result v1

    .line 1268
    .local v1, "isCamAutoFocus":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isCameraAutoFocus:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1269
    return v1
.end method

.method public isCameraFlash()Z
    .registers 5

    .line 1258
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isCameraFlash"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1259
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isCamFlash()Z

    move-result v1

    .line 1260
    .local v1, "isCamFlash":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isCameraFlash:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1261
    return v1
.end method

.method public isCameraOn()Z
    .registers 4

    .line 660
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isCameraOn()Z

    move-result v0

    .line 661
    .local v0, "bool":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isCameraOn:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 662
    return v0
.end method

.method public isCameraSupportExposurePoint()Z
    .registers 5

    .line 1290
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    const/4 v1, 0x0

    const-string v2, "AliRTCEngine"

    if-eqz v0, :cond_11

    .line 1291
    const-string v0, "isCameraSupportExposurePoint: audio only mode"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1292
    return v1

    .line 1295
    :cond_11
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 1296
    const-string v0, "[API]isCameraSupportExposurePoint"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1297
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->isCameraSupportExposurePoint()Z

    move-result v0

    .line 1298
    .local v0, "isSupportExposurePoint":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isCameraSupportExposurePoint:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1299
    return v0

    .line 1301
    .end local v0    # "isSupportExposurePoint":Z
    :cond_35
    return v1
.end method

.method public isCameraSupportFocusPoint()Z
    .registers 5

    .line 1274
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    const/4 v1, 0x0

    const-string v2, "AliRTCEngine"

    if-eqz v0, :cond_11

    .line 1275
    const-string v0, "isCameraSupportFocusPoint: audio only mode"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1276
    return v1

    .line 1279
    :cond_11
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 1280
    const-string v0, "[API]isCameraSupportFocusPoint"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1281
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->isCameraSupportFocusPoint()Z

    move-result v0

    .line 1282
    .local v0, "isSupportFocusPoint":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isCameraSupportFocusPoint:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1283
    return v0

    .line 1285
    .end local v0    # "isSupportFocusPoint":Z
    :cond_35
    return v1
.end method

.method public isEnableBackgroundAudioRecording()Z
    .registers 5

    .line 1599
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 1600
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isEnableBackgroundAudioRecording:"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1601
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->isEnableBackgroundAudioRecording()Z

    move-result v1

    .line 1602
    .local v1, "isEnable":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isEnableBackgroundAudioRecording:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1603
    return v1

    .line 1605
    .end local v1    # "isEnable":Z
    :cond_26
    const/4 v0, 0x0

    return v0
.end method

.method public isInCall()Z
    .registers 4

    .line 483
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    if-eqz v0, :cond_1f

    .line 484
    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isInCall()Z

    move-result v0

    .line 485
    .local v0, "isIncall":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]isInCall:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 486
    return v0

    .line 488
    .end local v0    # "isIncall":Z
    :cond_1f
    const/4 v0, 0x0

    return v0
.end method

.method public isLocalAudioPublishEnabled()Z
    .registers 4

    .line 962
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isPublishAudio()Z

    move-result v0

    .line 963
    .local v0, "bool":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isLocalAudioPublishEnabled:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 964
    return v0
.end method

.method public isLocalCameraPublishEnabled()Z
    .registers 4

    .line 933
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isPublishCameraTrack()Z

    move-result v0

    .line 934
    .local v0, "bool":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isLocalCameraPublishEnabled:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 935
    return v0
.end method

.method public isLocalScreenPublishEnabled()Z
    .registers 5

    .line 947
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isLocalScreenPublishEnabled"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 948
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isPublishScreenTrack()Z

    move-result v1

    .line 949
    .local v1, "bool":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isLocalScreenPublishEnabled:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 950
    return v1
.end method

.method public isLocalSimulcastEnabled()Z
    .registers 4

    .line 982
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isDualStream()Z

    move-result v0

    .line 983
    .local v0, "bool":Z
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]isLocalSimulcastEnabled:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 984
    return v0
.end method

.method public isSpeakerOn()Z
    .registers 5

    .line 1171
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isSpeakerOn"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1172
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isSpeakerOn()Z

    move-result v1

    .line 1173
    .local v1, "bool":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isSpeakerOn:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1174
    return v1
.end method

.method public isUsbDeviceDetected()Z
    .registers 3

    .line 193
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]isUsbDeviceDetected"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 194
    iget-boolean v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mDetectedUsbDevice:Z

    return v0
.end method

.method public isUserOnline(Ljava/lang/String;)Z
    .registers 6
    .param p1, "uid"    # Ljava/lang/String;

    .line 1146
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 1147
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-eqz v0, :cond_31

    .line 1148
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isOnline()Z

    move-result v1

    .line 1149
    .local v1, "bool":Z
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]isUserOnline:uid: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, ":"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "AliRTCEngine"

    invoke-static {v3, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1150
    return v1

    .line 1152
    .end local v1    # "bool":Z
    :cond_31
    const/4 v1, 0x0

    return v1
.end method

.method public joinChannel(Lcom/alivc/rtc/AliRtcAuthInfo;Ljava/lang/String;)V
    .registers 7
    .param p1, "authInfo"    # Lcom/alivc/rtc/AliRtcAuthInfo;
    .param p2, "userName"    # Ljava/lang/String;

    .line 411
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]joinChannel:authInfo"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&userName:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 413
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_2c

    .line 414
    const-string v0, "[API]joinChannel:mSophonEngine is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 415
    return-void

    .line 417
    :cond_2c
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setCachedAuthorInfo(Lcom/alivc/rtc/AliRtcAuthInfo;)V

    .line 418
    new-instance v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;

    invoke-direct {v0}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;-><init>()V

    .line 419
    .local v0, "info":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getConferenceId()Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->channel:Ljava/lang/String;

    .line 420
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getUserId()Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->user_id:Ljava/lang/String;

    .line 421
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getAppid()Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->appid:Ljava/lang/String;

    .line 422
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getNonce()Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->nonce:Ljava/lang/String;

    .line 423
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getTimestamp()J

    move-result-wide v2

    iput-wide v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->timestamp:J

    .line 426
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getToken()Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->token:Ljava/lang/String;

    .line 427
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getGslb()[Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->gslb:[Ljava/lang/String;

    .line 428
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getAgent()[Ljava/lang/String;

    move-result-object v2

    iput-object v2, v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;->agent:[Ljava/lang/String;

    .line 429
    const/4 v2, 0x1

    invoke-static {v2}, Lorg/webrtc/utils/AlivcLog;->enableUpload(Z)V

    .line 430
    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcAuthInfo;->getAppid()Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Lorg/webrtc/utils/AlivcLog;->setUploadAppID(Ljava/lang/String;)V

    .line 433
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v2, v0, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->joinChannel(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;Ljava/lang/String;)I

    .line 434
    const-string v2, "[API][End]joinChannel"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 435
    return-void
.end method

.method public leaveChannel()V
    .registers 4

    .line 439
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]leaveChannel"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 440
    const-wide/16 v1, 0x3e8

    invoke-direct {p0, v1, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->leaveChannel(J)V

    .line 441
    const-string v1, "[API][End]leaveChannel"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 442
    return-void
.end method

.method public muteLocalCamera(ZLcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
    .registers 9
    .param p1, "mute"    # Z
    .param p2, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 631
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]muteLocalCamera:mute:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&VideoTrack:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 632
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v2, -0x1

    if-nez v0, :cond_29

    .line 633
    const-string v0, "[API][End][Result]muteLocalCamera: SDK is null:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 634
    return v2

    .line 637
    :cond_29
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    if-eqz v0, :cond_37

    .line 638
    const-string v0, "[API][End][Result]muteLocalCamera: audio only mode:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 639
    return v2

    .line 642
    :cond_37
    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v0

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v3

    const/4 v4, 0x0

    if-eq v0, v3, :cond_75

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v0

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v3

    if-eq v0, v3, :cond_75

    .line 643
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "muteLocalCamera: error video track"

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    const/4 v5, 0x1

    if-ne p2, v3, :cond_61

    const/4 v3, 0x1

    goto :goto_62

    :cond_61
    const/4 v3, 0x0

    :goto_62
    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p2, v3, :cond_6a

    const/4 v4, 0x1

    :cond_6a
    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 644
    return v2

    .line 647
    :cond_75
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setMuteLocalCameraVideo(Z)V

    .line 648
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->hasPublished()Z

    move-result v0

    if-eqz v0, :cond_9c

    .line 649
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    sget-object v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    xor-int/lit8 v3, p1, 0x1

    invoke-virtual {v0, v2, v3}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableLocalVideo(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Z)V

    .line 650
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isDualStream()Z

    move-result v0

    if-eqz v0, :cond_9c

    .line 651
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    sget-object v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraSmall:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    xor-int/lit8 v3, p1, 0x1

    invoke-virtual {v0, v2, v3}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableLocalVideo(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Z)V

    .line 654
    :cond_9c
    const-string v0, "[API][End][Result]muteLocalCamera:mute:0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 655
    return v4
.end method

.method public muteLocalMic(Z)I
    .registers 5
    .param p1, "mute"    # Z

    .line 667
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]muteLocalMic:mute:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 668
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setMuteLocalMic(Z)V

    .line 670
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_3a

    .line 671
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]muteLocalMic: SDK is null&&mute:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v2, "-1"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 672
    const/4 v0, -0x1

    return v0

    .line 675
    :cond_3a
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->hasPublished()Z

    move-result v0

    if-eqz v0, :cond_49

    .line 676
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    xor-int/lit8 v2, p1, 0x1

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableLocalAudio(Z)V

    .line 678
    :cond_49
    const-string v0, "[API][End][Result]muteLocalMic:0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 679
    const/4 v0, 0x0

    return v0
.end method

.method public muteRemoteAudioPlaying(Ljava/lang/String;Z)I
    .registers 10
    .param p1, "uid"    # Ljava/lang/String;
    .param p2, "mute"    # Z

    .line 829
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]muteRemoteAudioPlaying:uid:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&mute:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 830
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v2, -0x1

    if-nez v0, :cond_29

    .line 831
    const-string v0, "[API][End][Result]muteRemoteAudioPlaying: SDK is null-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 832
    return v2

    .line 835
    :cond_29
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 836
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-nez v0, :cond_a6

    .line 837
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v3

    if-eqz v3, :cond_8c

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v3

    invoke-interface {v3}, Ljava/util/Map;->size()I

    move-result v3

    if-lez v3, :cond_8c

    .line 838
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v3

    invoke-interface {v3}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v3

    invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :goto_59
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v4

    if-eqz v4, :cond_8c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/util/Map$Entry;

    .line 839
    .local v4, "remoteParticipantEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lcom/alivc/rtc/RemoteParticipant;>;"
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "[API]muteRemoteAudioPlaying: mAliRtcConfig.getRemoteParticipants() uid is:"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-interface {v4}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Ljava/lang/String;

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v6, ",value:"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v6

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-static {v1, v5}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 840
    .end local v4    # "remoteParticipantEntry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Lcom/alivc/rtc/RemoteParticipant;>;"
    goto :goto_59

    .line 842
    :cond_8c
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "[API][End][Result]muteRemoteAudioPlaying: remote user can not found user "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ":-1"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 843
    return v2

    .line 846
    :cond_a6
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_b6

    .line 847
    const-string v3, "[API][End][Result]muteRemoteAudioPlaying: callid is null:-1"

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 849
    return v2

    .line 852
    :cond_b6
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isMuteAudioPlaying()Z

    move-result v2

    if-eq v2, p2, :cond_ca

    .line 853
    invoke-virtual {v0, p2}, Lcom/alivc/rtc/RemoteParticipant;->setMuteAudioPlaying(Z)V

    .line 854
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    xor-int/lit8 v4, p2, 0x1

    invoke-virtual {v2, v3, v4}, Lorg/webrtc/alirtcInterface/SophonEngine;->enableRemoteAudio(Ljava/lang/String;Z)V

    .line 856
    :cond_ca
    const-string v2, "[API][End][Result]muteRemoteAudioPlaying:0"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 857
    const/4 v1, 0x0

    return v1
.end method

.method public onUSBDeviceCancel()V
    .registers 4

    .line 165
    :try_start_0
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_14

    .line 166
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    invoke-static {v0, v1, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->create(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v0

    iput-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;
    :try_end_14
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_14} :catch_15

    .line 170
    :cond_14
    goto :goto_19

    .line 168
    :catch_15
    move-exception v0

    .line 169
    .local v0, "ex":Ljava/lang/Exception;
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 171
    .end local v0    # "ex":Ljava/lang/Exception;
    :goto_19
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    if-eqz v0, :cond_2e

    .line 172
    const-string v0, "AliRTCEngine"

    const-string v1, "[API][Callback]onUSBDeviceCancel"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 173
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    invoke-interface {v1}, Lcom/alivc/rtc/AliRtcUsbDeviceEvent;->onUSBDeviceCancel()V

    .line 174
    const-string v1, "[API][End][Callback]onUSBDeviceCancel"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 176
    :cond_2e
    return-void
.end method

.method public onUSBDeviceConnect()I
    .registers 5

    .line 135
    const/4 v0, 0x0

    .line 137
    .local v0, "ret":I
    const/4 v1, 0x1

    :try_start_2
    iput-boolean v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbCameraStatus:Z

    .line 138
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v1, :cond_18

    .line 139
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mExtras:Ljava/lang/String;

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEventListener:Lorg/webrtc/alirtcInterface/SophonEventListener;

    invoke-static {v1, v2, v3}, Lorg/webrtc/alirtcInterface/SophonEngine;->create(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v1

    iput-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;
    :try_end_18
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_18} :catch_19

    .line 143
    :cond_18
    goto :goto_1d

    .line 141
    :catch_19
    move-exception v1

    .line 142
    .local v1, "ex":Ljava/lang/Exception;
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    .line 144
    .end local v1    # "ex":Ljava/lang/Exception;
    :goto_1d
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    if-eqz v1, :cond_41

    .line 145
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Callback]onUSBDeviceConnect:ret:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 146
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    invoke-interface {v1, v0}, Lcom/alivc/rtc/AliRtcUsbDeviceEvent;->onUSBDeviceConnect(I)V

    .line 147
    const-string v1, "[API][End][Callback]onUSBDeviceConnect"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 150
    :cond_41
    return v0
.end method

.method public onUSBDeviceDisconnect()V
    .registers 3

    .line 155
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    if-eqz v0, :cond_15

    .line 156
    const-string v0, "AliRTCEngine"

    const-string v1, "[API][Callback]onUSBDeviceDisconnect"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 157
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    invoke-interface {v1}, Lcom/alivc/rtc/AliRtcUsbDeviceEvent;->onUSBDeviceDisconnect()V

    .line 158
    const-string v1, "[API][End][Callback]onUSBDeviceDisconnect"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 160
    :cond_15
    return-void
.end method

.method public pauseAudioAccompany()I
    .registers 5

    .line 2846
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 2847
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]pauseAudioAccompany"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2848
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->PauseAudioMixing()I

    move-result v1

    .line 2849
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]pauseAudioAccompany:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2850
    return v1

    .line 2852
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public pauseAudioEffect(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2957
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2958
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]PauseAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2959
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->PauseAudioEffect(I)I

    move-result v0

    .line 2960
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]PauseAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2961
    return v0

    .line 2963
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public playAudioEffect(ILjava/lang/String;IZ)I
    .registers 9
    .param p1, "soundId"    # I
    .param p2, "filePath"    # Ljava/lang/String;
    .param p3, "cycles"    # I
    .param p4, "publish"    # Z

    .line 2890
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_4d

    .line 2891
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]playAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v1, "&&filePath:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&cycles:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v1, "&&publish:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2892
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2, p3, p4}, Lorg/webrtc/alirtcInterface/SophonEngine;->PlayAudioEffect(ILjava/lang/String;IZ)I

    move-result v0

    .line 2893
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]playAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2894
    return v0

    .line 2896
    .end local v0    # "ret":I
    :cond_4d
    const/4 v0, -0x1

    return v0
.end method

.method public preloadAudioEffect(ILjava/lang/String;)I
    .registers 7
    .param p1, "soundId"    # I
    .param p2, "filePath"    # Ljava/lang/String;

    .line 2868
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_3d

    .line 2869
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]preloadAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v1, "&&filePath:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2870
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->PreloadAudioEffect(ILjava/lang/String;)I

    move-result v0

    .line 2871
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]preloadAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2872
    return v0

    .line 2874
    .end local v0    # "ret":I
    :cond_3d
    const/4 v0, -0x1

    return v0
.end method

.method public publish()V
    .registers 5

    .line 684
    const-string v0, "[API]publish"

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 685
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->isInCall()Z

    move-result v2

    if-nez v2, :cond_15

    .line 686
    const-string v0, "[API]publish:not in call"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 687
    return-void

    .line 690
    :cond_15
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_1f

    .line 691
    const-string v0, "[API]publish:SDK is null"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 692
    return-void

    .line 695
    :cond_1f
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getConfig()Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;

    move-result-object v2

    .line 697
    .local v2, "publishConfig":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isPublishAudio()Z

    move-result v3

    if-nez v3, :cond_5a

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 698
    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isPublishCameraTrack()Z

    move-result v3

    if-nez v3, :cond_3b

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isPublishScreenTrack()Z

    move-result v3

    if-eqz v3, :cond_43

    :cond_3b
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    .line 699
    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v3

    if-eqz v3, :cond_5a

    .line 701
    :cond_43
    const-string v0, "[API]unpublish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 702
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/alivc/rtc/AliRtcConfig;->setCameraOn(Z)V

    .line 703
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->unpublish()V

    .line 705
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    const/4 v3, 0x0

    invoke-virtual {v0, v3, v1}, Lcom/alivc/rtc/AliRtcConfig;->setLocalCallID(Ljava/lang/String;Z)V

    .line 706
    return-void

    .line 709
    :cond_5a
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->getLocalCallID()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_7d

    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isPublishIsGoing()Z

    move-result v3

    if-nez v3, :cond_7d

    .line 710
    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 711
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->publish(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;)V

    .line 712
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    const/4 v3, 0x1

    invoke-virtual {v0, v3}, Lcom/alivc/rtc/AliRtcConfig;->setPublishIsGoing(Z)V

    goto :goto_87

    .line 714
    :cond_7d
    const-string v0, "[API]republish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 715
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->republish(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;)V

    .line 718
    :goto_87
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isPublishCameraTrack()Z

    move-result v3

    invoke-virtual {v0, v3}, Lcom/alivc/rtc/AliRtcConfig;->setCameraOn(Z)V

    .line 719
    const-string v0, "[API][End]publish"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 720
    return-void
.end method

.method public registerVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$VideoRawDataInterface;
    .registers 4
    .param p1, "streamType"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;

    .line 1617
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_21

    .line 1618
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]registerVideoRawDataInterface:streamType:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1619
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->registerVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$VideoRawDataInterface;

    move-result-object v0

    return-object v0

    .line 1621
    :cond_21
    const/4 v0, 0x0

    return-object v0
.end method

.method public removeTexture(I)V
    .registers 8
    .param p1, "textureId"    # I

    .line 3094
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_4d

    sget-object v0, Lcom/alivc/rtc/AliRtcEngineImpl;->aliRtcRemoteTextureInfos:Ljava/util/ArrayList;

    invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_4d

    .line 3095
    const/4 v0, 0x0

    .line 3097
    .local v0, "needRemoveTextureInfo":Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;
    sget-object v1, Lcom/alivc/rtc/AliRtcEngineImpl;->aliRtcRemoteTextureInfos:Ljava/util/ArrayList;

    invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_13
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_48

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;

    .line 3098
    .local v2, "aliRtcRemoteTextureInfo":Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;
    iget-object v3, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->aliVideoCanvas:Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    iget v3, v3, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-ne v3, p1, :cond_47

    .line 3099
    move-object v0, v2

    .line 3100
    iget-object v3, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->userId:Ljava/lang/String;

    invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_3a

    .line 3101
    iget-object v3, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->aliVideoCanvas:Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    iget v4, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->videoTrack:I

    invoke-static {v4}, Lcom/alivc/rtc/AliRtcEngineImpl;->swapTrack(I)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    move-result-object v4

    invoke-virtual {p0, v3, v4}, Lcom/alivc/rtc/AliRtcEngineImpl;->setLocalViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    goto :goto_47

    .line 3103
    :cond_3a
    iget-object v3, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->aliVideoCanvas:Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    iget-object v4, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->userId:Ljava/lang/String;

    iget v5, v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->videoTrack:I

    invoke-static {v5}, Lcom/alivc/rtc/AliRtcEngineImpl;->swapTrack(I)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    move-result-object v5

    invoke-virtual {p0, v3, v4, v5}, Lcom/alivc/rtc/AliRtcEngineImpl;->setRemoteViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    .line 3106
    .end local v2    # "aliRtcRemoteTextureInfo":Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;
    :cond_47
    :goto_47
    goto :goto_13

    .line 3107
    :cond_48
    sget-object v1, Lcom/alivc/rtc/AliRtcEngineImpl;->aliRtcRemoteTextureInfos:Ljava/util/ArrayList;

    invoke-virtual {v1, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z

    .line 3109
    .end local v0    # "needRemoveTextureInfo":Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;
    :cond_4d
    return-void
.end method

.method public resumeAudioAccompany()I
    .registers 5

    .line 2857
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 2858
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]resumeAudioAccompany"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2859
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->ResumeAudioMixing()I

    move-result v1

    .line 2860
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]resumeAudioAccompany:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2861
    return v1

    .line 2863
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public resumeAudioEffect(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2968
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2969
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]ResumeAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2970
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->ResumeAudioEffect(I)I

    move-result v0

    .line 2971
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]ResumeAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2972
    return v0

    .line 2974
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioAccompanyPlayoutVolume(I)I
    .registers 6
    .param p1, "volume"    # I

    .line 2824
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2825
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAudioAccompanyPlayoutVolume:volume:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2826
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetAudioAccompanyPlayoutVolume(I)I

    move-result v0

    .line 2827
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]setAudioAccompanyPlayoutVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2828
    return v0

    .line 2830
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioAccompanyPublishVolume(I)I
    .registers 6
    .param p1, "volume"    # I

    .line 2802
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2803
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAudioAccompanyPublishVolume:volume:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2804
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetAudioAccompanyPublishVolume(I)I

    move-result v0

    .line 2805
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]setAudioAccompanyPublishVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2806
    return v0

    .line 2808
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioAccompanyVolume(I)I
    .registers 6
    .param p1, "volume"    # I

    .line 2778
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2779
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAudioAccompanyVolume:volume:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2780
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setAudioAccompanyVolume(I)I

    move-result v0

    .line 2781
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]setAudioAccompanyVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2782
    return v0

    .line 2785
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioEffectPlayoutVolume(II)I
    .registers 7
    .param p1, "soundId"    # I
    .param p2, "volume"    # I

    .line 2934
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_3d

    .line 2935
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]SetAudioEffectPlayoutVolume:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v1, "&&volume"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2936
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetAudioEffectPlayoutVolume(II)I

    move-result v0

    .line 2937
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]SetAudioEffectPlayoutVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2938
    return v0

    .line 2940
    .end local v0    # "ret":I
    :cond_3d
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioEffectPublishVolume(II)I
    .registers 7
    .param p1, "soundId"    # I
    .param p2, "volume"    # I

    .line 2912
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_3d

    .line 2913
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]SetAudioEffectPublishVolume:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v1, "&&volume"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2914
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetAudioEffectPublishVolume(II)I

    move-result v0

    .line 2915
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]SetAudioEffectPublishVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2916
    return v0

    .line 2918
    .end local v0    # "ret":I
    :cond_3d
    const/4 v0, -0x1

    return v0
.end method

.method public setAudioOnlyMode(Z)I
    .registers 5
    .param p1, "audioOnly"    # Z

    .line 367
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAudioOnlyMode:audioOnly:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 368
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isInCall()Z

    move-result v0

    if-eqz v0, :cond_39

    .line 369
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]setAudioOnlyMode: should set before join channel.&&audioOnly: "

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v2, ":-1"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 370
    const/4 v0, -0x1

    return v0

    .line 373
    :cond_39
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setAudioOnly(Z)V

    .line 374
    const-string v0, "[API][End][Result]setAudioOnlyMode:audioOnly:0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 375
    const/4 v0, 0x0

    return v0
.end method

.method public setAutoPublish(ZZ)I
    .registers 7
    .param p1, "autoPub"    # Z
    .param p2, "autoSub"    # Z

    .line 352
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAutoPublish:autoPub: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&autoSub: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 353
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isInCall()Z

    move-result v0

    if-eqz v0, :cond_4d

    .line 354
    const-string/jumbo v0, "setAutoPublish:should set before join channel.:-1"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 355
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]setAutoPublish:autoPub: "

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, ":-1"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 356
    const/4 v0, -0x1

    return v0

    .line 359
    :cond_4d
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setAutoPublish(Z)V

    .line 360
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p2}, Lcom/alivc/rtc/AliRtcConfig;->setAutoSubscribe(Z)V

    .line 361
    const-string v0, "[API][End][Result]setAutoPublish:autoPub:0"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 362
    const/4 v0, 0x0

    return v0
.end method

.method public setCameraExposurePoint(FF)I
    .registers 7
    .param p1, "x"    # F
    .param p2, "y"    # F

    .line 1322
    const/4 v0, -0x1

    .line 1323
    .local v0, "ret":I
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v1

    const-string v2, "AliRTCEngine"

    if-eqz v1, :cond_12

    .line 1324
    const-string/jumbo v1, "setCameraExposurePoint: audio only mode"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1325
    return v0

    .line 1328
    :cond_12
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_4c

    .line 1329
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API]setCameraExposurePoint:x:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v3, "&&y: "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1330
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setCameraExposurePoint(FF)I

    .line 1331
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]setCameraExposurePoint:"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1332
    return v0

    .line 1334
    :cond_4c
    return v0
.end method

.method public setCameraFocusPoint(FF)I
    .registers 6
    .param p1, "x"    # F
    .param p2, "y"    # F

    .line 1307
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    const-string v1, "AliRTCEngine"

    if-eqz v0, :cond_12

    .line 1308
    const-string/jumbo v0, "setCameraFocusPoint: audio only mode"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1309
    const/4 v0, -0x1

    return v0

    .line 1312
    :cond_12
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_3c

    .line 1313
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]setCameraFocusPoint:x:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v2, "&&y:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1314
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setCameraFocusPoint(FF)I

    .line 1315
    const-string v0, "[API][End][Result]setCameraFocusPoint:0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1317
    :cond_3c
    const/4 v0, 0x0

    return v0
.end method

.method public setCameraZoom(FZZ)I
    .registers 7
    .param p1, "zoom"    # F
    .param p2, "flash"    # Z
    .param p3, "autoFocus"    # Z

    .line 1230
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setCameraZoom:zoom: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v1, "&&flash: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&autoFocus: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1232
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    if-eqz v0, :cond_36

    .line 1233
    const-string/jumbo v0, "setCameraZoom: audio only mode"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 1234
    const/4 v0, -0x1

    return v0

    .line 1236
    :cond_36
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setCamZoom(F)V

    .line 1237
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p2}, Lcom/alivc/rtc/AliRtcConfig;->setCamFlash(Z)V

    .line 1238
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p3}, Lcom/alivc/rtc/AliRtcConfig;->setCamAutoFocus(Z)V

    .line 1240
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_5d

    .line 1241
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->isCamFlash()Z

    move-result v2

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setFlash(Z)I

    .line 1242
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getCamZoom()F

    move-result v2

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->setCameraZoom(F)I

    .line 1244
    :cond_5d
    const-string v0, "[API][End][Result]setCameraZoom:0"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1245
    const/4 v0, 0x0

    return v0
.end method

.method public setChannelProfile(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;)I
    .registers 6
    .param p1, "channel_profile"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;

    .line 3002
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_39

    .line 3003
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]SetChannelProfile:channel_profile:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;->getValue()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3004
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetChannelProfile(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;)I

    move-result v0

    .line 3005
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]SetChannelProfile:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3006
    return v0

    .line 3008
    .end local v0    # "ret":I
    :cond_39
    const/4 v0, -0x1

    return v0
.end method

.method public setClientRole(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Client_Role;)I
    .registers 5
    .param p1, "client_role"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Client_Role;

    .line 3013
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_27

    .line 3014
    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetClientRole(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Client_Role;)I

    move-result v0

    .line 3015
    .local v0, "ret":I
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API][Result]SetClientRole:client_role:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v2, ":"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3016
    return v0

    .line 3018
    .end local v0    # "ret":I
    :cond_27
    const/4 v0, -0x1

    return v0
.end method

.method public setCollectStatusListener(Lorg/webrtc/alirtcInterface/CollectStatusListener;)V
    .registers 4
    .param p1, "collectStatusListener"    # Lorg/webrtc/alirtcInterface/CollectStatusListener;

    .line 1609
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_27

    .line 1610
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setCollectStatusListener:collectStatusListener:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p1, :cond_15

    invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_16

    :cond_15
    const/4 v1, 0x0

    :goto_16
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1611
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setCollectStatusListener(Lorg/webrtc/alirtcInterface/CollectStatusListener;)V

    .line 1613
    :cond_27
    return-void
.end method

.method public setDeviceOrientationMode(Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;)V
    .registers 6
    .param p1, "mode"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;

    .line 2732
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_4b

    .line 2733
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setDeviceOrientationMode: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;->ordinal()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2734
    sget-object v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;->Ali_RTC_Device_Orientation_0:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;

    .line 2735
    .local v0, "ret":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;
    sget-object v2, Lcom/alivc/rtc/AliRtcEngineImpl$7;->$SwitchMap$com$alivc$rtc$AliRtcEngine$AliRtcOrientationMode:[I

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;->ordinal()I

    move-result v3

    aget v2, v2, v3

    const/4 v3, 0x1

    if-eq v2, v3, :cond_3e

    const/4 v3, 0x2

    if-eq v2, v3, :cond_3b

    const/4 v3, 0x3

    if-eq v2, v3, :cond_38

    const/4 v3, 0x4

    if-eq v2, v3, :cond_35

    goto :goto_41

    .line 2746
    :cond_35
    sget-object v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;->Ali_RTC_Device_Orientation_Adaptive:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;

    goto :goto_41

    .line 2743
    :cond_38
    sget-object v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;->Ali_RTC_Device_Orientation_270:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;

    .line 2744
    goto :goto_41

    .line 2740
    :cond_3b
    sget-object v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;->Ali_RTC_Device_Orientation_90:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;

    .line 2741
    goto :goto_41

    .line 2737
    :cond_3e
    sget-object v0, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;->Ali_RTC_Device_Orientation_0:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;

    .line 2738
    nop

    .line 2749
    :goto_41
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v2, v0}, Lorg/webrtc/alirtcInterface/SophonEngine;->setDeviceOrientationMode(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;)V

    .line 2750
    const-string v2, "[API][End]setDeviceOrientationMode"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2752
    .end local v0    # "ret":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;
    :cond_4b
    return-void
.end method

.method public setEarBackVolume(I)I
    .registers 6
    .param p1, "volume"    # I

    .line 2991
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2992
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]SetEarBackVolume:volume:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2993
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->SetEarBackVolume(I)I

    move-result v0

    .line 2994
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]SetEarBackVolume:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2995
    return v0

    .line 2997
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public setLocalViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
    .registers 8
    .param p1, "viewConfig"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    .param p2, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 505
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setLocalViewConfig:viewConfig:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&videoTrack:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 507
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    const/4 v3, -0x1

    if-eq p2, v0, :cond_4b

    .line 508
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "[API][Result]setLocalViewConfig:viewConfig:"

    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v1, ":-1"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 511
    return v3

    .line 515
    :cond_4b
    if-eqz p1, :cond_a3

    iget v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-nez v0, :cond_56

    iget-object v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v0, :cond_56

    goto :goto_a3

    .line 521
    :cond_56
    iget-object v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v1

    const/4 v3, 0x0

    invoke-direct {p0, v0, v1, v3}, Lcom/alivc/rtc/AliRtcEngineImpl;->getIsFlip(Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;IZ)Z

    move-result v0

    .line 522
    .local v0, "flip":Z
    iput-boolean v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    .line 524
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v1

    if-eqz v1, :cond_98

    .line 525
    const-string v1, "mAliRtcConfig getLocalVideoCanvas not null"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 526
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v4

    iget v4, v4, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-ne v1, v4, :cond_8d

    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    iget-object v4, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v4}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v4

    iget-object v4, v4, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-eq v1, v4, :cond_89

    goto :goto_8d

    .line 531
    :cond_89
    invoke-direct {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->updateDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    goto :goto_98

    .line 527
    :cond_8d
    :goto_8d
    const-string v1, "mAliRtcConfig setLocalViewConfig addLocalDisplayWindow"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 528
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeLocalDisplayWindow()V

    .line 529
    invoke-virtual {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->addLocalDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 534
    :cond_98
    :goto_98
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1, p1}, Lcom/alivc/rtc/AliRtcConfig;->setLocalVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 535
    const-string v1, "[API][End][Result]setLocalViewConfig:0"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 536
    return v3

    .line 516
    .end local v0    # "flip":Z
    :cond_a3
    :goto_a3
    const-string v0, "[API][Result]setLocalViewConfig:setLocalViewConfig:view is null:-1"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 517
    return v3
.end method

.method public setLogLevel(Lcom/alivc/rtc/AliRtcEngine$AliRtcLogLevel;)V
    .registers 6
    .param p1, "logLevel"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcLogLevel;

    .line 1360
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_2e

    .line 1361
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setLogLevel:logLevel:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1362
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-static {}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDKLogLevel;->values()[Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDKLogLevel;

    move-result-object v2

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcLogLevel;->ordinal()I

    move-result v3

    aget-object v2, v2, v3

    invoke-virtual {v0, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->changeLogLevel(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDKLogLevel;)V

    .line 1363
    const-string v0, "[API][End][Result]setLogLevel"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1365
    :cond_2e
    return-void
.end method

.method public setPlayoutVolume(I)I
    .registers 5
    .param p1, "volume"    # I

    .line 1349
    const/4 v0, 0x0

    .line 1350
    .local v0, "ret":I
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_21

    .line 1351
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]setPlayoutVolume: volume:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1352
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setPlayoutVolume(I)I

    move-result v0

    .line 1354
    :cond_21
    return v0
.end method

.method public setPreCameraType(I)V
    .registers 4
    .param p1, "faceTo"    # I

    .line 1215
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setPreCameraType:faceTo:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1216
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 1217
    const-string v0, "[API][End]setPreCameraType"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1218
    return-void
.end method

.method public setRecordingVolume(I)I
    .registers 5
    .param p1, "volume"    # I

    .line 1339
    const/4 v0, 0x0

    .line 1340
    .local v0, "ret":I
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_21

    .line 1341
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "[API]setRecordingVolume: volume:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "AliRTCEngine"

    invoke-static {v2, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1342
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setRecordingVolume(I)I

    move-result v0

    .line 1344
    :cond_21
    return v0
.end method

.method public setRemoteViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
    .registers 12
    .param p1, "canvas"    # Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    .param p2, "uid"    # Ljava/lang/String;
    .param p3, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 759
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setRemoteViewConfig:canvas:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&uid:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&VideoTrack"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 760
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackNo:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    const/4 v2, -0x1

    if-eq p3, v0, :cond_10d

    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p3, v0, :cond_35

    goto/16 :goto_10d

    .line 766
    :cond_35
    if-eqz p1, :cond_107

    iget v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-nez v0, :cond_41

    iget-object v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v0, :cond_41

    goto/16 :goto_107

    .line 771
    :cond_41
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v0, :cond_4b

    .line 772
    const-string v0, "[API][Result]setRemoteViewConfig: SDK is null:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 773
    return v2

    .line 776
    :cond_4b
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 777
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-nez v0, :cond_5f

    .line 778
    const-string v3, "[API][Result]setRemoteViewConfig: remote user is null:-1"

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 779
    return v2

    .line 783
    :cond_5f
    invoke-virtual {v0, p3}, Lcom/alivc/rtc/RemoteParticipant;->getSubVideoSurceIndex(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    move-result v3

    .line 784
    .local v3, "sourceIndex":I
    const/4 v4, 0x0

    if-ne v3, v2, :cond_67

    .line 785
    return v4

    .line 788
    :cond_67
    iget v2, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-lez v2, :cond_98

    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    if-eqz v2, :cond_98

    .line 789
    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    iget v2, v2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    iget v5, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-ne v2, v5, :cond_98

    .line 790
    sget-object v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p3, v2, :cond_89

    .line 791
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v2

    sget-object v5, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_CameraLarge:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-direct {p0, v2, v5}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    goto :goto_92

    .line 793
    :cond_89
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v2

    sget-object v5, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->AliRTCSDK_VideoSource_Type_ScreenShare:Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    invoke-direct {p0, v2, v5}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 795
    :goto_92
    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    iput v4, v2, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    .line 799
    :cond_98
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->isInCall()Z

    move-result v2

    if-nez v2, :cond_a4

    .line 800
    invoke-virtual {v0, p3, p1}, Lcom/alivc/rtc/RemoteParticipant;->setVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 801
    return v4

    .line 803
    :cond_a4
    invoke-static {}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;->values()[Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;

    move-result-object v2

    aget-object v2, v2, v3

    .line 805
    .local v2, "vst":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getVideoSubscribed()[Ljava/lang/String;

    move-result-object v5

    aget-object v5, v5, v3

    invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v5

    if-nez v5, :cond_101

    .line 807
    iget-object v5, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    invoke-virtual {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->getPreCameraType()I

    move-result v6

    const/4 v7, 0x1

    invoke-direct {p0, v5, v6, v7}, Lcom/alivc/rtc/AliRtcEngineImpl;->getIsFlip(Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;IZ)Z

    move-result v5

    .line 808
    .local v5, "flip":Z
    iput-boolean v5, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->flip:Z

    .line 809
    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v6

    if-eqz v6, :cond_f7

    .line 811
    iget v6, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v7

    iget v7, v7, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-ne v6, v7, :cond_e2

    invoke-virtual {v0, v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoCanvas(I)Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v6

    iget-object v6, v6, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    iget-object v7, p1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-eq v6, v7, :cond_de

    goto :goto_e2

    .line 816
    :cond_de
    invoke-direct {p0, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;->updateDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    goto :goto_fe

    .line 812
    :cond_e2
    :goto_e2
    const-string/jumbo v6, "setRemoteViewConfig: remove and add "

    invoke-static {v1, v6}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 813
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v6

    invoke-direct {p0, v6, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 814
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v6

    invoke-direct {p0, v6, p1, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->addRemoteDisplayWindow(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    goto :goto_fe

    .line 819
    :cond_f7
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v6

    invoke-direct {p0, v6, p1, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->addRemoteDisplayWindow(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V

    .line 821
    :goto_fe
    invoke-virtual {v0, p3, p1}, Lcom/alivc/rtc/RemoteParticipant;->setVideoCanvas(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 823
    .end local v5    # "flip":Z
    :cond_101
    const-string v5, "[API][End][Result]setRemoteViewConfig:0"

    invoke-static {v1, v5}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 824
    return v4

    .line 767
    .end local v0    # "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    .end local v2    # "vst":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;
    .end local v3    # "sourceIndex":I
    :cond_107
    :goto_107
    const-string v0, "[API][Result]setRemoteViewConfig: canvas is null:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 768
    return v2

    .line 761
    :cond_10d
    :goto_10d
    const-string v0, "[API][Result]setRemoteViewConfig: error video track:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 762
    return v2
.end method

.method public setRenderSharedContext(J)V
    .registers 5
    .param p1, "sharedContext"    # J

    .line 380
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setAudioOnlyMode:setSharedContext:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 381
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1, p2}, Lcom/alivc/rtc/AliRtcConfig;->setSharedContext(J)V

    .line 382
    const-string v0, "[API][End]setSharedContext"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 383
    return-void
.end method

.method public setRtcEngineEventListener(Lcom/alivc/rtc/AliRtcEngineEventListener;)V
    .registers 4
    .param p1, "listener"    # Lcom/alivc/rtc/AliRtcEngineEventListener;

    .line 1378
    if-eqz p1, :cond_27

    .line 1379
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setRtcEngineEventListener:listener:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p1, :cond_13

    invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_14

    :cond_13
    const/4 v1, 0x0

    :goto_14
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1380
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mEventListener:Lcom/alivc/rtc/AliRtcEngineEventListener;

    .line 1381
    const-string v0, "[API][End]setRtcEngineEventListener"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1383
    :cond_27
    return-void
.end method

.method public setRtcEngineNotify(Lcom/alivc/rtc/AliRtcEngineNotify;)V
    .registers 4
    .param p1, "engineNotify"    # Lcom/alivc/rtc/AliRtcEngineNotify;

    .line 1387
    if-eqz p1, :cond_27

    .line 1388
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setRtcEngineNotify:listener:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p1, :cond_13

    invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I

    move-result v1

    goto :goto_14

    :cond_13
    const/4 v1, 0x0

    :goto_14
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1389
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mNotifyListener:Lcom/alivc/rtc/AliRtcEngineNotify;

    .line 1390
    const-string v0, "[API][End]setRtcEngineNotify"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1392
    :cond_27
    return-void
.end method

.method public setTexture(Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;ILjava/lang/String;)I
    .registers 9
    .param p1, "textureInfo"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;
    .param p2, "track"    # I
    .param p3, "userId"    # Ljava/lang/String;

    .line 3037
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v1, -0x1

    if-nez v0, :cond_6

    .line 3038
    return v1

    .line 3040
    :cond_6
    iget v0, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->textureId:I

    const-string v2, "AliRTCEngine"

    if-gtz v0, :cond_23

    .line 3041
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API] setTexture invalid textureInfo id"

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->textureId:I

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3042
    return v1

    .line 3045
    :cond_23
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    if-eqz v0, :cond_31

    .line 3046
    const-string v0, "[API][Result]setTexture: audio only mode error:-1"

    invoke-static {v2, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3047
    return v1

    .line 3050
    :cond_31
    new-instance v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    invoke-direct {v0}, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;-><init>()V

    .line 3051
    .local v0, "aliVideoCanvas":Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;
    iget v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->textureId:I

    iput v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    .line 3052
    const/16 v1, 0x2d0

    iput v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureWidth:I

    .line 3053
    const/16 v1, 0x500

    iput v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureHeight:I

    .line 3054
    sget-object v1, Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;->AliRtcRenderModeAuto:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;

    iput-object v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->renderMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;

    .line 3055
    iget-object v1, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    iput-object v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    .line 3056
    const/4 v1, 0x0

    iput-object v1, v0, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    .line 3057
    new-instance v1, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;

    invoke-direct {v1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;-><init>()V

    .line 3058
    .local v1, "aliRtcRemoteTextureInfo":Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;
    iput-object v0, v1, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->aliVideoCanvas:Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    .line 3059
    iput-object p3, v1, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->userId:Ljava/lang/String;

    .line 3060
    iput p2, v1, Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;->videoTrack:I

    .line 3061
    sget-object v3, Lcom/alivc/rtc/AliRtcEngineImpl;->aliRtcRemoteTextureInfos:Ljava/util/ArrayList;

    invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 3062
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "[API] setTexture uid = "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, " videoTrack"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string/jumbo v4, "textureId"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v4, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->textureId:I

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v4, "mirrorMode"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v4, p1, Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;->mirrorMode:Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3063
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v4, "userId isEmpty = "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 3064
    invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_b6

    .line 3065
    invoke-static {p2}, Lcom/alivc/rtc/AliRtcEngineImpl;->swapTrack(I)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    move-result-object v2

    invoke-virtual {p0, v0, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->setLocalViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    move-result v2

    return v2

    .line 3067
    :cond_b6
    invoke-static {p2}, Lcom/alivc/rtc/AliRtcEngineImpl;->swapTrack(I)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    move-result-object v2

    invoke-virtual {p0, v0, p3, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->setRemoteViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    move-result v2

    return v2
.end method

.method public setTraceId(Ljava/lang/String;)V
    .registers 4
    .param p1, "traceId"    # Ljava/lang/String;

    .line 2631
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_24

    .line 2632
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setTraceId: traceId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2633
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->setTraceId(Ljava/lang/String;)V

    .line 2634
    const-string v0, "[API][End]setTraceId"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2636
    :cond_24
    return-void
.end method

.method public setUsbDeviceEvent(Lcom/alivc/rtc/AliRtcUsbDeviceEvent;)V
    .registers 4
    .param p1, "usbDeviceEvent"    # Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    .line 179
    if-eqz p1, :cond_1f

    .line 180
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setUsbDeviceEvent:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 181
    iput-object p1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mUsbDeviceEvent:Lcom/alivc/rtc/AliRtcUsbDeviceEvent;

    .line 182
    const-string v0, "[API][End]setUsbDeviceEvent"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 184
    :cond_1f
    return-void
.end method

.method public setVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)V
    .registers 6
    .param p1, "profile"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;
    .param p2, "track"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    .line 724
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]setVideoProfile:VideoProfile:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&VideoTrack:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 725
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v0

    if-eqz v0, :cond_2b

    .line 726
    return-void

    .line 729
    :cond_2b
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackBoth:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p2, v0, :cond_3a

    .line 730
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setCamVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;)V

    .line 731
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setScreenVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;)V

    goto :goto_7b

    .line 732
    :cond_3a
    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v0

    sget-object v2, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v2

    if-ne v0, v2, :cond_72

    .line 733
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v2, "setVideoProfileprofile:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;->getId()I

    move-result v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string/jumbo v2, "track:"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->getValue()I

    move-result v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 734
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setCamVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;)V

    goto :goto_7b

    .line 735
    :cond_72
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackScreen:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne p2, v0, :cond_7b

    .line 736
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0, p1}, Lcom/alivc/rtc/AliRtcConfig;->setScreenVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;)V

    .line 738
    :cond_7b
    :goto_7b
    const-string v0, "[API][End]setVideoProfile"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 739
    return-void
.end method

.method public startAudioAccompany(Ljava/lang/String;ZZI)I
    .registers 9
    .param p1, "fileName"    # Ljava/lang/String;
    .param p2, "onlyLocalPlay"    # Z
    .param p3, "replaceMic"    # Z
    .param p4, "loopCycles"    # I

    .line 2756
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_4d

    .line 2757
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]startAudioAccompany:fileName:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "&&onlyLocalPlay:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&replaceMic"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    const-string v1, "&&loopCycles"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 2758
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1, p2, p3, p4}, Lorg/webrtc/alirtcInterface/SophonEngine;->startAudioAccompany(Ljava/lang/String;ZZI)I

    move-result v0

    .line 2759
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]startAudioAccompany:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2760
    return v0

    .line 2762
    .end local v0    # "ret":I
    :cond_4d
    const/4 v0, -0x1

    return v0
.end method

.method public startAudioCapture()I
    .registers 5

    .line 2681
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]startAudioCapture"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2682
    const/4 v1, -0x1

    .line 2683
    .local v1, "ret":I
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_d

    .line 2684
    return v1

    .line 2686
    :cond_d
    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->startAudioCapture()I

    move-result v1

    .line 2687
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]startAudioCapture:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2688
    return v1
.end method

.method public startAudioFileRecording(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioSampleRate;Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;)I
    .registers 8
    .param p1, "file_Name"    # Ljava/lang/String;
    .param p2, "sample_Rate"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioSampleRate;
    .param p3, "quality"    # Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;

    .line 3113
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_51

    .line 3114
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]StartAudioFileRecording: filename:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, " sample_Rate:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v1, " quality:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 3115
    invoke-virtual {p3}, Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;->getId()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 3114
    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3117
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {p2}, Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioSampleRate;->getId()I

    move-result v2

    invoke-virtual {p3}, Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;->getId()I

    move-result v3

    invoke-virtual {v0, p1, v2, v3}, Lorg/webrtc/alirtcInterface/SophonEngine;->StartAudioFileRecording(Ljava/lang/String;II)I

    move-result v0

    .line 3118
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]StartAudioFileRecording:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3119
    return v0

    .line 3121
    .end local v0    # "ret":I
    :cond_51
    const/4 v0, -0x1

    return v0
.end method

.method public startAudioPlayer()I
    .registers 5

    .line 2706
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]startAudioPlayer"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2707
    const/4 v1, -0x1

    .line 2708
    .local v1, "ret":I
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_d

    .line 2709
    return v1

    .line 2711
    :cond_d
    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->startAudioPlayer()I

    move-result v1

    .line 2712
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]startAudioPlayer:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2714
    return v1
.end method

.method public startPreview()I
    .registers 5

    .line 541
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]startPreview"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 542
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v1

    const-string v2, "[API][Result]startPreview: view is null error:-1"

    const/4 v3, -0x1

    if-nez v1, :cond_16

    .line 543
    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 544
    return v3

    .line 547
    :cond_16
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v1

    iget v1, v1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->textureId:I

    if-nez v1, :cond_2e

    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v1

    iget-object v1, v1, Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;->view:Lorg/webrtc/sdk/SophonSurfaceView;

    if-nez v1, :cond_2e

    .line 548
    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 549
    return v3

    .line 552
    :cond_2e
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v1

    if-eqz v1, :cond_3c

    .line 553
    const-string v1, "[API][End][Result]startPreview: audio only mode error:-1"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 554
    return v3

    .line 557
    :cond_3c
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->startCapture()I

    move-result v1

    if-eqz v1, :cond_48

    .line 558
    const-string v1, "[API][End][Result]startPreview:startCapture error:-1"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 559
    return v3

    .line 562
    :cond_48
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v1}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v1

    invoke-virtual {p0, v1}, Lcom/alivc/rtc/AliRtcEngineImpl;->addLocalDisplayWindow(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;)V

    .line 563
    const-string v1, "[API][End][Result]startPreview:0"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 565
    const/4 v0, 0x0

    return v0
.end method

.method public stopAudioAccompany()I
    .registers 5

    .line 2767
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 2768
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]stopAudioAccompany"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2769
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->stopAudioAccompany()I

    move-result v1

    .line 2770
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End]stopAudioAccompany:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2771
    return v1

    .line 2773
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public stopAudioCapture()I
    .registers 5

    .line 2693
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]stopAudioCapture"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2694
    const/4 v1, -0x1

    .line 2695
    .local v1, "ret":I
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_d

    .line 2696
    return v1

    .line 2698
    :cond_d
    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->startAudioCapture()I

    move-result v1

    .line 2699
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]stopAudioCapture:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2701
    return v1
.end method

.method public stopAudioEffect(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2901
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2902
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]StopAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2903
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->StopAudioEffect(I)I

    move-result v0

    .line 2904
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][Result]StopAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2905
    return v0

    .line 2907
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public stopAudioFileRecording()I
    .registers 5

    .line 3126
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_26

    .line 3127
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]StopAudioFileRecording"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3128
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->StopAudioFileRecording()I

    move-result v1

    .line 3129
    .local v1, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]StopAudioFileRecording ret:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 3130
    return v1

    .line 3133
    .end local v1    # "ret":I
    :cond_26
    const/4 v0, -0x1

    return v0
.end method

.method public stopAudioPlayer()I
    .registers 5

    .line 2719
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]stopAudioPlayer"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2720
    const/4 v1, -0x1

    .line 2721
    .local v1, "ret":I
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_d

    .line 2722
    return v1

    .line 2724
    :cond_d
    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->stopAudioPlayer()I

    move-result v1

    .line 2725
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]stopAudioPlayer:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v0, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2727
    return v1
.end method

.method public stopPreview()I
    .registers 3

    .line 570
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]stopPreview:"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 571
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->removeLocalDisplayWindow()V

    .line 572
    invoke-direct {p0}, Lcom/alivc/rtc/AliRtcEngineImpl;->stopCapture()I

    .line 573
    const-string v1, "[API][End][Result]stopPreview:0"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 574
    const/4 v0, 0x0

    return v0
.end method

.method public subscribe(Ljava/lang/String;)I
    .registers 8
    .param p1, "uid"    # Ljava/lang/String;

    .line 862
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]subscribe: uid:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 863
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    const/4 v2, -0x1

    if-nez v0, :cond_21

    .line 864
    const-string v0, "[API][End][Result]subscribe: SDK is null:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 865
    return v2

    .line 868
    :cond_21
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_2d

    .line 869
    const-string v0, "[API][End][Result]subscribe: uid is null:-1"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 870
    return v2

    .line 873
    :cond_2d
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v0}, Lcom/alivc/rtc/AliRtcConfig;->getRemoteParticipants()Ljava/util/Map;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/alivc/rtc/RemoteParticipant;

    .line 874
    .local v0, "remoteParticipant":Lcom/alivc/rtc/RemoteParticipant;
    if-nez v0, :cond_41

    .line 875
    const-string v3, "[API][End][Result]subscribe: remote user is null:-1"

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 876
    return v2

    .line 879
    :cond_41
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_51

    .line 880
    const-string v3, "[API][End][Result]subscribe: remote callId is null:-1"

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 881
    return v2

    .line 888
    :cond_51
    new-instance v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;

    invoke-direct {v2}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;-><init>()V

    .line 889
    .local v2, "subscribeConfig":Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getStreamLabel()Ljava/lang/String;

    move-result-object v3

    iput-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->stream_label:Ljava/lang/String;

    .line 892
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v3

    if-nez v3, :cond_71

    .line 893
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getAvailableVideoSubed()[Ljava/lang/String;

    move-result-object v3

    iput-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    .line 894
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getAvailableAudioSubed()Ljava/lang/String;

    move-result-object v3

    iput-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->audio_track_label:Ljava/lang/String;

    goto :goto_7e

    .line 896
    :cond_71
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getAvailableAudioSubed()Ljava/lang/String;

    move-result-object v3

    iput-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->audio_track_label:Ljava/lang/String;

    .line 897
    iget-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    const-string v4, ""

    invoke-static {v3, v4}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V

    .line 900
    :goto_7e
    iget-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->audio_track_label:Ljava/lang/String;

    invoke-static {v3}, Lcom/alivc/rtc/RemoteParticipant;->getAudioTrack(Ljava/lang/String;)Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioTrack;

    move-result-object v3

    sget-object v4, Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioTrack;->AliRtcAudioTrackNo:Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioTrack;

    const/4 v5, 0x0

    if-ne v3, v4, :cond_b6

    iget-object v3, v2, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;->video_track_labels:[Ljava/lang/String;

    .line 901
    invoke-static {v3}, Lcom/alivc/rtc/RemoteParticipant;->getVideoTrack([Ljava/lang/String;)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    move-result-object v3

    sget-object v4, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackNo:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    if-ne v3, v4, :cond_b6

    .line 902
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string/jumbo v4, "unsubscribe callId: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 903
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Lorg/webrtc/alirtcInterface/SophonEngine;->unsubscribe(Ljava/lang/String;)V

    .line 904
    return v5

    .line 910
    :cond_b6
    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->isFirstSubscribe()Z

    move-result v3

    const-string/jumbo v4, "subscribe callId: "

    if-nez v3, :cond_eb

    .line 911
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, " reSubscribeConfig: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-direct {p0, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->getSubscribeConfigString(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 912
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->resubscribe(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)V

    .line 913
    return v5

    .line 916
    :cond_eb
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, " subscribeConfig: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-direct {p0, v2}, Lcom/alivc/rtc/AliRtcEngineImpl;->getSubscribeConfigString(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 917
    iget-object v3, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0}, Lcom/alivc/rtc/RemoteParticipant;->getCallID()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4, v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->subscribe(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)V

    .line 919
    invoke-virtual {v0, v5}, Lcom/alivc/rtc/RemoteParticipant;->setFirstSubscribe(Z)V

    .line 920
    const-string v3, "[API][End][Result]subscribe: :0"

    invoke-static {v1, v3}, Lorg/webrtc/utils/AlivcLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 921
    return v5
.end method

.method public switchCamera()I
    .registers 5

    .line 1179
    const/4 v0, -0x1

    .line 1180
    .local v0, "ret":I
    const-string v1, "AliRTCEngine"

    const-string v2, "[API]switchCamera"

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1181
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->isAudioOnly()Z

    move-result v2

    const/4 v3, -0x1

    if-eqz v2, :cond_12

    .line 1182
    return v3

    .line 1185
    :cond_12
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-nez v2, :cond_17

    .line 1186
    return v3

    .line 1189
    :cond_17
    invoke-virtual {v2}, Lorg/webrtc/alirtcInterface/SophonEngine;->switchCramer()I

    move-result v0

    .line 1190
    if-nez v0, :cond_4d

    .line 1191
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getCameraType()I

    move-result v2

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->AliRTCCameraBack:Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->getCameraType()I

    move-result v3

    if-ne v2, v3, :cond_37

    .line 1192
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->AliRTCCameraFront:Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->getCameraType()I

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    goto :goto_42

    .line 1194
    :cond_37
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->AliRTCCameraBack:Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;

    invoke-virtual {v3}, Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;->getCameraType()I

    move-result v3

    invoke-virtual {v2, v3}, Lcom/alivc/rtc/AliRtcConfig;->setCameraType(I)V

    .line 1196
    :goto_42
    iget-object v2, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mAliRtcConfig:Lcom/alivc/rtc/AliRtcConfig;

    invoke-virtual {v2}, Lcom/alivc/rtc/AliRtcConfig;->getLocalVideoCanvas()Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;

    move-result-object v2

    sget-object v3, Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;->AliRtcVideoTrackCamera:Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;

    invoke-virtual {p0, v2, v3}, Lcom/alivc/rtc/AliRtcEngineImpl;->setLocalViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I

    .line 1198
    :cond_4d
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]switchCamera:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1199
    return v0
.end method

.method public unRegisterVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)V
    .registers 4
    .param p1, "streamType"    # Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;

    .line 1626
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_1f

    .line 1627
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]unRegisterVideoRawDataInterface:streamType:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1628
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->unRegisterVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)V

    .line 1630
    :cond_1f
    return-void
.end method

.method public unloadAudioEffect(I)I
    .registers 6
    .param p1, "soundId"    # I

    .line 2879
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v0, :cond_35

    .line 2880
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "[API]UnloadAudioEffect:soundId:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "AliRTCEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2881
    iget-object v0, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    invoke-virtual {v0, p1}, Lorg/webrtc/alirtcInterface/SophonEngine;->UnloadAudioEffect(I)I

    move-result v0

    .line 2882
    .local v0, "ret":I
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "[API][End][Result]UnloadAudioEffect:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 2883
    return v0

    .line 2885
    .end local v0    # "ret":I
    :cond_35
    const/4 v0, -0x1

    return v0
.end method

.method public uploadLog()V
    .registers 3

    .line 1369
    const-string v0, "AliRTCEngine"

    const-string v1, "[API]uploadLog"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1370
    iget-object v1, p0, Lcom/alivc/rtc/AliRtcEngineImpl;->mSophonEngine:Lorg/webrtc/alirtcInterface/SophonEngine;

    if-eqz v1, :cond_13

    .line 1371
    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngine;->uploadLop()V

    .line 1372
    const-string v1, "[API][End]uploadLog"

    invoke-static {v0, v1}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 1374
    :cond_13
    return-void
.end method