PeerConnectionFactory.smali
.class public Lorg/webrtc/PeerConnectionFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/webrtc/PeerConnectionFactory$Builder;,
Lorg/webrtc/PeerConnectionFactory$Options;,
Lorg/webrtc/PeerConnectionFactory$InitializationOptions;,
Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "PeerConnectionFactory"
.field public static final TRIAL_ENABLED:Ljava/lang/String; = "Enabled"
.field private static final VIDEO_CAPTURER_THREAD_NAME:Ljava/lang/String; = "VideoCapturerThread"
.field public static final VIDEO_FRAME_EMIT_TRIAL:Ljava/lang/String; = "VideoFrameEmit"
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field private static volatile internalTracerInitialized:Z
.field private static staticNetworkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.field private static staticSignalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.field private static staticWorkerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
# instance fields
.field private nativeFactory:J
.field private volatile networkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.field private volatile signalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.field private volatile workerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
# direct methods
.method public constructor <init>(J)V
.registers 6
.annotation build Lorg/webrtc/CalledByNative;
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->checkInitializeHasBeenCalled()V
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-eqz v2, :cond_f
.line 3
iput-wide p1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
return-void
.line 4
:cond_f
new-instance p1, Ljava/lang/RuntimeException;
const-string p2, "Failed to initialize PeerConnectionFactory!"
invoke-direct {p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static synthetic access$100()V
.registers 0
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->checkInitializeHasBeenCalled()V
return-void
.end method
.method public static synthetic access$200(Landroid/content/Context;Lorg/webrtc/PeerConnectionFactory$Options;JJJLorg/webrtc/VideoEncoderFactory;Lorg/webrtc/VideoDecoderFactory;JJJJJ)Lorg/webrtc/PeerConnectionFactory;
.registers 21
invoke-static/range {p0 .. p19}, Lorg/webrtc/PeerConnectionFactory;->nativeCreatePeerConnectionFactory(Landroid/content/Context;Lorg/webrtc/PeerConnectionFactory$Options;JJJLorg/webrtc/VideoEncoderFactory;Lorg/webrtc/VideoDecoderFactory;JJJJJ)Lorg/webrtc/PeerConnectionFactory;
move-result-object v0
return-object v0
.end method
.method public static builder()Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
new-instance v0, Lorg/webrtc/PeerConnectionFactory$Builder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lorg/webrtc/PeerConnectionFactory$Builder;-><init>(Lorg/webrtc/PeerConnectionFactory$1;)V
return-object v0
.end method
.method private static checkInitializeHasBeenCalled()V
.registers 2
.line 1
invoke-static {}, Lorg/webrtc/NativeLibrary;->isLoaded()Z
move-result v0
if-eqz v0, :cond_d
invoke-static {}, Lorg/webrtc/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
if-eqz v0, :cond_d
return-void
.line 2
:cond_d
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "PeerConnectionFactory.initialize was not called before creating a PeerConnectionFactory."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private checkPeerConnectionFactoryExists()V
.registers 6
.line 1
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_9
return-void
.line 2
:cond_9
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "PeerConnectionFactory has been disposed."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static fieldTrialsFindFullName(Ljava/lang/String;)Ljava/lang/String;
.registers 2
invoke-static {}, Lorg/webrtc/NativeLibrary;->isLoaded()Z
move-result v0
if-eqz v0, :cond_b
invoke-static {p0}, Lorg/webrtc/PeerConnectionFactory;->nativeFindFieldTrialsFullName(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_d
:cond_b
const-string p0, ""
:goto_d
return-object p0
.end method
.method public static initialize(Lorg/webrtc/PeerConnectionFactory$InitializationOptions;)V
.registers 3
.line 1
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->applicationContext:Landroid/content/Context;
invoke-static {v0}, Lorg/webrtc/ContextUtils;->initialize(Landroid/content/Context;)V
.line 2
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->nativeLibraryLoader:Lorg/webrtc/NativeLibraryLoader;
iget-object v1, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->nativeLibraryName:Ljava/lang/String;
invoke-static {v0, v1}, Lorg/webrtc/NativeLibrary;->initialize(Lorg/webrtc/NativeLibraryLoader;Ljava/lang/String;)V
.line 3
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativeInitializeAndroidGlobals()V
.line 4
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->fieldTrials:Ljava/lang/String;
invoke-static {v0}, Lorg/webrtc/PeerConnectionFactory;->nativeInitializeFieldTrials(Ljava/lang/String;)V
.line 5
iget-boolean v0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->enableInternalTracer:Z
if-eqz v0, :cond_1f
sget-boolean v0, Lorg/webrtc/PeerConnectionFactory;->internalTracerInitialized:Z
if-nez v0, :cond_1f
.line 6
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->initializeInternalTracer()V
.line 7
:cond_1f
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->loggable:Lorg/webrtc/Loggable;
if-eqz v0, :cond_39
.line 8
iget-object v1, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->loggableSeverity:Lorg/webrtc/Logging$Severity;
invoke-static {v0, v1}, Lorg/webrtc/Logging;->injectLoggable(Lorg/webrtc/Loggable;Lorg/webrtc/Logging$Severity;)V
.line 9
new-instance v0, Lorg/webrtc/JNILogging;
iget-object v1, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->loggable:Lorg/webrtc/Loggable;
invoke-direct {v0, v1}, Lorg/webrtc/JNILogging;-><init>(Lorg/webrtc/Loggable;)V
iget-object p0, p0, Lorg/webrtc/PeerConnectionFactory$InitializationOptions;->loggableSeverity:Lorg/webrtc/Logging$Severity;
invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
move-result p0
invoke-static {v0, p0}, Lorg/webrtc/PeerConnectionFactory;->nativeInjectLoggable(Lorg/webrtc/JNILogging;I)V
goto :goto_46
:cond_39
const-string p0, "PeerConnectionFactory"
const-string v0, "PeerConnectionFactory was initialized without an injected Loggable. Any existing Loggable will be deleted."
.line 10
invoke-static {p0, v0}, Lorg/webrtc/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 11
invoke-static {}, Lorg/webrtc/Logging;->deleteInjectedLoggable()V
.line 12
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativeDeleteLoggable()V
:goto_46
return-void
.end method
.method public static initializeFieldTrials(Ljava/lang/String;)V
.registers 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
invoke-static {p0}, Lorg/webrtc/PeerConnectionFactory;->nativeInitializeFieldTrials(Ljava/lang/String;)V
return-void
.end method
.method private static initializeInternalTracer()V
.registers 1
const/4 v0, 0x1
.line 1
sput-boolean v0, Lorg/webrtc/PeerConnectionFactory;->internalTracerInitialized:Z
.line 2
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativeInitializeInternalTracer()V
return-void
.end method
.method private static native nativeCreateAudioSource(JLorg/webrtc/MediaConstraints;)J
.end method
.method private static native nativeCreateAudioTrack(JLjava/lang/String;J)J
.end method
.method private static native nativeCreateLocalMediaStream(JLjava/lang/String;)J
.end method
.method private static native nativeCreatePeerConnection(JLorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;JLorg/webrtc/SSLCertificateVerifier;)J
.end method
.method private static native nativeCreatePeerConnectionFactory(Landroid/content/Context;Lorg/webrtc/PeerConnectionFactory$Options;JJJLorg/webrtc/VideoEncoderFactory;Lorg/webrtc/VideoDecoderFactory;JJJJJ)Lorg/webrtc/PeerConnectionFactory;
.end method
.method private static native nativeCreateVideoSource(JZZ)J
.end method
.method private static native nativeCreateVideoTrack(JLjava/lang/String;J)J
.end method
.method private static native nativeDeleteLoggable()V
.end method
.method private static native nativeEnableSoftAEC(JZI)V
.end method
.method private static native nativeFindFieldTrialsFullName(Ljava/lang/String;)Ljava/lang/String;
.end method
.method private static native nativeFreeFactory(J)V
.end method
.method private static native nativeGetNativePeerConnectionFactory(J)J
.end method
.method private static native nativeInitializeAndroidGlobals()V
.end method
.method private static native nativeInitializeFieldTrials(Ljava/lang/String;)V
.end method
.method private static native nativeInitializeInternalTracer()V
.end method
.method private static native nativeInjectLoggable(Lorg/webrtc/JNILogging;I)V
.end method
.method private static native nativePrintStackTrace(I)V
.end method
.method private static native nativePrintStackTracesOfRegisteredThreads()V
.end method
.method private static native nativeRestartRecording(JI)V
.end method
.method private static native nativeSetAudioPlayoutOn(JZ)Z
.end method
.method private static native nativeSetAudioRecordingOn(JZ)Z
.end method
.method private static native nativeSetLocalAudioConfig(JLjava/lang/String;)V
.end method
.method private static native nativeSetNoiseSuppressionMethod(JI)V
.end method
.method private static native nativeShutdownInternalTracer()V
.end method
.method private static native nativeStartAecDump(JII)Z
.end method
.method private static native nativeStartInternalTracingCapture(Ljava/lang/String;)Z
.end method
.method private static native nativeStopAecDump(J)V
.end method
.method private static native nativeStopInternalTracingCapture()V
.end method
.method private onNetworkThreadReady()V
.registers 3
.annotation build Lorg/webrtc/CalledByNative;
.end annotation
.line 1
invoke-static {}, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->getCurrent()Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
move-result-object v0
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->networkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.line 2
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->networkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
sput-object v0, Lorg/webrtc/PeerConnectionFactory;->staticNetworkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
const-string v0, "PeerConnectionFactory"
const-string v1, "onNetworkThreadReady"
.line 3
invoke-static {v0, v1}, Lorg/webrtc/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private onSignalingThreadReady()V
.registers 3
.annotation build Lorg/webrtc/CalledByNative;
.end annotation
.line 1
invoke-static {}, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->getCurrent()Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
move-result-object v0
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->signalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.line 2
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->signalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
sput-object v0, Lorg/webrtc/PeerConnectionFactory;->staticSignalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
const-string v0, "PeerConnectionFactory"
const-string v1, "onSignalingThreadReady"
.line 3
invoke-static {v0, v1}, Lorg/webrtc/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private onWorkerThreadReady()V
.registers 3
.annotation build Lorg/webrtc/CalledByNative;
.end annotation
.line 1
invoke-static {}, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->getCurrent()Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
move-result-object v0
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->workerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.line 2
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->workerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
sput-object v0, Lorg/webrtc/PeerConnectionFactory;->staticWorkerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
const-string v0, "PeerConnectionFactory"
const-string v1, "onWorkerThreadReady"
.line 3
invoke-static {v0, v1}, Lorg/webrtc/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
.registers 8
if-nez p0, :cond_3
return-void
.line 1
:cond_3
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->thread:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v0
.line 2
iget-object v1, p0, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->thread:Ljava/lang/Thread;
invoke-virtual {v1}, Ljava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v1
.line 3
array-length v2, v1
const-string v3, "PeerConnectionFactory"
if-lez v2, :cond_38
.line 4
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, " stacktrace:"
invoke-virtual {v2, v4}, 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 {v3, v2}, Lorg/webrtc/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 5
array-length v2, v1
const/4 v4, 0x0
:goto_2a
if-ge v4, v2, :cond_38
aget-object v5, v1, v4
.line 6
invoke-virtual {v5}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v3, v5}, Lorg/webrtc/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
add-int/lit8 v4, v4, 0x1
goto :goto_2a
:cond_38
if-eqz p1, :cond_73
const-string p1, "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***"
.line 7
invoke-static {v3, p1}, Lorg/webrtc/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 8
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "pid: "
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 9
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", tid: "
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->tid:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", name: "
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " >>> WebRTC <<<"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 10
invoke-static {v3, p1}, Lorg/webrtc/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 11
iget p0, p0, Lorg/webrtc/PeerConnectionFactory$ThreadInfo;->tid:I
invoke-static {p0}, Lorg/webrtc/PeerConnectionFactory;->nativePrintStackTrace(I)V
:cond_73
return-void
.end method
.method public static printStackTraces()V
.registers 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
sget-object v0, Lorg/webrtc/PeerConnectionFactory;->staticNetworkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
const/4 v1, 0x0
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
.line 2
sget-object v0, Lorg/webrtc/PeerConnectionFactory;->staticWorkerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
.line 3
sget-object v0, Lorg/webrtc/PeerConnectionFactory;->staticSignalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
return-void
.end method
.method public static shutdownInternalTracer()V
.registers 1
const/4 v0, 0x0
.line 1
sput-boolean v0, Lorg/webrtc/PeerConnectionFactory;->internalTracerInitialized:Z
.line 2
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativeShutdownInternalTracer()V
return-void
.end method
.method public static startInternalTracingCapture(Ljava/lang/String;)Z
.registers 1
invoke-static {p0}, Lorg/webrtc/PeerConnectionFactory;->nativeStartInternalTracingCapture(Ljava/lang/String;)Z
move-result p0
return p0
.end method
.method public static stopInternalTracingCapture()V
.registers 0
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativeStopInternalTracingCapture()V
return-void
.end method
# virtual methods
.method public EnableSoftAEC(ZI)V
.registers 5
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1, p2}, Lorg/webrtc/PeerConnectionFactory;->nativeEnableSoftAEC(JZI)V
return-void
.end method
.method public createAudioSource(Lorg/webrtc/MediaConstraints;)Lorg/webrtc/AudioSource;
.registers 5
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
new-instance v0, Lorg/webrtc/AudioSource;
iget-wide v1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v1, v2, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeCreateAudioSource(JLorg/webrtc/MediaConstraints;)J
move-result-wide v1
invoke-direct {v0, v1, v2}, Lorg/webrtc/AudioSource;-><init>(J)V
return-object v0
.end method
.method public createAudioTrack(Ljava/lang/String;Lorg/webrtc/AudioSource;)Lorg/webrtc/AudioTrack;
.registers 8
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
new-instance v0, Lorg/webrtc/AudioTrack;
iget-wide v1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-virtual {p2}, Lorg/webrtc/AudioSource;->getNativeAudioSource()J
move-result-wide v3
invoke-static {v1, v2, p1, v3, v4}, Lorg/webrtc/PeerConnectionFactory;->nativeCreateAudioTrack(JLjava/lang/String;J)J
move-result-wide p1
invoke-direct {v0, p1, p2}, Lorg/webrtc/AudioTrack;-><init>(J)V
return-object v0
.end method
.method public createLocalMediaStream(Ljava/lang/String;)Lorg/webrtc/MediaStream;
.registers 5
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
new-instance v0, Lorg/webrtc/MediaStream;
iget-wide v1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v1, v2, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeCreateLocalMediaStream(JLjava/lang/String;)J
move-result-wide v1
invoke-direct {v0, v1, v2}, Lorg/webrtc/MediaStream;-><init>(J)V
return-object v0
.end method
.method public createPeerConnection(Ljava/util/List;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lorg/webrtc/PeerConnection$IceServer;",
">;",
"Lorg/webrtc/MediaConstraints;",
"Lorg/webrtc/PeerConnection$Observer;",
")",
"Lorg/webrtc/PeerConnection;"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2
new-instance v0, Lorg/webrtc/PeerConnection$RTCConfiguration;
invoke-direct {v0, p1}, Lorg/webrtc/PeerConnection$RTCConfiguration;-><init>(Ljava/util/List;)V
.line 3
invoke-virtual {p0, v0, p2, p3}, Lorg/webrtc/PeerConnectionFactory;->createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
move-result-object p1
return-object p1
.end method
.method public createPeerConnection(Ljava/util/List;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lorg/webrtc/PeerConnection$IceServer;",
">;",
"Lorg/webrtc/PeerConnection$Observer;",
")",
"Lorg/webrtc/PeerConnection;"
}
.end annotation
.line 4
new-instance v0, Lorg/webrtc/PeerConnection$RTCConfiguration;
invoke-direct {v0, p1}, Lorg/webrtc/PeerConnection$RTCConfiguration;-><init>(Ljava/util/List;)V
.line 5
invoke-virtual {p0, v0, p2}, Lorg/webrtc/PeerConnectionFactory;->createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
move-result-object p1
return-object p1
.end method
.method public createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
.registers 5
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, p3, v0}, Lorg/webrtc/PeerConnectionFactory;->createPeerConnectionInternal(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;Lorg/webrtc/SSLCertificateVerifier;)Lorg/webrtc/PeerConnection;
move-result-object p1
return-object p1
.end method
.method public createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
.registers 4
const/4 v0, 0x0
.line 6
invoke-virtual {p0, p1, v0, p2}, Lorg/webrtc/PeerConnectionFactory;->createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;)Lorg/webrtc/PeerConnection;
move-result-object p1
return-object p1
.end method
.method public createPeerConnection(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/PeerConnectionDependencies;)Lorg/webrtc/PeerConnection;
.registers 5
.line 7
invoke-virtual {p2}, Lorg/webrtc/PeerConnectionDependencies;->getObserver()Lorg/webrtc/PeerConnection$Observer;
move-result-object v0
invoke-virtual {p2}, Lorg/webrtc/PeerConnectionDependencies;->getSSLCertificateVerifier()Lorg/webrtc/SSLCertificateVerifier;
move-result-object p2
const/4 v1, 0x0
.line 8
invoke-virtual {p0, p1, v1, v0, p2}, Lorg/webrtc/PeerConnectionFactory;->createPeerConnectionInternal(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;Lorg/webrtc/SSLCertificateVerifier;)Lorg/webrtc/PeerConnection;
move-result-object p1
return-object p1
.end method
.method public createPeerConnectionInternal(Lorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;Lorg/webrtc/PeerConnection$Observer;Lorg/webrtc/SSLCertificateVerifier;)Lorg/webrtc/PeerConnection;
.registers 14
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
invoke-static {p3}, Lorg/webrtc/PeerConnection;->createNativePeerConnectionObserver(Lorg/webrtc/PeerConnection$Observer;)J
move-result-wide v4
const/4 p3, 0x0
const-wide/16 v7, 0x0
cmp-long v0, v4, v7
if-nez v0, :cond_f
return-object p3
.line 3
:cond_f
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
move-object v2, p1
move-object v3, p2
move-object v6, p4
invoke-static/range {v0 .. v6}, Lorg/webrtc/PeerConnectionFactory;->nativeCreatePeerConnection(JLorg/webrtc/PeerConnection$RTCConfiguration;Lorg/webrtc/MediaConstraints;JLorg/webrtc/SSLCertificateVerifier;)J
move-result-wide p1
cmp-long p4, p1, v7
if-nez p4, :cond_1d
return-object p3
.line 4
:cond_1d
new-instance p3, Lorg/webrtc/PeerConnection;
invoke-direct {p3, p1, p2}, Lorg/webrtc/PeerConnection;-><init>(J)V
return-object p3
.end method
.method public createVideoSource(Z)Lorg/webrtc/VideoSource;
.registers 3
const/4 v0, 0x1
.line 3
invoke-virtual {p0, p1, v0}, Lorg/webrtc/PeerConnectionFactory;->createVideoSource(ZZ)Lorg/webrtc/VideoSource;
move-result-object p1
return-object p1
.end method
.method public createVideoSource(ZZ)Lorg/webrtc/VideoSource;
.registers 6
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
new-instance v0, Lorg/webrtc/VideoSource;
iget-wide v1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v1, v2, p1, p2}, Lorg/webrtc/PeerConnectionFactory;->nativeCreateVideoSource(JZZ)J
move-result-wide p1
invoke-direct {v0, p1, p2}, Lorg/webrtc/VideoSource;-><init>(J)V
return-object v0
.end method
.method public createVideoTrack(Ljava/lang/String;Lorg/webrtc/VideoSource;)Lorg/webrtc/VideoTrack;
.registers 8
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
new-instance v0, Lorg/webrtc/VideoTrack;
iget-wide v1, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
.line 3
invoke-virtual {p2}, Lorg/webrtc/VideoSource;->getNativeVideoTrackSource()J
move-result-wide v3
invoke-static {v1, v2, p1, v3, v4}, Lorg/webrtc/PeerConnectionFactory;->nativeCreateVideoTrack(JLjava/lang/String;J)J
move-result-wide p1
invoke-direct {v0, p1, p2}, Lorg/webrtc/VideoTrack;-><init>(J)V
return-object v0
.end method
.method public dispose()V
.registers 3
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->nativeFreeFactory(J)V
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->networkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.line 4
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->workerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
.line 5
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->signalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
const-wide/16 v0, 0x0
.line 6
iput-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
return-void
.end method
.method public getNativeOwnedFactoryAndThreads()J
.registers 3
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
return-wide v0
.end method
.method public getNativePeerConnectionFactory()J
.registers 3
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->nativeGetNativePeerConnectionFactory(J)J
move-result-wide v0
return-wide v0
.end method
.method public printInternalStackTraces(Z)V
.registers 3
.line 1
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->signalingThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
invoke-static {v0, p1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
.line 2
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->workerThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
invoke-static {v0, p1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
.line 3
iget-object v0, p0, Lorg/webrtc/PeerConnectionFactory;->networkThread:Lorg/webrtc/PeerConnectionFactory$ThreadInfo;
invoke-static {v0, p1}, Lorg/webrtc/PeerConnectionFactory;->printStackTrace(Lorg/webrtc/PeerConnectionFactory$ThreadInfo;Z)V
if-eqz p1, :cond_14
.line 4
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->nativePrintStackTracesOfRegisteredThreads()V
:cond_14
return-void
.end method
.method public restartRecording(I)V
.registers 4
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeRestartRecording(JI)V
return-void
.end method
.method public setAudioPlayoutOn(Z)Z
.registers 4
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeSetAudioPlayoutOn(JZ)Z
move-result p1
return p1
.end method
.method public setAudioRecordingOn(Z)Z
.registers 4
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeSetAudioRecordingOn(JZ)Z
move-result p1
return p1
.end method
.method public setLocalAudioConfig(Ljava/lang/String;)V
.registers 4
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeSetLocalAudioConfig(JLjava/lang/String;)V
return-void
.end method
.method public setNoiseSuppressionMethod(I)V
.registers 4
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1}, Lorg/webrtc/PeerConnectionFactory;->nativeSetNoiseSuppressionMethod(JI)V
return-void
.end method
.method public startAecDump(II)Z
.registers 5
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1, p1, p2}, Lorg/webrtc/PeerConnectionFactory;->nativeStartAecDump(JII)Z
move-result p1
return p1
.end method
.method public stopAecDump()V
.registers 3
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory;->checkPeerConnectionFactoryExists()V
.line 2
iget-wide v0, p0, Lorg/webrtc/PeerConnectionFactory;->nativeFactory:J
invoke-static {v0, v1}, Lorg/webrtc/PeerConnectionFactory;->nativeStopAecDump(J)V
return-void
.end method