PeerConnectionFactory$Builder.smali
.class public Lorg/webrtc/PeerConnectionFactory$Builder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/webrtc/PeerConnectionFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# instance fields
.field private audioDecoderFactoryFactory:Lorg/webrtc/AudioDecoderFactoryFactory;
.field private audioDeviceModule:Lorg/webrtc/audio/AudioDeviceModule;
.field private audioEncoderFactoryFactory:Lorg/webrtc/AudioEncoderFactoryFactory;
.field private audioProcessingFactory:Lorg/webrtc/AudioProcessingFactory;
.field private fecControllerFactoryFactory:Lorg/webrtc/FecControllerFactoryFactoryInterface;
.field private neteqFactoryFactory:Lorg/webrtc/NetEqFactoryFactory;
.field private networkControllerFactoryFactory:Lorg/webrtc/NetworkControllerFactoryFactory;
.field private networkStatePredictorFactoryFactory:Lorg/webrtc/NetworkStatePredictorFactoryFactory;
.field private options:Lorg/webrtc/PeerConnectionFactory$Options;
.field private videoDecoderFactory:Lorg/webrtc/VideoDecoderFactory;
.field private videoEncoderFactory:Lorg/webrtc/VideoEncoderFactory;
# direct methods
.method private constructor <init>()V
.registers 2
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
new-instance v0, Lorg/webrtc/BuiltinAudioEncoderFactoryFactory;
invoke-direct {v0}, Lorg/webrtc/BuiltinAudioEncoderFactoryFactory;-><init>()V
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioEncoderFactoryFactory:Lorg/webrtc/AudioEncoderFactoryFactory;
.line 4
new-instance v0, Lorg/webrtc/BuiltinAudioDecoderFactoryFactory;
invoke-direct {v0}, Lorg/webrtc/BuiltinAudioDecoderFactoryFactory;-><init>()V
iput-object v0, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDecoderFactoryFactory:Lorg/webrtc/AudioDecoderFactoryFactory;
return-void
.end method
.method public synthetic constructor <init>(Lorg/webrtc/PeerConnectionFactory$1;)V
.registers 2
.line 1
invoke-direct {p0}, Lorg/webrtc/PeerConnectionFactory$Builder;-><init>()V
return-void
.end method
# virtual methods
.method public createPeerConnectionFactory()Lorg/webrtc/PeerConnectionFactory;
.registers 25
move-object/from16 v0, p0
.line 1
# invokes: Lorg/webrtc/PeerConnectionFactory;->checkInitializeHasBeenCalled()V
invoke-static {}, Lorg/webrtc/PeerConnectionFactory;->access$100()V
.line 2
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDeviceModule:Lorg/webrtc/audio/AudioDeviceModule;
if-nez v1, :cond_17
.line 3
invoke-static {}, Lorg/webrtc/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lorg/webrtc/audio/JavaAudioDeviceModule;->builder(Landroid/content/Context;)Lorg/webrtc/audio/JavaAudioDeviceModule$Builder;
move-result-object v1
.line 4
invoke-virtual {v1}, Lorg/webrtc/audio/JavaAudioDeviceModule$Builder;->createAudioDeviceModule()Lorg/webrtc/audio/JavaAudioDeviceModule;
move-result-object v1
iput-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDeviceModule:Lorg/webrtc/audio/AudioDeviceModule;
.line 5
:cond_17
invoke-static {}, Lorg/webrtc/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v2
iget-object v3, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->options:Lorg/webrtc/PeerConnectionFactory$Options;
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDeviceModule:Lorg/webrtc/audio/AudioDeviceModule;
.line 6
invoke-interface {v1}, Lorg/webrtc/audio/AudioDeviceModule;->getNativeAudioDeviceModulePointer()J
move-result-wide v4
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioEncoderFactoryFactory:Lorg/webrtc/AudioEncoderFactoryFactory;
.line 7
invoke-interface {v1}, Lorg/webrtc/AudioEncoderFactoryFactory;->createNativeAudioEncoderFactory()J
move-result-wide v6
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDecoderFactoryFactory:Lorg/webrtc/AudioDecoderFactoryFactory;
.line 8
invoke-interface {v1}, Lorg/webrtc/AudioDecoderFactoryFactory;->createNativeAudioDecoderFactory()J
move-result-wide v8
iget-object v10, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->videoEncoderFactory:Lorg/webrtc/VideoEncoderFactory;
iget-object v11, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->videoDecoderFactory:Lorg/webrtc/VideoDecoderFactory;
.line 9
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioProcessingFactory:Lorg/webrtc/AudioProcessingFactory;
const-wide/16 v12, 0x0
if-nez v1, :cond_3b
move-wide v14, v12
goto :goto_3f
:cond_3b
invoke-interface {v1}, Lorg/webrtc/AudioProcessingFactory;->createNative()J
move-result-wide v14
.line 10
:goto_3f
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->fecControllerFactoryFactory:Lorg/webrtc/FecControllerFactoryFactoryInterface;
if-nez v1, :cond_46
move-wide/from16 v16, v12
goto :goto_4a
:cond_46
invoke-interface {v1}, Lorg/webrtc/FecControllerFactoryFactoryInterface;->createNative()J
move-result-wide v16
.line 11
:goto_4a
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->networkControllerFactoryFactory:Lorg/webrtc/NetworkControllerFactoryFactory;
if-nez v1, :cond_51
move-wide/from16 v18, v12
goto :goto_55
.line 12
:cond_51
invoke-interface {v1}, Lorg/webrtc/NetworkControllerFactoryFactory;->createNativeNetworkControllerFactory()J
move-result-wide v18
.line 13
:goto_55
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->networkStatePredictorFactoryFactory:Lorg/webrtc/NetworkStatePredictorFactoryFactory;
if-nez v1, :cond_5c
move-wide/from16 v20, v12
goto :goto_60
.line 14
:cond_5c
invoke-interface {v1}, Lorg/webrtc/NetworkStatePredictorFactoryFactory;->createNativeNetworkStatePredictorFactory()J
move-result-wide v20
.line 15
:goto_60
iget-object v1, v0, Lorg/webrtc/PeerConnectionFactory$Builder;->neteqFactoryFactory:Lorg/webrtc/NetEqFactoryFactory;
if-nez v1, :cond_65
goto :goto_69
:cond_65
invoke-interface {v1}, Lorg/webrtc/NetEqFactoryFactory;->createNativeNetEqFactory()J
move-result-wide v12
:goto_69
move-wide/from16 v22, v12
move-wide v12, v14
move-wide/from16 v14, v16
move-wide/from16 v16, v18
move-wide/from16 v18, v20
move-wide/from16 v20, v22
.line 16
# invokes: Lorg/webrtc/PeerConnectionFactory;->nativeCreatePeerConnectionFactory(Landroid/content/Context;Lorg/webrtc/PeerConnectionFactory$Options;JJJLorg/webrtc/VideoEncoderFactory;Lorg/webrtc/VideoDecoderFactory;JJJJJ)Lorg/webrtc/PeerConnectionFactory;
invoke-static/range {v2 .. v21}, Lorg/webrtc/PeerConnectionFactory;->access$200(Landroid/content/Context;Lorg/webrtc/PeerConnectionFactory$Options;JJJLorg/webrtc/VideoEncoderFactory;Lorg/webrtc/VideoDecoderFactory;JJJJJ)Lorg/webrtc/PeerConnectionFactory;
move-result-object v1
return-object v1
.end method
.method public setAudioDecoderFactoryFactory(Lorg/webrtc/AudioDecoderFactoryFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 3
if-eqz p1, :cond_5
.line 1
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDecoderFactoryFactory:Lorg/webrtc/AudioDecoderFactoryFactory;
return-object p0
.line 2
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "PeerConnectionFactory.Builder does not accept a null AudioDecoderFactoryFactory."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setAudioDeviceModule(Lorg/webrtc/audio/AudioDeviceModule;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioDeviceModule:Lorg/webrtc/audio/AudioDeviceModule;
return-object p0
.end method
.method public setAudioEncoderFactoryFactory(Lorg/webrtc/AudioEncoderFactoryFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 3
if-eqz p1, :cond_5
.line 1
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioEncoderFactoryFactory:Lorg/webrtc/AudioEncoderFactoryFactory;
return-object p0
.line 2
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "PeerConnectionFactory.Builder does not accept a null AudioEncoderFactoryFactory."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setAudioProcessingFactory(Lorg/webrtc/AudioProcessingFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 3
const-string v0, "PeerConnectionFactory builder does not accept a null AudioProcessingFactory."
.line 1
invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->audioProcessingFactory:Lorg/webrtc/AudioProcessingFactory;
return-object p0
.end method
.method public setFecControllerFactoryFactoryInterface(Lorg/webrtc/FecControllerFactoryFactoryInterface;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->fecControllerFactoryFactory:Lorg/webrtc/FecControllerFactoryFactoryInterface;
return-object p0
.end method
.method public setNetEqFactoryFactory(Lorg/webrtc/NetEqFactoryFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->neteqFactoryFactory:Lorg/webrtc/NetEqFactoryFactory;
return-object p0
.end method
.method public setNetworkControllerFactoryFactory(Lorg/webrtc/NetworkControllerFactoryFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->networkControllerFactoryFactory:Lorg/webrtc/NetworkControllerFactoryFactory;
return-object p0
.end method
.method public setNetworkStatePredictorFactoryFactory(Lorg/webrtc/NetworkStatePredictorFactoryFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->networkStatePredictorFactoryFactory:Lorg/webrtc/NetworkStatePredictorFactoryFactory;
return-object p0
.end method
.method public setOptions(Lorg/webrtc/PeerConnectionFactory$Options;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->options:Lorg/webrtc/PeerConnectionFactory$Options;
return-object p0
.end method
.method public setVideoDecoderFactory(Lorg/webrtc/VideoDecoderFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->videoDecoderFactory:Lorg/webrtc/VideoDecoderFactory;
return-object p0
.end method
.method public setVideoEncoderFactory(Lorg/webrtc/VideoEncoderFactory;)Lorg/webrtc/PeerConnectionFactory$Builder;
.registers 2
iput-object p1, p0, Lorg/webrtc/PeerConnectionFactory$Builder;->videoEncoderFactory:Lorg/webrtc/VideoEncoderFactory;
return-object p0
.end method