SurfaceEglRendererHelper$SurfaceViewEglRenderHelper.smali
.class Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;
.super Lio/agora/rtc2/internal/SurfaceEglRendererHelper;
.source "SurfaceEglRendererHelper.java"
# interfaces
.implements Landroid/view/SurfaceHolder$Callback;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/agora/rtc2/internal/SurfaceEglRendererHelper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "SurfaceViewEglRenderHelper"
.end annotation
# instance fields
.field private final holder:Landroid/view/SurfaceHolder;
.field private final renderView:Landroid/view/SurfaceView;
# direct methods
.method constructor <init>(JLandroid/view/SurfaceView;)V
.registers 4
.line 94
invoke-direct {p0, p1, p2, p3}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper;-><init>(JLandroid/view/View;)V
.line 95
iput-object p3, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->renderView:Landroid/view/SurfaceView;
.line 96
invoke-virtual {p3}, Landroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder;
move-result-object p1
iput-object p1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
return-void
.end method
# virtual methods
.method protected checkAndSetExistSurface()V
.registers 6
.line 116
invoke-static {}, Lio/agora/base/internal/ThreadUtils;->checkIsOnMainThread()V
.line 117
iget-object v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderLock:Ljava/lang/Object;
monitor-enter v0
.line 118
:try_start_6
iget-boolean v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->disposed:Z
if-eqz v1, :cond_c
.line 119
monitor-exit v0
return-void
.line 121
:cond_c
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
invoke-interface {v1}, Landroid/view/SurfaceHolder;->getSurface()Landroid/view/Surface;
move-result-object v1
if-eqz v1, :cond_3b
.line 122
invoke-virtual {v1}, Landroid/view/Surface;->isValid()Z
move-result v1
if-nez v1, :cond_1b
goto :goto_3b
.line 125
:cond_1b
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
invoke-virtual {p0, v1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->surfaceCreated(Landroid/view/SurfaceHolder;)V
.line 126
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
const/4 v2, 0x0
iget-object v3, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->renderView:Landroid/view/SurfaceView;
invoke-virtual {v3}, Landroid/view/SurfaceView;->getWidth()I
move-result v3
iget-object v4, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->renderView:Landroid/view/SurfaceView;
invoke-virtual {v4}, Landroid/view/SurfaceView;->getHeight()I
move-result v4
invoke-virtual {p0, v1, v2, v3, v4}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->surfaceChanged(Landroid/view/SurfaceHolder;III)V
.line 127
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
iget-object v2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
invoke-virtual {v1, v2}, Lio/agora/base/internal/SurfaceEglRenderer;->surfaceCreated(Landroid/view/SurfaceHolder;)V
.line 128
monitor-exit v0
return-void
.line 123
:cond_3b
:goto_3b
monitor-exit v0
return-void
:catchall_3d
move-exception v1
.line 128
monitor-exit v0
:try_end_3f
.catchall {:try_start_6 .. :try_end_3f} :catchall_3d
throw v1
.end method
.method public dispose()V
.registers 5
.line 151
invoke-super {p0}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper;->dispose()V
.line 152
iget-boolean v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->disposed:Z
if-eqz v0, :cond_8
return-void
.line 155
:cond_8
iget-object v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderLock:Ljava/lang/Object;
monitor-enter v0
const/4 v1, 0x1
.line 156
:try_start_c
iput-boolean v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->disposed:Z
const-string v1, "dispose()"
.line 157
invoke-virtual {p0, v1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->logD(Ljava/lang/String;)V
.line 158
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
invoke-interface {v1, p0}, Landroid/view/SurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
.line 159
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
iget-object v2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
invoke-interface {v1, v2}, Landroid/view/SurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
.line 160
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
invoke-virtual {v1}, Lio/agora/base/internal/SurfaceEglRenderer;->release()V
.line 161
monitor-exit v0
:try_end_25
.catchall {:try_start_c .. :try_end_25} :catchall_31
.line 162
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeLock:Ljava/lang/Object;
monitor-enter v1
const-wide/16 v2, 0x0
.line 163
:try_start_2a
iput-wide v2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeVideoRendererAndroid:J
.line 164
monitor-exit v1
return-void
:catchall_2e
move-exception v0
monitor-exit v1
:try_end_30
.catchall {:try_start_2a .. :try_end_30} :catchall_2e
throw v0
:catchall_31
move-exception v1
.line 161
:try_start_32
monitor-exit v0
:try_end_33
.catchall {:try_start_32 .. :try_end_33} :catchall_31
throw v1
.end method
.method public initImpl(Lio/agora/base/internal/video/EglBase$Context;Lio/agora/rtc2/internal/SurfaceEglRendererHelper$RenderConfig;)Z
.registers 5
.line 101
iget-object v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
const/4 v1, 0x0
if-nez v0, :cond_d
const-string p1, "SurfaceEglRendererHelper"
const-string p2, "error! holder is null"
.line 102
invoke-static {p1, p2}, Lio/agora/base/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
return v1
.line 105
:cond_d
invoke-super {p0, p1, p2}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper;->initImpl(Lio/agora/base/internal/video/EglBase$Context;Lio/agora/rtc2/internal/SurfaceEglRendererHelper$RenderConfig;)Z
move-result p1
if-nez p1, :cond_14
return v1
.line 109
:cond_14
iget-object p1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
invoke-interface {p1, p0}, Landroid/view/SurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
.line 110
iget-object p1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
iget-object p2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
invoke-interface {p1, p2}, Landroid/view/SurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
const/4 p1, 0x1
return p1
.end method
.method protected reInit(Lio/agora/base/internal/video/EglBase$Context;)V
.registers 5
const-string v0, "reInit()"
.line 133
invoke-virtual {p0, v0}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->logD(Ljava/lang/String;)V
.line 134
iget-object v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderLock:Ljava/lang/Object;
monitor-enter v0
.line 135
:try_start_8
iget-boolean v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->disposed:Z
if-eqz v1, :cond_e
.line 136
monitor-exit v0
return-void
.line 139
:cond_e
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->holder:Landroid/view/SurfaceHolder;
iget-object v2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
invoke-interface {v1, v2}, Landroid/view/SurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
.line 140
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
invoke-virtual {v1}, Lio/agora/base/internal/SurfaceEglRenderer;->release()V
.line 143
new-instance v1, Lio/agora/base/internal/SurfaceEglRenderer;
iget-object v2, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->resourceName:Ljava/lang/String;
invoke-direct {v1, v2}, Lio/agora/base/internal/SurfaceEglRenderer;-><init>(Ljava/lang/String;)V
iput-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
.line 144
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->eglRenderer:Lio/agora/base/internal/SurfaceEglRenderer;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Lio/agora/base/internal/SurfaceEglRenderer;->isRenderOnSurfaceView(Z)V
.line 145
iget-object v1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->renderConfig:Lio/agora/rtc2/internal/SurfaceEglRendererHelper$RenderConfig;
invoke-virtual {p0, p1, v1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->initImpl(Lio/agora/base/internal/video/EglBase$Context;Lio/agora/rtc2/internal/SurfaceEglRendererHelper$RenderConfig;)Z
.line 146
monitor-exit v0
return-void
:catchall_30
move-exception p1
monitor-exit v0
:try_end_32
.catchall {:try_start_8 .. :try_end_32} :catchall_30
throw p1
.end method
.method public surfaceChanged(Landroid/view/SurfaceHolder;III)V
.registers 9
.line 175
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "surfaceChanged():"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " height:"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " format:"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->logD(Ljava/lang/String;)V
.line 176
iget-object p1, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeLock:Ljava/lang/Object;
monitor-enter p1
.line 177
:try_start_27
iget-wide v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeVideoRendererAndroid:J
const-wide/16 v2, 0x0
cmp-long p2, v0, v2
if-eqz p2, :cond_34
.line 178
iget-wide v0, p0, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeVideoRendererAndroid:J
invoke-virtual {p0, v0, v1, p3, p4}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->nativeNotifySurfaceSizeChanged(JII)V
.line 180
:cond_34
monitor-exit p1
return-void
:catchall_36
move-exception p2
monitor-exit p1
:try_end_38
.catchall {:try_start_27 .. :try_end_38} :catchall_36
throw p2
.end method
.method public surfaceCreated(Landroid/view/SurfaceHolder;)V
.registers 2
const-string p1, "surfaceCreated()"
.line 170
invoke-virtual {p0, p1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->logD(Ljava/lang/String;)V
return-void
.end method
.method public surfaceDestroyed(Landroid/view/SurfaceHolder;)V
.registers 2
const-string p1, "surfaceDestroyed()"
.line 185
invoke-virtual {p0, p1}, Lio/agora/rtc2/internal/SurfaceEglRendererHelper$SurfaceViewEglRenderHelper;->logD(Ljava/lang/String;)V
return-void
.end method