曹妃甸核酸检测平台.apk(点击下载) / b.java


package com.netease.nrtc;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.opengl.EGLContext;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import com.netease.nrtc.a;
import com.netease.nrtc.debug.NRtcDebugBridge;
import com.netease.nrtc.debug.NRtcDebugBridgeDevOnly;
import com.netease.nrtc.debug.NRtcDebugBridgeNop;
import com.netease.nrtc.device.DeviceUtils;
import com.netease.nrtc.engine.impl.C0373a;
import com.netease.nrtc.engine.impl.i;
import com.netease.nrtc.engine.rawapi.INetDetectEngine;
import com.netease.nrtc.engine.rawapi.IRtcEngine;
import com.netease.nrtc.engine.rawapi.IRtcEventHandler;
import com.netease.nrtc.engine.rawapi.RtcCode;
import com.netease.nrtc.engine.rawapi.RtcConfig;
import com.netease.nrtc.engine.rawapi.RtcNetworkProxy;
import com.netease.nrtc.engine.rawapi.RtcParameters;
import com.netease.nrtc.engine.rawapi.RtcPrivatizationConfig;
import com.netease.nrtc.engine.rawapi.RtcServerAddresses;
import com.netease.nrtc.sdk.EngineConfig;
import com.netease.nrtc.sdk.NRtc;
import com.netease.nrtc.sdk.NRtcCallback;
import com.netease.nrtc.sdk.NRtcCallbackEx;
import com.netease.nrtc.sdk.NRtcEx;
import com.netease.nrtc.sdk.NRtcNetworkProxy;
import com.netease.nrtc.sdk.NRtcParameters;
import com.netease.nrtc.sdk.NRtcRoomServerCallback;
import com.netease.nrtc.sdk.NRtcServerAddresses;
import com.netease.nrtc.sdk.audio.AudioFrame;
import com.netease.nrtc.sdk.audio.IPlayAudioCallBack;
import com.netease.nrtc.sdk.audio.IRemoteAudioCallBack;
import com.netease.nrtc.sdk.common.VideoFilterParameter;
import com.netease.nrtc.sdk.common.VideoFrame;
import com.netease.nrtc.sdk.common.statistics.NetStats;
import com.netease.nrtc.sdk.common.statistics.RtcStats;
import com.netease.nrtc.sdk.common.statistics.SessionStats;
import com.netease.nrtc.sdk.video.IVideoCapturer;
import com.netease.nrtc.utility.c.c;
import com.netease.nrtc.utility.j;
import com.netease.nrtc.utility.l;
import com.netease.nrtc.video.render.IVideoRender;
import com.netease.yunxin.base.crypto.MD5;
import com.netease.yunxin.base.http.HttpStack;
import com.netease.yunxin.base.http.URIUtils;
import com.netease.yunxin.base.thread.ThreadUtils;
import com.netease.yunxin.base.trace.Trace;
import com.netease.yunxin.base.utils.Checker;
import com.netease.yunxin.base.utils.FileUtils;
import com.netease.yunxin.base.utils.StringUtils;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.sina.weibo.sdk.auth.Oauth2AccessToken;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;

public class b extends NRtcEx implements IRtcEventHandler {

    /* renamed from: b  reason: collision with root package name */
    private static String f10269b = "https://nrtc.netease.im/nrtc/getChannelInfos.action";

    /* renamed from: a  reason: collision with root package name */
    private AtomicInteger f10270a;

    /* renamed from: c  reason: collision with root package name */
    private Context f10271c;

    /* renamed from: d  reason: collision with root package name */
    private NRtcCallback f10272d;

    /* renamed from: e  reason: collision with root package name */
    private IRtcEngine f10273e;

    /* renamed from: f  reason: collision with root package name */
    private Handler f10274f;

    /* renamed from: g  reason: collision with root package name */
    private volatile long f10275g;

    /* renamed from: h  reason: collision with root package name */
    private boolean f10276h = false;
    private boolean i = false;
    private boolean j = false;
    private boolean k = false;
    private boolean l = false;
    private boolean m = true;
    private String n;
    private NRtcNetworkProxy o = null;
    private long p;
    private String q;
    private NRtcDebugBridge r;
    private String s;
    private a.AbstractC0102a t = new l(this);

    /* access modifiers changed from: private */
    public static class a {

        /* renamed from: a  reason: collision with root package name */
        private final long f10277a;

        /* renamed from: b  reason: collision with root package name */
        private final String f10278b;

        /* renamed from: c  reason: collision with root package name */
        private final String f10279c;

        /* renamed from: d  reason: collision with root package name */
        private final String f10280d;

        /* renamed from: e  reason: collision with root package name */
        private final boolean f10281e;

        /* renamed from: f  reason: collision with root package name */
        private final boolean f10282f;

        a(String str, String str2, long j, String str3, boolean z, boolean z2) {
            this.f10277a = j;
            this.f10278b = str2;
            this.f10279c = str;
            this.f10280d = str3;
            this.f10281e = z;
            this.f10282f = z2;
        }

        private String a(String str, long j, long j2) {
            return MD5.md5(str + "." + j + "." + j2);
        }

        private String a(String str, long j, String str2, Map<String, String> map) {
            long currentTimeMillis = System.currentTimeMillis() / 1000;
            if (StringUtils.isEmpty(str2)) {
                str2 = a(str, j, currentTimeMillis);
            }
            StringBuilder sb = new StringBuilder();
            sb.append("appkey=");
            sb.append(str);
            sb.append("&checksum=");
            sb.append(str2);
            sb.append("&curtime=");
            sb.append(currentTimeMillis);
            for (Map.Entry<String, String> entry : map.entrySet()) {
                sb.append('&');
                sb.append(entry.getKey());
                sb.append('=');
                sb.append(entry.getValue());
            }
            Trace.i("NRtcImpl", "curtime->" + currentTimeMillis + ", sum->" + str2.substring(0, 2) + "***" + str2.substring(str2.length() - 2, str2.length()));
            return sb.toString();
        }

        private Map<String, String> b(Context context) {
            String str;
            String str2;
            HashMap hashMap = new HashMap();
            hashMap.put(Oauth2AccessToken.KEY_UID, this.f10277a + "");
            hashMap.put("channelName", this.f10278b);
            hashMap.put("osType", "2");
            StringBuilder sb = new StringBuilder();
            sb.append(StringUtils.isEmpty(this.f10279c) ? 2 : 1);
            sb.append("");
            hashMap.put("secureType", sb.toString());
            hashMap.put("version", NRtc.version().versionName + "." + NRtc.version().versionCode);
            int a2 = c.a(context);
            if (a2 != 0) {
                if (a2 == 10) {
                    str2 = "5";
                } else if (a2 == 20) {
                    str2 = "4";
                } else if (a2 == 30) {
                    str2 = "3";
                } else if (a2 == 40) {
                    hashMap.put("netType", "2");
                } else if (a2 == 50) {
                    hashMap.put("netType", "1");
                }
                hashMap.put("netType", str2);
            } else {
                hashMap.put("netType", "0");
            }
            if (this.f10281e) {
                hashMap.put("mode", "2");
            } else {
                hashMap.put("mode", "1");
            }
            if (!this.f10281e || !this.f10282f) {
                hashMap.put("live", "0");
            } else {
                hashMap.put("live", "1");
            }
            hashMap.put("webrtc", String.valueOf(1));
            hashMap.put("deviceid", DeviceUtils.a(context));
            hashMap.put("pkgName", context.getPackageName());
            StringBuilder sb2 = new StringBuilder("{ ");
            if (l.a(context)) {
                sb2.append("appkey:");
                str = this.f10280d;
            } else {
                sb2.append("appkey:");
                sb2.append(this.f10280d.substring(0, 3));
                sb2.append("***");
                String str3 = this.f10280d;
                str = str3.substring(str3.length() - 3);
            }
            sb2.append(str);
            sb2.append(StringUtils.SPACE);
            for (Map.Entry entry : hashMap.entrySet()) {
                sb2.append((String) entry.getKey());
                sb2.append(":");
                sb2.append((String) entry.getValue());
                sb2.append(StringUtils.SPACE);
            }
            sb2.append("}");
            Trace.i("NRtcImpl", sb2.toString());
            return hashMap;
        }

        /* access modifiers changed from: package-private */
        public String a(Context context) {
            String str;
            try {
                str = URIUtils.encodeQuery(a(this.f10280d, this.f10277a, this.f10279c, b(context)), "UTF-8");
            } catch (Exception e2) {
                Trace.e("NRtcImpl", e2.getMessage());
                str = null;
            }
            if (StringUtils.isEmpty(str)) {
                return null;
            }
            return b.f10269b + "?" + str;
        }
    }

    public b(Context context, String str, String str2, NRtcCallback nRtcCallback, EngineConfig engineConfig) throws Exception {
        boolean z = false;
        try {
            Checker.checkArgument(context != null, "Context is null");
            Checker.checkArgument(nRtcCallback != null ? true : z, "Callback is null");
            this.r = l.a() ? new NRtcDebugBridgeDevOnly() : new NRtcDebugBridgeNop();
            C0373a.r = this.r;
            this.f10270a = new AtomicInteger(1);
            this.f10272d = nRtcCallback;
            this.n = str;
            this.f10271c = context.getApplicationContext();
            this.q = a(str2);
            engineConfig = engineConfig == null ? new EngineConfig.Builder().build() : engineConfig;
            RtcServerAddresses a2 = a(engineConfig.getServerAddresses(), context);
            this.f10273e = IRtcEngine.create(this.f10271c, str, this.q, engineConfig.isLowEnergy(), engineConfig.getOsType(), a2, this);
            this.f10274f = new Handler(Looper.getMainLooper());
            b();
            if (a2 != null) {
                if (com.netease.nrtc.utility.a.a(a2.channelServer)) {
                    f10269b = a2.channelServer;
                }
                if (com.netease.nrtc.utility.a.a(a2.netDetectServer)) {
                    INetDetectEngine.setCustomNetDetectServer(a2.netDetectServer);
                }
                a.a(a2.reLoginConfigServer);
            }
        } catch (Exception e2) {
            Log.e("NRtcImpl", "exception -> " + e2);
            throw new Exception(e2.getMessage());
        }
    }

    private int a(String str, String str2, long j2) {
        ThreadUtils.runOnThread(j.b().f(), new h(this, new a(str, str2, j2, this.n, this.f10276h, this.l)));
        return 0;
    }

    private static RtcServerAddresses a(NRtcServerAddresses nRtcServerAddresses, Context context) {
        if (nRtcServerAddresses == null) {
            return RtcPrivatizationConfig.getServerAddress(context);
        }
        RtcServerAddresses rtcServerAddresses = new RtcServerAddresses();
        rtcServerAddresses.channelServer = nRtcServerAddresses.channelServer;
        rtcServerAddresses.compatServer = nRtcServerAddresses.compatServer;
        rtcServerAddresses.functionServer = nRtcServerAddresses.functionServer;
        rtcServerAddresses.netDetectServer = nRtcServerAddresses.netDetectServer;
        rtcServerAddresses.roomServer = nRtcServerAddresses.roomServer;
        rtcServerAddresses.statisticsServer = nRtcServerAddresses.statisticsServer;
        rtcServerAddresses.nosLbsServer = nRtcServerAddresses.nosLbsServer;
        rtcServerAddresses.nosDefaultUploadSever = nRtcServerAddresses.nosDefaultUploadSever;
        rtcServerAddresses.nosTokenServer = nRtcServerAddresses.nosTokenServer;
        rtcServerAddresses.reLoginConfigServer = nRtcServerAddresses.reLoginConfigServer;
        return rtcServerAddresses;
    }

    private static String a(int i2) {
        return i2 != 3102 ? i2 != 3104 ? "" : "audio mixing finished" : "audio mixing error";
    }

    /* JADX WARNING: Removed duplicated region for block: B:15:? A[RETURN, SYNTHETIC] */
    /* JADX WARNING: Removed duplicated region for block: B:8:0x001a  */
    private String a(String str) {
        String str2;
        if (StringUtils.isNotEmpty(str)) {
            try {
                File file = new File(str);
                FileUtils.forceMkdir(file);
                str2 = file.getAbsolutePath();
            } catch (Exception unused) {
            }
            if (StringUtils.isEmpty(str2)) {
                return str2;
            }
            File externalFilesDir = this.f10271c.getExternalFilesDir("log");
            if (externalFilesDir == null || -1 == this.f10271c.getPackageManager().checkPermission("android.permission.WRITE_EXTERNAL_STORAGE", this.f10271c.getPackageName())) {
                externalFilesDir = this.f10271c.getDir("log", 0);
            }
            return externalFilesDir.getAbsolutePath();
        }
        str2 = null;
        if (StringUtils.isEmpty(str2)) {
        }
    }

    /* access modifiers changed from: private */
    /* renamed from: a */
    public void b(int i2, int i3) {
        if (this.f10272d != null) {
            Trace.e("NRtcImpl", "onError(" + i2 + "#" + i3 + ")");
            this.f10272d.onError(i2, i3);
        }
    }

    /* access modifiers changed from: private */
    public /* synthetic */ void a(int i2, RtcConfig rtcConfig) {
        IRtcEngine iRtcEngine;
        if (i2 == 200 && (iRtcEngine = this.f10273e) != null) {
            iRtcEngine.setNewLoginConfig(rtcConfig);
        }
    }

    /* access modifiers changed from: private */
    /* JADX WARNING: Removed duplicated region for block: B:71:0x0198  */
    /* JADX WARNING: Removed duplicated region for block: B:80:? A[RETURN, SYNTHETIC] */
    /* renamed from: a */
    public void b(a aVar) {
        String str;
        boolean z;
        int i2;
        int i3;
        String str2;
        int i4;
        i iVar;
        Trace.i("NRtcImpl", "request with req");
        HttpStack.HttpStackResponse httpStackResponse = null;
        int i5 = -1;
        while (true) {
            str = "";
            z = false;
            i2 = 1;
            if (httpStackResponse != null && httpStackResponse.code == 200) {
                break;
            }
            int i6 = i5 + 1;
            if (i5 >= 3) {
                break;
            }
            int pow = i6 == 0 ? 0 : ((int) Math.pow(2.0d, (double) i6)) * 400;
            Trace.i("NRtcImpl", "request rtc info delay: " + pow);
            if (pow > 0) {
                try {
                    Thread.sleep((long) pow);
                } catch (InterruptedException e2) {
                    e2.printStackTrace();
                }
            }
            String a2 = aVar.a(this.f10271c);
            if (TextUtils.isEmpty(a2)) {
                str2 = "encode query failed";
                i4 = 1;
                i3 = -1;
                break;
            }
            HashMap hashMap = new HashMap();
            if (!TextUtils.isEmpty(this.s)) {
                hashMap.put("X-Forwarded-For", this.s);
            }
            httpStackResponse = HttpStack.doPost(a2, hashMap, null, BaseImageDownloader.DEFAULT_HTTP_CONNECT_TIMEOUT);
            i5 = i6;
        }
        str2 = str;
        i4 = 0;
        i3 = 0;
        if (i4 == 0) {
            if (httpStackResponse == null) {
                i3 = -2;
                str2 = "http response is null";
            } else {
                int i7 = httpStackResponse.code;
                if (i7 != 200) {
                    str2 = "http failed ->" + httpStackResponse.code;
                    i3 = i7;
                } else {
                    try {
                        iVar = new i(httpStackResponse.result);
                    } catch (Exception e3) {
                        str = e3.getMessage();
                        iVar = null;
                    }
                    if (iVar == null) {
                        i3 = -3;
                        str2 = "parse config failed " + str;
                    } else if (iVar.c() != 200) {
                        i3 = iVar.c();
                        str2 = "get config ->" + iVar.c() + " # " + iVar.d();
                    } else {
                        RtcConfig b2 = iVar.b();
                        this.f10275g = b2.channel;
                        b2.userId = aVar.f10277a;
                        b2.userType = 3;
                        b2.peerUserType = 3;
                        b2.encrypt_type = 0;
                        this.i = this.i && iVar.a();
                        this.j = this.j && iVar.a();
                        if (this.k && iVar.a()) {
                            z = true;
                        }
                        this.k = z;
                        RtcParameters rtcParameters = new RtcParameters();
                        rtcParameters.setObject(RtcParameters.KEY_SERVER_AUDIO_RECORD, Boolean.valueOf(this.i));
                        rtcParameters.setObject(RtcParameters.KEY_SERVER_VIDEO_RECORD, Boolean.valueOf(this.j));
                        rtcParameters.setObject(RtcParameters.KEY_SERVER_RECORD_SPEAKER, Boolean.valueOf(this.k));
                        if (!this.m && l.c(this.f10271c)) {
                            b2.p2p = this.m;
                        }
                        if (this.o != null) {
                            RtcNetworkProxy rtcNetworkProxy = new RtcNetworkProxy();
                            NRtcNetworkProxy nRtcNetworkProxy = this.o;
                            rtcNetworkProxy.scheme = nRtcNetworkProxy.scheme;
                            rtcNetworkProxy.userName = nRtcNetworkProxy.userName;
                            rtcNetworkProxy.userPassword = nRtcNetworkProxy.userPassword;
                            rtcNetworkProxy.host = nRtcNetworkProxy.host;
                            rtcNetworkProxy.port = nRtcNetworkProxy.port;
                            b2.networkProxy = rtcNetworkProxy;
                        }
                        IRtcEngine iRtcEngine = this.f10273e;
                        if (iRtcEngine != null) {
                            iRtcEngine.setParameters(rtcParameters);
                        }
                        a(b2);
                    }
                }
            }
            if (i2 == 0) {
                Trace.e("NRtcImpl", "joint channel error {" + str2 + "}");
                Handler handler = this.f10274f;
                if (handler != null) {
                    handler.post(new k(this, i2, i3));
                    return;
                }
                return;
            }
            return;
        }
        i2 = i4;
        if (i2 == 0) {
        }
    }

    private void a(RtcConfig rtcConfig) {
        ThreadUtils.runOnThread(this.f10274f, new j(this, rtcConfig));
    }

    private void a(NRtcParameters nRtcParameters) {
        RtcParameters rawParameters = nRtcParameters.getRawParameters();
        if (rawParameters.containsKey(RtcParameters.KEY_SESSION_MULTI_MODE)) {
            this.f10276h = nRtcParameters.getBoolean(NRtcParameters.KEY_SESSION_MULTI_MODE);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_SERVER_AUDIO_RECORD)) {
            this.i = nRtcParameters.getBoolean(NRtcParameters.KEY_SERVER_AUDIO_RECORD);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_SERVER_VIDEO_RECORD)) {
            this.j = nRtcParameters.getBoolean(NRtcParameters.KEY_SERVER_VIDEO_RECORD);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_SERVER_RECORD_SPEAKER)) {
            this.k = nRtcParameters.getBoolean(NRtcParameters.KEY_SERVER_RECORD_SPEAKER);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_SESSION_LIVE_MODE)) {
            this.l = nRtcParameters.getBoolean(NRtcParameters.KEY_SESSION_LIVE_MODE);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_NET_P2P)) {
            this.m = rawParameters.getBoolean(RtcParameters.KEY_NET_P2P);
            rawParameters.removeParameters(RtcParameters.KEY_NET_P2P);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_SESSION_PRIVATE_SERVER)) {
            f10269b = rawParameters.getString(RtcParameters.KEY_SESSION_PRIVATE_SERVER);
            rawParameters.removeParameters(RtcParameters.KEY_SESSION_PRIVATE_SERVER);
        }
        if (rawParameters.containsKey(RtcParameters.KEY_DISPATCHER_FORWARDED_IP)) {
            this.s = l.c(this.f10271c) ? rawParameters.getString(RtcParameters.KEY_DISPATCHER_FORWARDED_IP) : null;
            rawParameters.removeParameters(RtcParameters.KEY_DISPATCHER_FORWARDED_IP);
            Trace.d("NRtcImpl", "forward ip : " + this.s);
        }
    }

    /* access modifiers changed from: private */
    public /* synthetic */ void a(NRtcRoomServerCallback nRtcRoomServerCallback, int i2, String str) {
        Handler handler = this.f10274f;
        if (handler != null) {
            handler.post(new i(nRtcRoomServerCallback, i2, str));
        }
    }

    private void b() {
        try {
            ApplicationInfo applicationInfo = this.f10271c.getPackageManager().getApplicationInfo(this.f10271c.getPackageName(), 128);
            if (applicationInfo != null && applicationInfo.metaData != null) {
                String string = applicationInfo.metaData.getString("com.netease.nrtc.server");
                if (StringUtils.isNotEmpty(string)) {
                    f10269b = string;
                }
            }
        } catch (Throwable th) {
            Trace.e("NRtcImpl", th.getMessage());
        }
    }

    /* access modifiers changed from: private */
    public /* synthetic */ void b(RtcConfig rtcConfig) {
        boolean z = false;
        if (this.f10273e != null && this.f10270a.get() == 2) {
            if (this.f10273e.joinChannel(rtcConfig, this.p) == 0) {
                z = true;
            }
            this.f10270a.set(3);
        }
        if (!z) {
            Trace.e("NRtcImpl", "joint channel return false ");
            b(3, -10);
        }
    }

    /* access modifiers changed from: private */
    public static /* synthetic */ void b(NRtcRoomServerCallback nRtcRoomServerCallback, int i2, String str) {
        if (nRtcRoomServerCallback != null) {
            nRtcRoomServerCallback.onResult(i2, str);
        }
    }

    private NRtcCallbackEx c() {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback == null || !(nRtcCallback instanceof NRtcCallbackEx)) {
            return null;
        }
        return (NRtcCallbackEx) nRtcCallback;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean allRemoteAudioStreamMuted() {
        return remoteAudioStreamMuted(-1);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int disableVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.disableVideo();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    @SuppressLint({"NewApi"})
    public int dispose() throws IllegalStateException {
        IRtcEngine iRtcEngine = this.f10273e;
        int dispose = iRtcEngine != null ? iRtcEngine.dispose() : 0;
        this.r.clear();
        this.f10273e = null;
        this.f10272d = null;
        return dispose;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int enableVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.enableVideo();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int getConnectStatus() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return 0;
        }
        return iRtcEngine.getConnectStatus();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public NRtcDebugBridge getDebugBridge() {
        return this.r;
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public NRtcNetworkProxy getNetworkProxy() {
        return this.o;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public <T> T getParameter(NRtcParameters.Key<T> key) {
        NRtcParameters nRtcParameters = new NRtcParameters();
        nRtcParameters.setRequestKey(key);
        NRtcParameters parameters = getParameters(nRtcParameters);
        if (parameters == null || !parameters.containsKey(key)) {
            return null;
        }
        return (T) parameters.get(key);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public NRtcParameters getParameters(NRtcParameters nRtcParameters) {
        RtcParameters rtcParameters = null;
        if (this.f10273e == null) {
            return null;
        }
        NRtcParameters nRtcParameters2 = new NRtcParameters();
        IRtcEngine iRtcEngine = this.f10273e;
        if (nRtcParameters != null) {
            rtcParameters = nRtcParameters.getRawParameters();
        }
        nRtcParameters2.setRawParameters(iRtcEngine.getParameters(rtcParameters));
        return nRtcParameters2;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int getRole() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            return iRtcEngine.getRole();
        }
        return 0;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean isAutoPublishVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.isAutoPublishVideo();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean isAutoSubscribeAudio() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.isAutoSubscribeAudio();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean isAutoSubscribeVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.isAutoSubscribeVideo();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean isMicrophoneMute() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.isMicrophoneMute();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int joinChannel(String str, String str2, long j2) {
        String str3;
        Trace.i("NRtcImpl", "joinChannel, name = " + str2 + ", uid = " + j2);
        this.p = SystemClock.elapsedRealtime();
        if (StringUtils.isEmpty(str2)) {
            str3 = "joinChannel error: channel name is empty!";
        } else if (j2 == 0) {
            str3 = "joinChannel error: uid == 0!";
        } else if (this.f10270a.compareAndSet(1, 2)) {
            return a(str, str2, j2);
        } else {
            Trace.e("NRtcImpl", "joinChannel error: statue illegal!");
            return -500;
        }
        Trace.e("NRtcImpl", str3);
        return -400;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int leaveChannel() {
        int i2;
        IRtcEngine iRtcEngine;
        if (!this.f10270a.compareAndSet(3, 4) || (iRtcEngine = this.f10273e) == null) {
            i2 = -500;
        } else {
            iRtcEngine.leaveChannel();
            i2 = 0;
        }
        this.f10270a.set(1);
        return i2;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean localAudioStreamMuted() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.localAudioStreamMuted();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean localVideoStreamMuted() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.localVideoStreamMuted();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int muteAllRemoteAudioStream(boolean z) {
        return muteRemoteAudioStream(-1, z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int muteLocalAudioStream(boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.muteLocalAudioStream(z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int muteLocalVideoStream(boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.muteLocalVideoStream(z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int muteRemoteAudioStream(long j2, boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.muteRemoteAudioStream(j2, z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int muteRemoteVideoStream(long j2, boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.muteRemoteVideoStream(j2, z);
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAVRecordingCompletion(long j2, String str) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onAVRecordingCompletion(j2, str);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAVRecordingStart(long j2, String str) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onAVRecordingStart(j2, str);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioDeviceChanged(int i2, Set<Integer> set, boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onAudioDeviceChanged(i2, set, z);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioEffectPlayEvent(int i2, int i3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onAudioEffectPlayEvent(i2, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioEffectPreload(int i2, int i3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onAudioEffectPreload(i2, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public boolean onAudioFrameFilter(AudioFrame audioFrame) {
        NRtcCallback nRtcCallback = this.f10272d;
        return nRtcCallback == null || nRtcCallback.onAudioFrameFilter(audioFrame);
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioMixingEvent(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onDeviceEvent(i2, a(i2));
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioMixingProgressUpdated(long j2, long j3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onAudioMixingProgressUpdated(j2, j3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioRecordingCompletion(String str) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onAudioRecordingCompletion(str);
        } else {
            Trace.e("NRtcImpl", "onAudioRecordingCompletion: Unable to find a callback");
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onAudioRecordingStart(String str) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onAudioRecordingStart(str);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onCallEstablished() {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onCallEstablished();
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onConnectionTypeChanged(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onConnectionTypeChanged(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onDeviceEvent(int i2, String str) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onDeviceEvent(i2, str);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onDisconnectServer(int i2) {
        b(3, i2 != 2 ? i2 != 3 ? 11001 : 11005 : 11004);
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onFirstVideoFrameAvailable(long j2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onFirstVideoFrameAvailable(j2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onFirstVideoFrameRendered(long j2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onFirstVideoFrameRendered(j2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onJoinedChannel(int i2, String str, String str2, int i3) {
        if (i2 != 200) {
            b(2, i2);
            return;
        }
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onJoinedChannel(this.f10275g, str2, str, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onLeaveChannel(SessionStats sessionStats) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onLeftChannel(sessionStats);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onLiveEvent(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onLiveEvent(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onLowStorageSpaceWarning(long j2) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onLowStorageSpaceWarning(j2);
        } else {
            Trace.e("NRtcImpl", "onLowStorageSpaceWarning: Unable to find a callback");
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onNetworkQuality(long j2, int i2, NetStats netStats) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onNetworkQuality(j2, i2, netStats);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onProtocolIncompatible(int i2) {
        b(3, i2 == 0 ? 11002 : 11003);
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onPublishVideoResult(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onPublishVideoResult(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onReloginCallback(int i2, RtcConfig rtcConfig) {
        a.a().a(this.n, rtcConfig, this.t);
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onRemotePublishVideo(long j2, int[] iArr) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onRemotePublishVideo(j2, iArr);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onRemoteUnpublishVideo(long j2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onRemoteUnpublishVideo(j2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onReportSpeaker(int i2, long[] jArr, int[] iArr, int i3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onReportSpeaker(i2, jArr, iArr, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onSessionStats(SessionStats sessionStats) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onSessionStats(sessionStats);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onSubscribeAudioResult(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onSubscribeAudioResult(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onSubscribeVideoResult(long j2, int i2, int i3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onSubscribeVideoResult(j2, i2, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onTakeSnapshotResult(long j2, boolean z, String str) {
        NRtcCallbackEx c2 = c();
        if (c2 != null) {
            c2.onTakeSnapshotResult(j2, z, str);
        } else {
            Trace.e("NRtcImpl", "onTakeSnapshotResult: Unable to find a callback");
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUnpublishVideoResult(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUnpublishVideoResult(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUnsubscribeAudioResult(int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUnsubscribeAudioResult(i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUnsubscribeVideoResult(long j2, int i2, int i3) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUnsubscribeVideoResult(j2, i2, i3);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUserEnableVideo(long j2, boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUserEnableVideo(j2, z);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUserJoined(long j2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUserJoined(j2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUserLeave(long j2, RtcStats rtcStats, int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUserLeft(j2, rtcStats, i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUserMuteAudio(long j2, boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUserMuteAudio(j2, z);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onUserMuteVideo(long j2, boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onUserMuteVideo(j2, z);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onVideoCapturerStarted(boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onVideoCapturerStarted(z);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onVideoCapturerStopped() {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onVideoCapturerStopped();
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onVideoFpsReported(long j2, int i2) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onVideoFpsReported(j2, i2);
        }
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public boolean onVideoFrameFilter(VideoFrame videoFrame, boolean z) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            return nRtcCallback.onVideoFrameFilter(videoFrame, z);
        }
        return false;
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public boolean onVideoFrameFilter(com.netease.nrtc.sdk.video.VideoFrame videoFrame, com.netease.nrtc.sdk.video.VideoFrame[] videoFrameArr, VideoFilterParameter videoFilterParameter) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            return nRtcCallback.onVideoFrameFilter(videoFrame, videoFrameArr, videoFilterParameter);
        }
        return false;
    }

    @Override // com.netease.nrtc.engine.rawapi.IRtcEventHandler
    public void onVideoFrameResolutionChanged(long j2, int i2, int i3, int i4) {
        NRtcCallback nRtcCallback = this.f10272d;
        if (nRtcCallback != null) {
            nRtcCallback.onVideoFrameResolutionChanged(j2, i2, i3, i4);
        }
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int pauseAudioMixing() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.pauseAudioMixing();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int playAudioEffect(int i2, int i3, boolean z, float f2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.playAudioEffect(i2, i3, z, f2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public void preloadAudioEffect(int i2, String str) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.preloadAudioEffect(i2, str);
        }
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int publishVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            return iRtcEngine.publishVideo();
        }
        return -1;
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int pushExternalAudioData(byte[] bArr, int i2, int i3, int i4, int i5, boolean z) throws NullPointerException, IllegalArgumentException {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.pushExternalAudioData(bArr, i2, i3, i4, i5, z);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int pushExternalAudioMixingStream(byte[] bArr, int i2, int i3, int i4) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.pushExternalAudioMixingStream(bArr, i2, i3, i4);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public void rate(int i2, String str) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.rate(i2, str);
        }
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean registerPlayAudioCallBack(IPlayAudioCallBack iPlayAudioCallBack) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.registerPlayAudioCallBack(iPlayAudioCallBack);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean registerRemoteAudioCallBack(long j2, IRemoteAudioCallBack iRemoteAudioCallBack) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.registerRemoteAudioCallBack(j2, iRemoteAudioCallBack);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean remoteAudioStreamMuted(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.remoteAudioStreamMuted(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean remoteVideoStreamMuted(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.remoteVideoStreamMuted(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int resumeAudioMixing() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.resumeAudioMixing();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int seekAudioMixing(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.seekAudioMixing(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public void selectAudioDevice(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.selectAudioDevice(i2);
        }
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public void setAsMainArea(long j2, NRtcRoomServerCallback nRtcRoomServerCallback) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.setAsMainArea(j2, new m(this, nRtcRoomServerCallback));
        } else if (nRtcRoomServerCallback != null) {
            nRtcRoomServerCallback.onResult(RtcCode.ERR_UNINITIALIZED, "mEngine == null");
        }
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int setAudioMixingPlaybackVolume(float f2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setAudioMixingPlaybackVolume(f2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int setAudioMixingSendVolume(float f2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setAudioMixingSendVolume(f2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setAutoPublish(boolean z, boolean z2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.setAutoPublish(z, z2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setChannelProfile(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setChannelProfile(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int setExternalAudioMixingStream(boolean z, boolean z2, boolean z3) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setExternalAudioMixingStream(z, z2, z3);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int setExternalAudioSource(boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setExternalAudioSource(z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setLocalVideoSimulcastModel(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            return iRtcEngine.setLocalVideoSimulcastModel(i2);
        }
        return -1;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setMicrophoneMute(boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setMicrophoneMute(z);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public void setNetworkProxy(NRtcNetworkProxy nRtcNetworkProxy) {
        this.o = nRtcNetworkProxy;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public <T> void setParameter(NRtcParameters.Key<T> key, T t2) throws IllegalArgumentException {
        Checker.checkNotNull(key, "key is null");
        NRtcParameters nRtcParameters = new NRtcParameters();
        nRtcParameters.set(key, t2);
        a(nRtcParameters);
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.setParameters(nRtcParameters.getRawParameters());
        }
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public void setParameters(NRtcParameters nRtcParameters) throws IllegalArgumentException {
        Checker.checkArgument(nRtcParameters != null, "parameters is null");
        a(nRtcParameters);
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            iRtcEngine.setParameters(nRtcParameters.getRawParameters());
        }
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int setPlayCapturedAudioVolume(float f2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setPlayCapturedAudioVolume(f2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setPublishFallbackOption(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.setPublishFallbackOption(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setRole(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setRole(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setSpeaker(boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return RtcCode.ERR_UNINITIALIZED;
        }
        int speakerphoneOn = iRtcEngine.setSpeakerphoneOn(z);
        return speakerphoneOn == 0 ? speakerEnabled() == z ? 0 : -1 : speakerphoneOn;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setVideoQualityStrategy(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setVideoQualityStrategy(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setupLocalVideoRenderer(IVideoRender iVideoRender, int i2, boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setupLocalVideoRenderer(iVideoRender, i2, z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setupRemoteVideoRenderer(IVideoRender iVideoRender, long j2, int i2, boolean z) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setupRemoteVideoRenderer(iVideoRender, j2, i2, z);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int setupVideoCapturer(IVideoCapturer iVideoCapturer) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.setupVideoCapturer(iVideoCapturer);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public boolean speakerEnabled() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine != null && iRtcEngine.isSpeakerphoneOn();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int startAVRecording(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startAVRecording(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int startAudioMixing(String str, boolean z, boolean z2, int i2, float f2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startAudioMixing(str, z, z2, i2, f2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int startAudioRecording() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startAudioRecording();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int startAudioRecording(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startAudioRecording(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int startPlayCapturedAudio() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startPlayCapturedAudio();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int startVideoPreview() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.startVideoPreview();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int stopAVRecording(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopAVRecording(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int stopAudioMixing() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopAudioMixing();
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int stopAudioRecording() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopAudioRecording();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int stopPlayAudioEffect(int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopPlayAudioEffect(i2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int stopPlayCapturedAudio() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopPlayCapturedAudio();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int stopVideoPreview() {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.stopVideoPreview();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int subscribeActiveAudio() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.subscribeActiveAudio();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int subscribeVideo(long j2, int i2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.subscribeVideo(j2, i2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int takeSnapshot(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.takeSnapshot(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int unpublishVideo() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine != null) {
            return iRtcEngine.unpublishVideo();
        }
        return -1;
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int unsubscribeActiveAudio() {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.unsubscribeActiveAudio();
    }

    @Override // com.netease.nrtc.sdk.NRtc
    public int unsubscribeVideo(long j2) {
        IRtcEngine iRtcEngine = this.f10273e;
        if (iRtcEngine == null) {
            return -1;
        }
        return iRtcEngine.unsubscribeVideo(j2);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int updateSharedEGLContext(EGLContext eGLContext) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.updateSharedEGLContext(eGLContext);
    }

    @Override // com.netease.nrtc.sdk.NRtcEx
    public int updateSharedEGLContext(javax.microedition.khronos.egl.EGLContext eGLContext) {
        IRtcEngine iRtcEngine = this.f10273e;
        return iRtcEngine == null ? RtcCode.ERR_UNINITIALIZED : iRtcEngine.updateSharedEGLContext(eGLContext);
    }
}