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