au.smali
.class public abstract Lcom/tencent/liteav/videoproducer/capture/au;
.super Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface;
.source "SourceFile"
# instance fields
.field protected final a:Lcom/tencent/liteav/base/util/CustomHandler;
.field protected final b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
.field protected c:Lcom/tencent/liteav/videobase/egl/EGLCore;
.field protected d:Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;
.field protected e:Lcom/tencent/liteav/videobase/frame/e;
.field private final f:Lcom/tencent/liteav/base/b/b;
# direct methods
.method public constructor <init>(Landroid/os/Looper;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
.registers 4
.line 35
invoke-direct {p0}, Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface;-><init>()V
.line 24
new-instance v0, Lcom/tencent/liteav/base/b/b;
invoke-direct {v0}, Lcom/tencent/liteav/base/b/b;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->f:Lcom/tencent/liteav/base/b/b;
.line 36
new-instance v0, Lcom/tencent/liteav/base/util/CustomHandler;
invoke-direct {v0, p1}, Lcom/tencent/liteav/base/util/CustomHandler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->a:Lcom/tencent/liteav/base/util/CustomHandler;
.line 37
iput-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
return-void
.end method
.method static synthetic a(Lcom/tencent/liteav/videoproducer/capture/au;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;Ljava/lang/Object;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureParams;)V
.registers 8
.line 44
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
const-string v1, "GLCapturerSource"
if-eqz v0, :cond_c
const-string p0, "capture source has already started!"
.line 45
invoke-static {v1, p0}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 48
:cond_c
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/au;->d:Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;
.line 2071
new-instance p1, Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-direct {p1}, Lcom/tencent/liteav/videobase/egl/EGLCore;-><init>()V
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
const/16 v0, 0x80
const/4 v2, 0x0
.line 2073
:try_start_18
invoke-virtual {p1, p2, v2, v0, v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->initialize(Ljava/lang/Object;Landroid/view/Surface;II)V
.line 2075
iget-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-virtual {p1}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
.line 2076
new-instance p1, Lcom/tencent/liteav/videobase/frame/e;
invoke-direct {p1}, Lcom/tencent/liteav/videobase/frame/e;-><init>()V
iput-object p1, p0, Lcom/tencent/liteav/videoproducer/capture/au;->e:Lcom/tencent/liteav/videobase/frame/e;
:try_end_27
.catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_18 .. :try_end_27} :catch_28
goto :goto_47
:catch_28
move-exception p1
const-string p2, "initializeEGL failed."
.line 2078
invoke-static {v1, p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 2079
iget-object p2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v0, Lcom/tencent/liteav/videobase/videobase/h$a;->b:Lcom/tencent/liteav/videobase/videobase/h$a;
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "create EGLCore failed, errorCode:"
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 3031
iget p1, p1, Lcom/tencent/liteav/videobase/egl/f;->mErrorCode:I
.line 2080
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 2079
invoke-interface {p2, v0, p1}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyError(Lcom/tencent/liteav/videobase/videobase/h$a;Ljava/lang/String;)V
.line 2081
iput-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
.line 50
:goto_47
invoke-virtual {p0, p3}, Lcom/tencent/liteav/videoproducer/capture/au;->a(Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureParams;)V
return-void
.end method
# virtual methods
.method protected final a()V
.registers 6
.line 60
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
const-string v1, "GLCapturerSource"
if-nez v0, :cond_c
const-string v0, "capture source has already stopped!"
.line 61
invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
.line 64
:cond_c
invoke-virtual {p0}, Lcom/tencent/liteav/videoproducer/capture/au;->b()V
.line 1113
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
const/4 v2, 0x0
if-eqz v0, :cond_36
.line 1117
:try_start_14
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
.line 1118
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->e:Lcom/tencent/liteav/videobase/frame/e;
if-eqz v0, :cond_2f
.line 1119
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/e;->b()V
.line 1120
iput-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->e:Lcom/tencent/liteav/videobase/frame/e;
:try_end_20
.catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_14 .. :try_end_20} :catch_21
goto :goto_2f
:catch_21
move-exception v0
.line 1123
iget-object v3, p0, Lcom/tencent/liteav/videoproducer/capture/au;->f:Lcom/tencent/liteav/base/b/b;
const-string v4, "unintError"
invoke-virtual {v3, v4}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v3
const-string v4, "EGLCore destroy failed."
invoke-static {v3, v1, v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 1125
:cond_2f
:goto_2f
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
invoke-static {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->destroy(Lcom/tencent/liteav/videobase/egl/EGLCore;)V
.line 1126
iput-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
.line 66
:cond_36
iput-object v2, p0, Lcom/tencent/liteav/videoproducer/capture/au;->d:Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;
return-void
.end method
.method protected abstract a(Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureParams;)V
.end method
.method protected final a(Ljava/lang/Runnable;)V
.registers 4
.line 130
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->a:Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/CustomHandler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
if-ne v0, v1, :cond_10
.line 131
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
return-void
.line 133
:cond_10
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->a:Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0, p1}, Lcom/tencent/liteav/base/util/CustomHandler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method protected final a(Z)V
.registers 3
.line 160
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->d:Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;
if-eqz v0, :cond_7
.line 162
invoke-interface {v0, p1}, Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;->onStartFinish(Z)V
:cond_7
return-void
.end method
.method protected abstract b()V
.end method
.method public final b(Ljava/lang/Runnable;)V
.registers 4
.line 145
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->a:Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0}, Lcom/tencent/liteav/base/util/CustomHandler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
if-ne v0, v1, :cond_10
.line 146
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
return-void
.line 148
:cond_10
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->a:Lcom/tencent/liteav/base/util/CustomHandler;
invoke-virtual {v0, p1}, Lcom/tencent/liteav/base/util/CustomHandler;->runAndWaitDone(Ljava/lang/Runnable;)Z
return-void
.end method
.method protected final c()Z
.registers 7
.line 96
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->c:Lcom/tencent/liteav/videobase/egl/EGLCore;
const-string v1, "GLCapturerSource"
const/4 v2, 0x0
if-nez v0, :cond_17
.line 97
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->f:Lcom/tencent/liteav/base/b/b;
const-string v3, "makeCurrentNull"
invoke-virtual {v0, v3}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v0
new-array v3, v2, [Ljava/lang/Object;
const-string v4, "makeCurrent on mEGLCore is null"
invoke-static {v0, v1, v4, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return v2
.line 102
:cond_17
:try_start_17
invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
:try_end_1a
.catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_17 .. :try_end_1a} :catch_1c
const/4 v0, 0x1
return v0
:catch_1c
move-exception v0
.line 104
iget-object v3, p0, Lcom/tencent/liteav/videoproducer/capture/au;->f:Lcom/tencent/liteav/base/b/b;
const-string v4, "makeCurrentError"
invoke-virtual {v3, v4}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;
move-result-object v3
const-string v4, "make current failed."
invoke-static {v3, v1, v4, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 105
iget-object v1, p0, Lcom/tencent/liteav/videoproducer/capture/au;->b:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;
sget-object v3, Lcom/tencent/liteav/videobase/videobase/h$a;->c:Lcom/tencent/liteav/videobase/videobase/h$a;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "OpenGL report error, errorCode:"
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 2031
iget v0, v0, Lcom/tencent/liteav/videobase/egl/f;->mErrorCode:I
.line 106
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 105
invoke-interface {v1, v3, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyError(Lcom/tencent/liteav/videobase/videobase/h$a;Ljava/lang/String;)V
return v2
.end method
.method protected final d()V
.registers 2
.line 153
iget-object v0, p0, Lcom/tencent/liteav/videoproducer/capture/au;->d:Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;
if-eqz v0, :cond_7
.line 155
invoke-interface {v0}, Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;->onCaptureError()V
:cond_7
return-void
.end method
.method public setCaptureCloudConfig(Lcom/tencent/liteav/videoproducer/capture/CaptureCloudConfig;)V
.registers 2
return-void
.end method
.method public start(Ljava/lang/Object;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureParams;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;)V
.registers 4
.line 43
invoke-static {p0, p3, p1, p2}, Lcom/tencent/liteav/videoproducer/capture/av;->a(Lcom/tencent/liteav/videoproducer/capture/au;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureSourceListener;Ljava/lang/Object;Lcom/tencent/liteav/videoproducer/capture/CaptureSourceInterface$CaptureParams;)Ljava/lang/Runnable;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/tencent/liteav/videoproducer/capture/au;->a(Ljava/lang/Runnable;)V
return-void
.end method
.method public stop()V
.registers 2
.line 56
invoke-static {p0}, Lcom/tencent/liteav/videoproducer/capture/aw;->a(Lcom/tencent/liteav/videoproducer/capture/au;)Ljava/lang/Runnable;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/tencent/liteav/videoproducer/capture/au;->a(Ljava/lang/Runnable;)V
return-void
.end method