AliRtcEngine.smali

.class public abstract Lcom/alivc/rtc/AliRtcEngine;
.super Ljava/lang/Object;
.source "AliRtcEngine.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;,
        Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcRemoteTextureInfo;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcOnByeType;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioSampleRate;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcLogLevel;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMirrorMode;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcRenderMode;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcNetworkQuality;,
        Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioTrack;,
        Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;
    }
.end annotation


# static fields
.field protected static EnableH5Compatible:I = 0x0

.field private static final MAX_REMOTE_USER_NUMBER:I = 0x60

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

.field private static mContext:Ljava/lang/ref/WeakReference;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/ref/WeakReference<",
            "Landroid/content/Context;",
            ">;"
        }
    .end annotation
.end field

.field private static mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;


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

    .line 33
    const/4 v0, 0x0

    sput v0, Lcom/alivc/rtc/AliRtcEngine;->EnableH5Compatible:I

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 28
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static getH5CompatibleMode()I
    .registers 3

    .line 83
    invoke-static {}, Lorg/webrtc/alirtcInterface/SophonEngine;->getH5CompatibleMode()I

    move-result v0

    .line 84
    .local v0, "ret":I
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "[API] getH5CompatibleMode:"

    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 85
    return v0
.end method

.method public static getInstance(Landroid/content/Context;)Lcom/alivc/rtc/AliRtcEngineImpl;
    .registers 4
    .param p0, "context"    # Landroid/content/Context;

    .line 56
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    if-nez v0, :cond_40

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

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

    const-string v1, "[API]getInstance:context:"

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

    invoke-virtual {p0}, Ljava/lang/Object;->hashCode()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 58
    const-class v0, Lcom/alivc/rtc/AliRtcEngineImpl;

    monitor-enter v0

    .line 59
    :try_start_21
    new-instance v1, Ljava/lang/ref/WeakReference;

    invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V

    sput-object v1, Lcom/alivc/rtc/AliRtcEngine;->mContext:Ljava/lang/ref/WeakReference;

    .line 60
    sget-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    if-nez v1, :cond_3b

    .line 61
    new-instance v1, Lcom/alivc/rtc/AliRtcEngineImpl;

    sget-object v2, Lcom/alivc/rtc/AliRtcEngine;->mContext:Ljava/lang/ref/WeakReference;

    invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/content/Context;

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

    sput-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 63
    :cond_3b
    monitor-exit v0

    goto :goto_40

    :catchall_3d
    move-exception v1

    monitor-exit v0
    :try_end_3f
    .catchall {:try_start_21 .. :try_end_3f} :catchall_3d

    throw v1

    .line 65
    :cond_40
    :goto_40
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    return-object v0
.end method

.method public static getInstance(Landroid/content/Context;Ljava/lang/String;)Lcom/alivc/rtc/AliRtcEngineImpl;
    .registers 5
    .param p0, "context"    # Landroid/content/Context;
    .param p1, "extras"    # Ljava/lang/String;

    .line 43
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    if-nez v0, :cond_48

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

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

    const-string v1, "[API]getInstance:context:"

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

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

    move-result v1

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

    const-string v1, "&&extras"

    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 45
    const-class v0, Lcom/alivc/rtc/AliRtcEngineImpl;

    monitor-enter v0

    .line 46
    :try_start_29
    new-instance v1, Ljava/lang/ref/WeakReference;

    invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V

    sput-object v1, Lcom/alivc/rtc/AliRtcEngine;->mContext:Ljava/lang/ref/WeakReference;

    .line 47
    sget-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    if-nez v1, :cond_43

    .line 48
    new-instance v1, Lcom/alivc/rtc/AliRtcEngineImpl;

    sget-object v2, Lcom/alivc/rtc/AliRtcEngine;->mContext:Ljava/lang/ref/WeakReference;

    invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/content/Context;

    invoke-direct {v1, v2, p1}, Lcom/alivc/rtc/AliRtcEngineImpl;-><init>(Landroid/content/Context;Ljava/lang/String;)V

    sput-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 50
    :cond_43
    monitor-exit v0

    goto :goto_48

    :catchall_45
    move-exception v1

    monitor-exit v0
    :try_end_47
    .catchall {:try_start_29 .. :try_end_47} :catchall_45

    throw v1

    .line 52
    :cond_48
    :goto_48
    sget-object v0, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    return-object v0
.end method

.method public static declared-synchronized release()V
    .registers 2

    const-class v0, Lcom/alivc/rtc/AliRtcEngine;

    monitor-enter v0

    .line 446
    :try_start_3
    sget-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    if-eqz v1, :cond_d

    .line 447
    const/4 v1, 0x0

    sput-object v1, Lcom/alivc/rtc/AliRtcEngine;->mInstance:Lcom/alivc/rtc/AliRtcEngineImpl;

    .line 448
    invoke-static {}, Ljava/lang/System;->gc()V
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_f

    .line 450
    :cond_d
    monitor-exit v0

    return-void

    .line 445
    :catchall_f
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static setH5CompatibleMode(I)I
    .registers 3
    .param p0, "enable"    # I

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

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

    const-string v1, "[API][Result]setH5CompatibleMode:enable:"

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

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

    sput p0, Lcom/alivc/rtc/AliRtcEngine;->EnableH5Compatible:I

    invoke-virtual {v0, p0}, 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 75
    sput p0, Lcom/alivc/rtc/AliRtcEngine;->EnableH5Compatible:I

    return p0
.end method


# virtual methods
.method public abstract RegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioObserver;)V
.end method

.method public abstract RegisterPreprocessVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliDetectObserver;)V
.end method

.method public abstract RegisterRGBAObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;)V
.end method

.method public abstract RegisterTexturePostObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
.end method

.method public abstract RegisterTexturePreObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
.end method

.method public abstract RegisterVideoSampleObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V
.end method

.method public abstract UnRegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;)V
.end method

.method public abstract UnRegisterPreprocessVideoObserver()V
.end method

.method public abstract UnRegisterRGBAObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterTexturePostObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterTexturePreObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterVideoSampleObserver()V
.end method

.method public abstract configLocalAudioPublish(Z)V
.end method

.method public abstract configLocalCameraPublish(Z)V
.end method

.method public abstract configLocalScreenPublish(Z)V
.end method

.method public abstract configLocalSimulcast(ZLcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
.end method

.method public abstract configRemoteAudio(Ljava/lang/String;Z)V
.end method

.method public abstract configRemoteCameraTrack(Ljava/lang/String;ZZ)V
.end method

.method public abstract configRemoteScreenTrack(Ljava/lang/String;Z)V
.end method

.method public abstract destroy()V
.end method

.method public abstract enableBackgroundAudioRecording(Z)V
.end method

.method public abstract enableEarBack(Z)I
.end method

.method public abstract enableHighDefinitionPreview(Z)I
.end method

.method public abstract enableSpeakerphone(Z)I
.end method

.method public abstract generateTexture()I
.end method

.method public abstract getAudioAccompanyPlayoutVolume()I
.end method

.method public abstract getAudioAccompanyPublishVolume()I
.end method

.method public abstract getAudioEffectPlayoutVolume(I)I
.end method

.method public abstract getAudioEffectPublishVolume(I)I
.end method

.method public abstract getCameraZoom()F
.end method

.method public abstract getCurrentCameraType()Lcom/alivc/rtc/AliRtcEngine$AliRTCCameraType;
.end method

.method public abstract getMediaInfoWithUserId(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;[Ljava/lang/String;)Ljava/lang/String;
.end method

.method public abstract getOnlineRemoteUsers()[Ljava/lang/String;
.end method

.method public abstract getPreCameraType()I
.end method

.method public abstract getSdkVersion()Ljava/lang/String;
.end method

.method public abstract getUsbDeviceEvent()Lcom/alivc/rtc/AliRtcUsbDeviceEvent;
.end method

.method public abstract getUserInfo(Ljava/lang/String;)Lcom/alivc/rtc/AliRtcRemoteUserInfo;
.end method

.method public abstract getVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;
.end method

.method public abstract isAudioOnly()Z
.end method

.method public abstract isAutoPublish()Z
.end method

.method public abstract isAutoSubscribe()Z
.end method

.method public abstract isCameraAutoFocus()Z
.end method

.method public abstract isCameraFlash()Z
.end method

.method public abstract isCameraOn()Z
.end method

.method public abstract isCameraSupportExposurePoint()Z
.end method

.method public abstract isCameraSupportFocusPoint()Z
.end method

.method public abstract isEnableBackgroundAudioRecording()Z
.end method

.method public abstract isInCall()Z
.end method

.method public abstract isLocalAudioPublishEnabled()Z
.end method

.method public abstract isLocalCameraPublishEnabled()Z
.end method

.method public abstract isLocalScreenPublishEnabled()Z
.end method

.method public abstract isLocalSimulcastEnabled()Z
.end method

.method public abstract isSpeakerOn()Z
.end method

.method public abstract isUsbDeviceDetected()Z
.end method

.method public abstract isUserOnline(Ljava/lang/String;)Z
.end method

.method public abstract joinChannel(Lcom/alivc/rtc/AliRtcAuthInfo;Ljava/lang/String;)V
.end method

.method public abstract leaveChannel()V
.end method

.method public abstract muteLocalCamera(ZLcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
.end method

.method public abstract muteLocalMic(Z)I
.end method

.method public abstract muteRemoteAudioPlaying(Ljava/lang/String;Z)I
.end method

.method public abstract pauseAudioAccompany()I
.end method

.method public abstract pauseAudioEffect(I)I
.end method

.method public abstract playAudioEffect(ILjava/lang/String;IZ)I
.end method

.method public abstract preloadAudioEffect(ILjava/lang/String;)I
.end method

.method public abstract publish()V
.end method

.method public abstract registerVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$VideoRawDataInterface;
.end method

.method public abstract removeTexture(I)V
.end method

.method public abstract resumeAudioAccompany()I
.end method

.method public abstract resumeAudioEffect(I)I
.end method

.method public abstract setAudioAccompanyPlayoutVolume(I)I
.end method

.method public abstract setAudioAccompanyPublishVolume(I)I
.end method

.method public abstract setAudioAccompanyVolume(I)I
.end method

.method public abstract setAudioEffectPlayoutVolume(II)I
.end method

.method public abstract setAudioEffectPublishVolume(II)I
.end method

.method public abstract setAudioOnlyMode(Z)I
.end method

.method public abstract setAutoPublish(ZZ)I
.end method

.method public abstract setCameraExposurePoint(FF)I
.end method

.method public abstract setCameraFocusPoint(FF)I
.end method

.method public abstract setCameraZoom(FZZ)I
.end method

.method public abstract setChannelProfile(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;)I
.end method

.method public abstract setClientRole(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Client_Role;)I
.end method

.method public abstract setCollectStatusListener(Lorg/webrtc/alirtcInterface/CollectStatusListener;)V
.end method

.method public abstract setDeviceOrientationMode(Lcom/alivc/rtc/AliRtcEngine$AliRtcOrientationMode;)V
.end method

.method public abstract setEarBackVolume(I)I
.end method

.method public abstract setLocalViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
.end method

.method public abstract setLogLevel(Lcom/alivc/rtc/AliRtcEngine$AliRtcLogLevel;)V
.end method

.method public abstract setPlayoutVolume(I)I
.end method

.method public abstract setPreCameraType(I)V
.end method

.method public abstract setRecordingVolume(I)I
.end method

.method public abstract setRemoteViewConfig(Lcom/alivc/rtc/AliRtcEngine$AliVideoCanvas;Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)I
.end method

.method public abstract setRenderSharedContext(J)V
.end method

.method public abstract setRtcEngineEventListener(Lcom/alivc/rtc/AliRtcEngineEventListener;)V
.end method

.method public abstract setRtcEngineNotify(Lcom/alivc/rtc/AliRtcEngineNotify;)V
.end method

.method public abstract setTexture(Lcom/alivc/rtc/AliRtcEngine$AliRtcTextureInfo;ILjava/lang/String;)I
.end method

.method public abstract setTraceId(Ljava/lang/String;)V
.end method

.method public abstract setUsbDeviceEvent(Lcom/alivc/rtc/AliRtcUsbDeviceEvent;)V
.end method

.method public abstract setVideoProfile(Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoProfile;Lcom/alivc/rtc/AliRtcEngine$AliRtcVideoTrack;)V
.end method

.method public abstract startAudioAccompany(Ljava/lang/String;ZZI)I
.end method

.method public abstract startAudioCapture()I
.end method

.method public abstract startAudioFileRecording(Ljava/lang/String;Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioSampleRate;Lcom/alivc/rtc/AliRtcEngine$AliRtcAudioCodecQualityType;)I
.end method

.method public abstract startAudioPlayer()I
.end method

.method public abstract startPreview()I
.end method

.method public abstract stopAudioAccompany()I
.end method

.method public abstract stopAudioCapture()I
.end method

.method public abstract stopAudioEffect(I)I
.end method

.method public abstract stopAudioFileRecording()I
.end method

.method public abstract stopAudioPlayer()I
.end method

.method public abstract stopPreview()I
.end method

.method public abstract subscribe(Ljava/lang/String;)I
.end method

.method public abstract switchCamera()I
.end method

.method public abstract unRegisterVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)V
.end method

.method public abstract unloadAudioEffect(I)I
.end method

.method public abstract uploadLog()V
.end method