q.smali

.class public final Lcom/tencent/liteav/videoconsumer/renderer/q;
.super Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderInterface;
.source "SourceFile"

# interfaces
.implements Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface$RenderViewListener;


# instance fields
.field private A:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;

.field private B:Z

.field private C:Landroid/graphics/Bitmap;

.field private final D:Lcom/tencent/liteav/base/b/a;

.field private final a:Ljava/lang/String;

.field private final b:Landroid/os/Handler;

.field private final c:Lcom/tencent/liteav/base/util/CustomHandler;

.field private final d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

.field private final e:Lcom/tencent/liteav/base/util/l;

.field private final f:Lcom/tencent/liteav/base/util/l;

.field private final g:Lcom/tencent/liteav/base/b/b;

.field private final h:Lcom/tencent/liteav/base/util/Size;

.field private i:Landroid/view/Surface;

.field private j:Z

.field private k:Ljava/lang/Object;

.field private l:Lcom/tencent/liteav/videobase/egl/EGLCore;

.field private final m:Lcom/tencent/liteav/videobase/frame/c;

.field private n:Lcom/tencent/liteav/videobase/frame/j;

.field private final o:Lcom/tencent/liteav/videobase/utils/m;

.field private p:Lcom/tencent/liteav/videobase/frame/e;

.field private q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

.field private r:Lcom/tencent/liteav/videobase/utils/Rotation;

.field private s:Z

.field private t:Z

.field private u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

.field private v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

.field private final w:Lcom/tencent/liteav/base/util/Size;

.field private volatile x:Z

.field private y:Z

.field private z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;


# direct methods
.method public constructor <init>(Landroid/os/Looper;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
    .registers 7

    .line 114
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderInterface;-><init>()V

    .line 63
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "VideoRenderer_"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    .line 65
    new-instance v0, Landroid/os/Handler;

    .line 66
    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->b:Landroid/os/Handler;

    .line 71
    new-instance v0, Lcom/tencent/liteav/base/util/l;

    const/4 v1, 0x5

    invoke-direct {v0, v1}, Lcom/tencent/liteav/base/util/l;-><init>(I)V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->f:Lcom/tencent/liteav/base/util/l;

    .line 73
    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/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    .line 76
    new-instance v0, Lcom/tencent/liteav/base/util/Size;

    invoke-direct {v0}, Lcom/tencent/liteav/base/util/Size;-><init>()V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    const/4 v0, 0x0

    .line 78
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    const/4 v1, 0x0

    .line 79
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    .line 83
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    .line 84
    new-instance v2, Lcom/tencent/liteav/videobase/frame/c;

    invoke-direct {v2}, Lcom/tencent/liteav/videobase/frame/c;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->m:Lcom/tencent/liteav/videobase/frame/c;

    .line 86
    new-instance v2, Lcom/tencent/liteav/videobase/utils/m;

    invoke-direct {v2}, Lcom/tencent/liteav/videobase/utils/m;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->o:Lcom/tencent/liteav/videobase/utils/m;

    .line 90
    sget-object v2, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    .line 91
    sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    .line 92
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    .line 93
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    .line 101
    new-instance v2, Lcom/tencent/liteav/base/util/Size;

    invoke-direct {v2}, Lcom/tencent/liteav/base/util/Size;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->w:Lcom/tencent/liteav/base/util/Size;

    .line 103
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    .line 104
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->y:Z

    .line 109
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->B:Z

    .line 112
    new-instance v1, Lcom/tencent/liteav/base/b/a;

    const-wide/16 v2, 0x1388

    invoke-direct {v1, v2, v3}, Lcom/tencent/liteav/base/b/a;-><init>(J)V

    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->D:Lcom/tencent/liteav/base/b/a;

    .line 115
    new-instance v1, Lcom/tencent/liteav/base/util/CustomHandler;

    invoke-direct {v1, p1}, Lcom/tencent/liteav/base/util/CustomHandler;-><init>(Landroid/os/Looper;)V

    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c:Lcom/tencent/liteav/base/util/CustomHandler;

    .line 116
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->e:Lcom/tencent/liteav/base/util/l;

    .line 117
    iput-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    return-void
.end method

.method public constructor <init>(Lcom/tencent/liteav/base/util/l;Lcom/tencent/liteav/videobase/videobase/IVideoReporter;)V
    .registers 7

    .line 120
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderInterface;-><init>()V

    .line 63
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "VideoRenderer_"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    .line 65
    new-instance v0, Landroid/os/Handler;

    .line 66
    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->b:Landroid/os/Handler;

    .line 71
    new-instance v0, Lcom/tencent/liteav/base/util/l;

    const/4 v1, 0x5

    invoke-direct {v0, v1}, Lcom/tencent/liteav/base/util/l;-><init>(I)V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->f:Lcom/tencent/liteav/base/util/l;

    .line 73
    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/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    .line 76
    new-instance v0, Lcom/tencent/liteav/base/util/Size;

    invoke-direct {v0}, Lcom/tencent/liteav/base/util/Size;-><init>()V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    const/4 v0, 0x0

    .line 78
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    const/4 v1, 0x0

    .line 79
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    .line 83
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    .line 84
    new-instance v2, Lcom/tencent/liteav/videobase/frame/c;

    invoke-direct {v2}, Lcom/tencent/liteav/videobase/frame/c;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->m:Lcom/tencent/liteav/videobase/frame/c;

    .line 86
    new-instance v2, Lcom/tencent/liteav/videobase/utils/m;

    invoke-direct {v2}, Lcom/tencent/liteav/videobase/utils/m;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->o:Lcom/tencent/liteav/videobase/utils/m;

    .line 90
    sget-object v2, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->a:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    .line 91
    sget-object v2, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    .line 92
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    .line 93
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    .line 101
    new-instance v2, Lcom/tencent/liteav/base/util/Size;

    invoke-direct {v2}, Lcom/tencent/liteav/base/util/Size;-><init>()V

    iput-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->w:Lcom/tencent/liteav/base/util/Size;

    .line 103
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    .line 104
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->y:Z

    .line 109
    iput-boolean v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->B:Z

    .line 112
    new-instance v1, Lcom/tencent/liteav/base/b/a;

    const-wide/16 v2, 0x1388

    invoke-direct {v1, v2, v3}, Lcom/tencent/liteav/base/b/a;-><init>(J)V

    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->D:Lcom/tencent/liteav/base/b/a;

    .line 121
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c:Lcom/tencent/liteav/base/util/CustomHandler;

    .line 122
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->e:Lcom/tencent/liteav/base/util/l;

    .line 123
    iput-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    return-void
.end method

.method private a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
    .registers 3

    .line 643
    monitor-enter p0

    .line 644
    :try_start_1
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->C:Landroid/graphics/Bitmap;

    .line 645
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->C:Landroid/graphics/Bitmap;

    .line 646
    monitor-exit p0

    return-object v0

    :catchall_7
    move-exception p1

    .line 647
    monitor-exit p0
    :try_end_9
    .catchall {:try_start_1 .. :try_end_9} :catchall_7

    throw p1
.end method

.method private a()V
    .registers 7

    .line 315
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    if-nez v0, :cond_5

    return-void

    .line 318
    :cond_5
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "uninitGL"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const/4 v2, 0x2

    new-array v2, v2, [Ljava/lang/Object;

    iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    const/4 v4, 0x0

    if-eqz v3, :cond_1c

    .line 319
    invoke-virtual {v3}, Ljava/lang/Object;->hashCode()I

    move-result v3

    goto :goto_1d

    :cond_1c
    move v3, v4

    :goto_1d
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    aput-object v3, v2, v4

    const/4 v3, 0x1

    iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    aput-object v5, v2, v3

    const-string v3, "uninitializeEGL %d %s"

    .line 318
    invoke-static {v0, v1, v3, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 321
    :try_start_2d
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
    :try_end_32
    .catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_2d .. :try_end_32} :catch_33

    goto :goto_4d

    :catch_33
    move-exception v0

    .line 323
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v2, "makeCurrentError"

    invoke-virtual {v1, v2}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v1

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v3, "uninitializeEGL EGLCore makeCurrent failed."

    invoke-virtual {v3, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    new-array v3, v4, [Ljava/lang/Object;

    invoke-static {v1, v2, v0, v3}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 326
    :goto_4d
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->d()V

    .line 327
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->m:Lcom/tencent/liteav/videobase/frame/c;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/c;->d()V

    .line 329
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->p:Lcom/tencent/liteav/videobase/frame/e;

    const/4 v1, 0x0

    if-eqz v0, :cond_64

    .line 330
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/e;->a()V

    .line 331
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->p:Lcom/tencent/liteav/videobase/frame/e;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/e;->b()V

    .line 332
    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->p:Lcom/tencent/liteav/videobase/frame/e;

    .line 335
    :cond_64
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    invoke-static {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->destroy(Lcom/tencent/liteav/videobase/egl/EGLCore;)V

    .line 336
    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    return-void
.end method

.method private a(Landroid/view/Surface;Z)V
    .registers 4

    .line 586
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/i;->a(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    .line 587
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string p2, "updateSurface same surface!"

    invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    .line 590
    :cond_10
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a()V

    .line 591
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    if-eqz v0, :cond_1e

    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    if-eqz v0, :cond_1e

    .line 592
    invoke-virtual {v0}, Landroid/view/Surface;->release()V

    .line 594
    :cond_1e
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    if-nez p1, :cond_28

    .line 596
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    const/4 v0, 0x0

    invoke-virtual {p1, v0, v0}, Lcom/tencent/liteav/base/util/Size;->set(II)V

    .line 598
    :cond_28
    iput-boolean p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    return-void
.end method

.method private a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V
    .registers 4

    .line 443
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->A:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;

    if-eqz v0, :cond_7

    .line 444
    invoke-virtual {v0, p1, p2}, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;->onRenderFrame(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V

    :cond_7
    return-void
.end method

.method private a(Lcom/tencent/liteav/videobase/frame/PixelFrame;ZZLcom/tencent/liteav/videobase/utils/Rotation;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Z)V
    .registers 9

    .line 488
    new-instance v0, Lcom/tencent/liteav/videobase/frame/PixelFrame;

    invoke-direct {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;-><init>(Lcom/tencent/liteav/videobase/frame/PixelFrame;)V

    .line 490
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    .line 2045
    iget p1, p1, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I

    .line 3045
    iget v1, p4, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I

    add-int/2addr p1, v1

    .line 490
    rem-int/lit16 p1, p1, 0x168

    .line 489
    invoke-static {p1}, Lcom/tencent/liteav/videobase/utils/Rotation;->a(I)Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setRotation(Lcom/tencent/liteav/videobase/utils/Rotation;)V

    if-eqz p2, :cond_22

    .line 492
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorHorizontal()Z

    move-result p1

    xor-int/lit8 p1, p1, 0x1

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setMirrorHorizontal(Z)V

    :cond_22
    if-eqz p3, :cond_2d

    .line 495
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z

    move-result p1

    xor-int/lit8 p1, p1, 0x1

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setMirrorVertical(Z)V

    .line 497
    :cond_2d
    sget-object p1, Lcom/tencent/liteav/videobase/utils/Rotation;->b:Lcom/tencent/liteav/videobase/utils/Rotation;

    if-eq p4, p1, :cond_35

    sget-object p1, Lcom/tencent/liteav/videobase/utils/Rotation;->d:Lcom/tencent/liteav/videobase/utils/Rotation;

    if-ne p4, p1, :cond_43

    .line 498
    :cond_35
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I

    move-result p1

    .line 499
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I

    move-result p2

    invoke-virtual {v0, p2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setWidth(I)V

    .line 500
    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setHeight(I)V

    .line 503
    :cond_43
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->isMirrorVertical()Z

    move-result p1

    xor-int/lit8 p1, p1, 0x1

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setMirrorVertical(Z)V

    .line 504
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    sget-object p2, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;

    if-eq p1, p2, :cond_70

    .line 505
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    sget-object p2, Lcom/tencent/liteav/videobase/utils/Rotation;->c:Lcom/tencent/liteav/videobase/utils/Rotation;

    if-eq p1, p2, :cond_70

    .line 507
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getRotation()Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    .line 4045
    iget p1, p1, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I

    .line 507
    sget-object p2, Lcom/tencent/liteav/videobase/utils/Rotation;->c:Lcom/tencent/liteav/videobase/utils/Rotation;

    .line 5045
    iget p2, p2, Lcom/tencent/liteav/videobase/utils/Rotation;->mValue:I

    add-int/2addr p1, p2

    .line 507
    rem-int/lit16 p1, p1, 0x168

    .line 506
    invoke-static {p1}, Lcom/tencent/liteav/videobase/utils/Rotation;->a(I)Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object p1

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->setRotation(Lcom/tencent/liteav/videobase/utils/Rotation;)V

    .line 509
    :cond_70
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget p1, p1, Lcom/tencent/liteav/base/util/Size;->width:I

    iget-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget p2, p2, Lcom/tencent/liteav/base/util/Size;->height:I

    const/4 p3, 0x0

    invoke-static {p3, p3, p1, p2}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->glViewport(IIII)V

    if-eqz p6, :cond_8f

    .line 512
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    if-eqz p1, :cond_8f

    .line 514
    iget-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    .line 515
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I

    move-result p3

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I

    move-result p4

    .line 514
    invoke-virtual {p1, p2, p3, p4}, Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;->updateVideoFrameInfo(Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;II)V

    .line 519
    :cond_8f
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->n:Lcom/tencent/liteav/videobase/frame/j;

    if-nez p1, :cond_bf

    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {p1}, Lcom/tencent/liteav/base/util/Size;->isValid()Z

    move-result p1

    if-eqz p1, :cond_bf

    .line 520
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-instance p2, Ljava/lang/StringBuilder;

    const-string p3, "create PixelFrameRenderer,surfaceSize="

    invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object p3, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p2

    invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 521
    new-instance p1, Lcom/tencent/liteav/videobase/frame/j;

    iget-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget p2, p2, Lcom/tencent/liteav/base/util/Size;->width:I

    iget-object p3, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget p3, p3, Lcom/tencent/liteav/base/util/Size;->height:I

    invoke-direct {p1, p2, p3}, Lcom/tencent/liteav/videobase/frame/j;-><init>(II)V

    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->n:Lcom/tencent/liteav/videobase/frame/j;

    .line 524
    :cond_bf
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->n:Lcom/tencent/liteav/videobase/frame/j;

    if-eqz p1, :cond_d3

    .line 525
    iget-object p2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    instance-of p2, p2, Lcom/tencent/liteav/videoconsumer/renderer/i;

    const/4 p3, 0x0

    if-eqz p2, :cond_d0

    .line 527
    sget-object p2, Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;->c:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    invoke-virtual {p1, v0, p2, p3}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Lcom/tencent/liteav/videobase/frame/d;)V

    return-void

    .line 529
    :cond_d0
    invoke-virtual {p1, v0, p5, p3}, Lcom/tencent/liteav/videobase/frame/j;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Lcom/tencent/liteav/videobase/frame/d;)V

    :cond_d3
    return-void
.end method

.method private a(Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)V
    .registers 6

    .line 340
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "setDisplayViewInternal="

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v2, ",clearLastImage="

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 342
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

    invoke-static {v0, p1}, Lcom/tencent/liteav/base/util/CommonUtil;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_32

    if-eqz p1, :cond_32

    .line 343
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    if-eqz v1, :cond_32

    .line 344
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string/jumbo p2, "view is equal and RenderViewHelper is created."

    invoke-static {p1, p2}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    :cond_32
    if-nez v0, :cond_40

    const/4 v0, 0x1

    .line 348
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->B:Z

    .line 349
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

    if-eqz v0, :cond_40

    if-eqz p2, :cond_40

    .line 350
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/videobase/DisplayTarget;->hideAll()V

    .line 353
    :cond_40
    invoke-direct {p0, p2}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Z)V

    .line 354
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

    if-nez p1, :cond_48

    return-void

    .line 358
    :cond_48
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/videobase/DisplayTarget;->showAll()V

    .line 359
    invoke-static {p1, p0}, Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;->create(Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface$RenderViewListener;)Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    move-result-object p1

    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;)V
    .registers 4

    .line 653
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "onSurfaceDestroy "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 654
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    const/4 v1, 0x0

    invoke-direct {p0, v1, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Landroid/view/Surface;Z)V

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Landroid/view/Surface;Z)V
    .registers 7

    .line 611
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const/4 v1, 0x3

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    const/4 v3, 0x1

    aput-object v2, v1, v3

    .line 612
    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v2

    const/4 v3, 0x2

    aput-object v2, v1, v3

    const-string v2, "onSurfaceChanged surface: %s, oldSurface: %s, isNeedRelease: %b"

    .line 611
    invoke-static {v0, v2, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 613
    invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Landroid/view/Surface;Z)V

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;)V
    .registers 5

    .line 193
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    if-eq v0, p1, :cond_15

    .line 194
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "setScaleType "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 195
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    :cond_15
    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;)V
    .registers 4

    .line 185
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v1, "takeSnapshot "

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 186
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/utils/Rotation;)V
    .registers 5

    .line 203
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    if-eq v0, p1, :cond_15

    .line 204
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "setRenderRotation "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 205
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    :cond_15
    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)V
    .registers 3

    .line 175
    invoke-direct {p0, p1, p2}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)V

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;Ljava/nio/ByteBuffer;IILcom/tencent/liteav/videobase/base/TakeSnapshotListener;)V
    .registers 14

    .line 557
    instance-of v0, p1, Lcom/tencent/liteav/videoconsumer/renderer/i;

    const/4 v1, 0x0

    if-eqz v0, :cond_a

    .line 558
    check-cast p1, Lcom/tencent/liteav/videoconsumer/renderer/i;

    .line 6133
    iget-object p1, p1, Lcom/tencent/liteav/videoconsumer/renderer/i;->a:Landroid/view/TextureView;

    goto :goto_b

    :cond_a
    move-object p1, v1

    :goto_b
    if-nez p1, :cond_e

    goto :goto_17

    .line 560
    :cond_e
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    invoke-virtual {p1, v0}, Landroid/view/TextureView;->getTransform(Landroid/graphics/Matrix;)Landroid/graphics/Matrix;

    move-result-object v1

    :goto_17
    move-object v6, v1

    .line 561
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->f:Lcom/tencent/liteav/base/util/l;

    move-object v2, p0

    move-object v3, p2

    move v4, p3

    move v5, p4

    move-object v7, p5

    invoke-static/range {v2 .. v7}, Lcom/tencent/liteav/videoconsumer/renderer/w;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Ljava/nio/ByteBuffer;IILandroid/graphics/Matrix;Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;)Ljava/lang/Runnable;

    move-result-object p0

    invoke-virtual {p1, p0}, Lcom/tencent/liteav/base/util/l;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;)V
    .registers 4

    .line 129
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v1, "Start"

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 130
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    if-eqz v0, :cond_13

    .line 131
    iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string p1, "renderer is started!"

    invoke-static {p0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    :cond_13
    const/4 v0, 0x1

    .line 134
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    .line 135
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->A:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;

    .line 136
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

    if-eqz p1, :cond_1f

    .line 137
    invoke-direct {p0, p1, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)V

    .line 139
    :cond_1f
    iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->D:Lcom/tencent/liteav/base/b/a;

    .line 9039
    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    iput-wide v0, p0, Lcom/tencent/liteav/base/b/a;->a:J

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Ljava/nio/ByteBuffer;IILandroid/graphics/Matrix;Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;)V
    .registers 9

    const/4 v0, 0x0

    .line 6570
    :try_start_1
    invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 6571
    sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    invoke-static {p2, p3, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 6572
    invoke-virtual {v0, p1}, Landroid/graphics/Bitmap;->copyPixelsFromBuffer(Ljava/nio/Buffer;)V

    if-nez p4, :cond_14

    .line 6575
    new-instance p4, Landroid/graphics/Matrix;

    invoke-direct {p4}, Landroid/graphics/Matrix;-><init>()V

    :cond_14
    const/high16 p1, 0x3f800000    # 1.0f

    const/high16 v1, -0x40800000    # -1.0f

    int-to-float p2, p2

    const/high16 v2, 0x40000000    # 2.0f

    div-float/2addr p2, v2

    int-to-float p3, p3

    div-float/2addr p3, v2

    .line 6576
    invoke-virtual {p4, p1, v1, p2, p3}, Landroid/graphics/Matrix;->postScale(FFFF)Z

    const/4 p1, 0x1

    .line 6577
    invoke-static {v0, p4, p1}, Lcom/tencent/liteav/videobase/utils/BitmapUtils;->createBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;

    move-result-object p1

    .line 6578
    invoke-interface {p5, p1}, Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;->onComplete(Landroid/graphics/Bitmap;)V
    :try_end_29
    .catchall {:try_start_1 .. :try_end_29} :catchall_2a

    return-void

    :catchall_2a
    move-exception p1

    .line 6580
    iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string p2, "build snapshot bitmap failed."

    invoke-static {p0, p2, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    const/4 p0, 0x0

    .line 6581
    invoke-interface {p5, p0}, Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;->onComplete(Landroid/graphics/Bitmap;)V

    return-void
.end method

.method static synthetic a(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)V
    .registers 5

    .line 223
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    if-eq v0, p1, :cond_13

    .line 224
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;

    move-result-object v1

    const-string v2, "setVerticalMirror "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 226
    :cond_13
    iput-boolean p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    return-void
.end method

.method private a(Ljava/lang/Runnable;)V
    .registers 4

    .line 259
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->e:Lcom/tencent/liteav/base/util/l;

    if-eqz v0, :cond_8

    .line 260
    invoke-virtual {v0, p1}, Lcom/tencent/liteav/base/util/l;->a(Ljava/lang/Runnable;)V

    return-void

    .line 263
    :cond_8
    invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;

    move-result-object v0

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c:Lcom/tencent/liteav/base/util/CustomHandler;

    invoke-virtual {v1}, Lcom/tencent/liteav/base/util/CustomHandler;->getLooper()Landroid/os/Looper;

    move-result-object v1

    if-ne v0, v1, :cond_18

    .line 264
    invoke-interface {p1}, Ljava/lang/Runnable;->run()V

    return-void

    .line 266
    :cond_18
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c: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 private a(Z)V
    .registers 3

    .line 602
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    if-eqz v0, :cond_a

    .line 603
    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;->release(Z)V

    const/4 p1, 0x0

    .line 604
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    :cond_a
    return-void
.end method

.method private a(Lcom/tencent/liteav/videobase/frame/PixelFrame;)Z
    .registers 8

    .line 450
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getGLContext()Ljava/lang/Object;

    move-result-object v0

    .line 451
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    const/4 v2, 0x1

    const/4 v3, 0x0

    if-eqz v1, :cond_17

    if-eqz v0, :cond_15

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->k:Ljava/lang/Object;

    .line 453
    invoke-static {v1, v0}, Lcom/tencent/liteav/base/util/CommonUtil;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_15

    goto :goto_17

    :cond_15
    move v0, v3

    goto :goto_18

    :cond_17
    :goto_17
    move v0, v2

    :goto_18
    if-eqz v0, :cond_b0

    .line 455
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a()V

    .line 456
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getGLContext()Ljava/lang/Object;

    move-result-object p1

    .line 1286
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    if-nez v0, :cond_37

    .line 1287
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v0, "initGLNoSurface"

    invoke-virtual {p1, v0}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object p1

    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-array v1, v3, [Ljava/lang/Object;

    const-string v4, "Initialize EGL failed because surface is null"

    invoke-static {p1, v0, v4, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_b0

    .line 1292
    :cond_37
    :try_start_37
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "initGL"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "initializeEGL surface="

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v5, ",size="

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    new-array v5, v3, [Ljava/lang/Object;

    invoke-static {v0, v1, v4, v5}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 1294
    new-instance v0, Lcom/tencent/liteav/videobase/egl/EGLCore;

    invoke-direct {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;-><init>()V

    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    .line 1295
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    iget-object v4, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v4, v4, Lcom/tencent/liteav/base/util/Size;->width:I

    iget-object v5, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v5, v5, Lcom/tencent/liteav/base/util/Size;->height:I

    invoke-virtual {v0, p1, v1, v4, v5}, Lcom/tencent/liteav/videobase/egl/EGLCore;->initialize(Ljava/lang/Object;Landroid/view/Surface;II)V

    .line 1297
    iput-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->k:Ljava/lang/Object;

    .line 1298
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V

    .line 1299
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->p:Lcom/tencent/liteav/videobase/frame/e;

    if-nez p1, :cond_86

    .line 1300
    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/videoconsumer/renderer/q;->p:Lcom/tencent/liteav/videobase/frame/e;

    .line 1302
    :cond_86
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->m:Lcom/tencent/liteav/videobase/frame/c;

    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/c;->a()V
    :try_end_8b
    .catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_37 .. :try_end_8b} :catch_8c

    goto :goto_b0

    :catch_8c
    move-exception p1

    .line 1304
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "initGLError"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v4, "initializeEGL failed."

    invoke-static {v0, v1, v4, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    const/4 v0, 0x0

    .line 1305
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    .line 1306
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    sget-object v1, Lcom/tencent/liteav/videobase/videobase/h$c;->e:Lcom/tencent/liteav/videobase/videobase/h$c;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    const-string v4, "VideoRender: create EGLCore fail:"

    invoke-virtual {v4, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    invoke-interface {v0, v1, p1}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyWarning(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V

    .line 459
    :cond_b0
    :goto_b0
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    if-nez p1, :cond_b5

    return v3

    .line 464
    :cond_b5
    :try_start_b5
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/egl/EGLCore;->makeCurrent()V
    :try_end_b8
    .catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_b5 .. :try_end_b8} :catch_b9

    return v2

    :catch_b9
    move-exception p1

    .line 467
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "makeCurrentForFrameError"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p1

    const-string v2, "EGLCore makeCurrent failed."

    invoke-virtual {v2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    new-array v2, v3, [Ljava/lang/Object;

    invoke-static {v0, v1, p1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    return v3
.end method

.method private b()V
    .registers 5

    .line 414
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    if-nez v0, :cond_5

    return-void

    .line 417
    :cond_5
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->getSurfaceSize()Lcom/tencent/liteav/base/util/Size;

    move-result-object v0

    .line 418
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v1, v0}, Lcom/tencent/liteav/base/util/Size;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_12

    return-void

    .line 421
    :cond_12
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "surface size changed,old size="

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    const-string v3, ",new size="

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 423
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v1, v0}, Lcom/tencent/liteav/base/util/Size;->set(Lcom/tencent/liteav/base/util/Size;)V

    .line 424
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->d()V

    .line 425
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    if-eqz v0, :cond_51

    .line 426
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    sget-object v1, Lcom/tencent/liteav/videobase/videobase/i;->j:Lcom/tencent/liteav/videobase/videobase/i;

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->width:I

    shl-int/lit8 v2, v2, 0x10

    iget-object v3, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v3, v3, Lcom/tencent/liteav/base/util/Size;->height:I

    or-int/2addr v2, v3

    .line 427
    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    .line 426
    invoke-interface {v0, v1, v2}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->updateStatus(Lcom/tencent/liteav/videobase/videobase/i;Ljava/lang/Object;)V

    .line 429
    :cond_51
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->A:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;

    if-eqz v0, :cond_60

    .line 430
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v1, v1, Lcom/tencent/liteav/base/util/Size;->width:I

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v2, v2, Lcom/tencent/liteav/base/util/Size;->height:I

    invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;->onRenderTargetSizeChanged(II)V

    :cond_60
    return-void
.end method

.method static synthetic b(Lcom/tencent/liteav/videoconsumer/renderer/q;)V
    .registers 9

    const/4 v0, 0x0

    .line 622
    invoke-direct {p0, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    move-result-object v0

    if-nez v0, :cond_8

    return-void

    .line 627
    :cond_8
    invoke-static {v0}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->createFromBitmap(Landroid/graphics/Bitmap;)Lcom/tencent/liteav/videobase/frame/PixelFrame;

    move-result-object v2

    if-nez v2, :cond_f

    return-void

    .line 631
    :cond_f
    invoke-direct {p0, v2}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;)Z

    move-result v0

    if-nez v0, :cond_19

    .line 632
    invoke-virtual {v2}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->release()V

    return-void

    .line 635
    :cond_19
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->b()V

    const/4 v3, 0x0

    const/4 v4, 0x0

    .line 637
    sget-object v5, Lcom/tencent/liteav/videobase/utils/Rotation;->a:Lcom/tencent/liteav/videobase/utils/Rotation;

    iget-object v6, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    const/4 v7, 0x0

    move-object v1, p0

    invoke-direct/range {v1 .. v7}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;ZZLcom/tencent/liteav/videobase/utils/Rotation;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Z)V

    .line 638
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->c()Z

    return-void
.end method

.method static synthetic b(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)V
    .registers 5

    .line 213
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    if-eq v0, p1, :cond_13

    .line 214
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;

    move-result-object v1

    const-string v2, "setHorizontalMirror "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 216
    :cond_13
    iput-boolean p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    return-void
.end method

.method static synthetic c(Lcom/tencent/liteav/videoconsumer/renderer/q;)V
    .registers 18

    move-object/from16 v7, p0

    .line 248
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->o:Lcom/tencent/liteav/videobase/utils/m;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/utils/m;->a()Lcom/tencent/liteav/videobase/frame/PixelFrame;

    move-result-object v8

    if-nez v8, :cond_12

    .line 250
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v1, "renderFrameInternal pixelFrame is null!"

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    .line 7369
    :cond_12
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->w:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v8}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getWidth()I

    move-result v1

    invoke-virtual {v8}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getHeight()I

    move-result v2

    invoke-virtual {v0, v1, v2}, Lcom/tencent/liteav/base/util/Size;->set(II)V

    .line 7370
    invoke-virtual {v8}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getMetaData()Lcom/tencent/liteav/videobase/frame/FrameMetaData;

    move-result-object v0

    if-eqz v0, :cond_40

    .line 7372
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/FrameMetaData;->getRenderRotation()Lcom/tencent/liteav/videobase/utils/Rotation;

    move-result-object v1

    iput-object v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    .line 7373
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/FrameMetaData;->isRenderMirrorHorizontal()Z

    move-result v1

    iput-boolean v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    .line 7374
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/FrameMetaData;->isRenderMirrorVertical()Z

    move-result v1

    iput-boolean v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    .line 7375
    iget-object v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->w:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/FrameMetaData;->getCaptureRealSize()Lcom/tencent/liteav/base/util/Size;

    move-result-object v0

    invoke-virtual {v1, v0}, Lcom/tencent/liteav/base/util/Size;->set(Lcom/tencent/liteav/base/util/Size;)V

    .line 7378
    :cond_40
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->D:Lcom/tencent/liteav/base/b/a;

    invoke-virtual {v0}, Lcom/tencent/liteav/base/b/a;->a()Z

    move-result v0

    if-eqz v0, :cond_4f

    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    if-eqz v0, :cond_4f

    .line 7379
    invoke-virtual {v0}, Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;->checkViewAvailability()V

    .line 7382
    :cond_4f
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    if-nez v0, :cond_5a

    .line 7384
    sget-object v0, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;->c:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;

    invoke-direct {v7, v8, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V

    goto/16 :goto_112

    .line 7388
    :cond_5a
    invoke-direct {v7, v8}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;)Z

    move-result v0

    const/4 v9, 0x0

    if-nez v0, :cond_79

    .line 7390
    sget-object v0, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;->a:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;

    invoke-direct {v7, v8, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V

    .line 7391
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "makeCurrent"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-array v2, v9, [Ljava/lang/Object;

    const-string v3, "make current failed."

    invoke-static {v0, v1, v3, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    goto/16 :goto_112

    .line 7395
    :cond_79
    invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->b()V

    .line 7396
    iget-boolean v2, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->s:Z

    iget-boolean v3, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->t:Z

    iget-object v4, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->r:Lcom/tencent/liteav/videobase/utils/Rotation;

    iget-object v5, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->q:Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;

    const/4 v6, 0x1

    move-object/from16 v0, p0

    move-object v1, v8

    invoke-direct/range {v0 .. v6}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;ZZLcom/tencent/liteav/videobase/utils/Rotation;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;Z)V

    .line 7399
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;

    const/4 v6, 0x0

    if-eqz v0, :cond_dd

    const v0, 0x8d40

    .line 7400
    invoke-static {v0, v9}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->bindFramebuffer(II)V

    .line 7401
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v3, v0, Lcom/tencent/liteav/base/util/Size;->width:I

    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    iget v4, v0, Lcom/tencent/liteav/base/util/Size;->height:I

    .line 7535
    iget-object v5, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;

    if-eqz v5, :cond_dd

    .line 7539
    iput-object v6, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;

    mul-int v0, v3, v4

    mul-int/lit8 v0, v0, 0x4

    .line 7541
    invoke-static {v0}, Lcom/tencent/liteav/videobase/utils/j;->b(I)Ljava/nio/ByteBuffer;

    move-result-object v2

    if-nez v2, :cond_b9

    .line 7543
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v1, "snapshotVideoFrameFromFrameBuffer, allocate direct buffer failed."

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 7544
    invoke-interface {v5, v6}, Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;->onComplete(Landroid/graphics/Bitmap;)V

    goto :goto_dd

    .line 7547
    :cond_b9
    invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;

    .line 7548
    invoke-virtual {v2, v9}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    const/4 v10, 0x0

    const/4 v11, 0x0

    const/16 v14, 0x1908

    const/16 v15, 0x1401

    move v12, v3

    move v13, v4

    move-object/from16 v16, v2

    .line 7550
    invoke-static/range {v10 .. v16}, Landroid/opengl/GLES20;->glReadPixels(IIIIIILjava/nio/Buffer;)V

    .line 7552
    iget-object v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->v:Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;

    .line 7555
    iget-object v10, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->b:Landroid/os/Handler;

    move-object/from16 v0, p0

    invoke-static/range {v0 .. v5}, Lcom/tencent/liteav/videoconsumer/renderer/s;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videoconsumer/renderer/RenderViewHelperInterface;Ljava/nio/ByteBuffer;IILcom/tencent/liteav/videobase/base/TakeSnapshotListener;)Ljava/lang/Runnable;

    move-result-object v0

    invoke-virtual {v10, v0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 7404
    :cond_dd
    :goto_dd
    invoke-direct/range {p0 .. p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->c()Z

    move-result v0

    if-eqz v0, :cond_fc

    invoke-static {}, Lcom/tencent/liteav/videobase/utils/OpenGlUtils;->getGLErrorCount()I

    move-result v0

    if-gtz v0, :cond_fc

    .line 7405
    sget-object v0, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;->b:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;

    invoke-direct {v7, v8, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V

    .line 8436
    iget-boolean v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->B:Z

    if-eqz v0, :cond_112

    .line 8437
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    sget-object v1, Lcom/tencent/liteav/videobase/videobase/h$b;->i:Lcom/tencent/liteav/videobase/videobase/h$b;

    invoke-interface {v0, v1, v8, v6}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyEvent(Lcom/tencent/liteav/videobase/videobase/h$b;Ljava/lang/Object;Ljava/lang/String;)V

    .line 8438
    iput-boolean v9, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->B:Z

    goto :goto_112

    .line 7408
    :cond_fc
    sget-object v0, Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;->a:Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;

    invoke-direct {v7, v8, v0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener$a;)V

    .line 7409
    iget-object v0, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v1, "renderFailed"

    invoke-virtual {v0, v1}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v0

    iget-object v1, v7, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    new-array v2, v9, [Ljava/lang/Object;

    const-string v3, "render frame failed."

    invoke-static {v0, v1, v3, v2}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 254
    :cond_112
    :goto_112
    invoke-virtual {v8}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->release()V

    return-void
.end method

.method static synthetic c(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)V
    .registers 5

    .line 146
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {p1}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;

    move-result-object v1

    const-string v2, "Stop,clearLastImage="

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 147
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    if-nez v0, :cond_1b

    .line 148
    iget-object p0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string p1, "renderer is not started!"

    invoke-static {p0, p1}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    :cond_1b
    const/4 v0, 0x0

    .line 151
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    const/4 v1, 0x0

    .line 152
    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->z:Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;

    .line 153
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Z)V

    .line 154
    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->u:Lcom/tencent/liteav/videobase/videobase/DisplayTarget;

    if-eqz v2, :cond_2d

    if-eqz p1, :cond_2d

    .line 155
    invoke-virtual {v2}, Lcom/tencent/liteav/videobase/videobase/DisplayTarget;->hideAll()V

    .line 157
    :cond_2d
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->o:Lcom/tencent/liteav/videobase/utils/m;

    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/utils/m;->b()V

    .line 158
    invoke-direct {p0}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a()V

    .line 159
    iget-boolean p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    if-eqz p1, :cond_42

    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    if-eqz p1, :cond_42

    .line 160
    invoke-virtual {p1}, Landroid/view/Surface;->release()V

    .line 161
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->j:Z

    .line 163
    :cond_42
    iput-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->i:Landroid/view/Surface;

    .line 164
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->h:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {p1, v0, v0}, Lcom/tencent/liteav/base/util/Size;->set(II)V

    .line 165
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->w:Lcom/tencent/liteav/base/util/Size;

    invoke-virtual {p1, v0, v0}, Lcom/tencent/liteav/base/util/Size;->set(II)V

    .line 166
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->y:Z

    return-void
.end method

.method private c()Z
    .registers 7

    .line 475
    :try_start_0
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->l:Lcom/tencent/liteav/videobase/egl/EGLCore;

    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/egl/EGLCore;->swapBuffers()V
    :try_end_5
    .catch Lcom/tencent/liteav/videobase/egl/f; {:try_start_0 .. :try_end_5} :catch_7

    const/4 v0, 0x1

    return v0

    :catch_7
    move-exception v0

    .line 478
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->g:Lcom/tencent/liteav/base/b/b;

    const-string v2, "swapBuffers"

    invoke-virtual {v1, v2}, Lcom/tencent/liteav/base/b/b;->a(Ljava/lang/String;)Lcom/tencent/liteav/base/b/a;

    move-result-object v1

    iget-object v2, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    const-string v4, "EGLCore swapBuffers failed."

    invoke-virtual {v4, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    new-array v5, v4, [Ljava/lang/Object;

    invoke-static {v1, v2, v3, v5}, Lcom/tencent/liteav/base/util/LiteavLog;->e(Lcom/tencent/liteav/base/b/a;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V

    .line 479
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->d:Lcom/tencent/liteav/videobase/videobase/IVideoReporter;

    sget-object v2, Lcom/tencent/liteav/videobase/videobase/h$c;->g:Lcom/tencent/liteav/videobase/videobase/h$c;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v3, "VideoRender: swapBuffer error:"

    invoke-virtual {v3, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-interface {v1, v2, v0}, Lcom/tencent/liteav/videobase/videobase/IVideoReporter;->notifyWarning(Lcom/tencent/liteav/videobase/videobase/h$c;Ljava/lang/String;)V

    return v4
.end method

.method private d()V
    .registers 2

    .line 659
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->n:Lcom/tencent/liteav/videobase/frame/j;

    if-eqz v0, :cond_a

    .line 660
    invoke-virtual {v0}, Lcom/tencent/liteav/videobase/frame/j;->a()V

    const/4 v0, 0x0

    .line 661
    iput-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->n:Lcom/tencent/liteav/videobase/frame/j;

    :cond_a
    return-void
.end method


# virtual methods
.method public final onRequestRedraw(Landroid/graphics/Bitmap;)V
    .registers 2

    .line 620
    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    .line 621
    invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/renderer/u;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final onSurfaceChanged(Landroid/view/Surface;Z)V
    .registers 3

    .line 610
    invoke-static {p0, p1, p2}, Lcom/tencent/liteav/videoconsumer/renderer/t;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Landroid/view/Surface;Z)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final onSurfaceDestroy()V
    .registers 6

    .line 652
    invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/renderer/v;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;)Ljava/lang/Runnable;

    move-result-object v0

    .line 5271
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->e:Lcom/tencent/liteav/base/util/l;

    const-wide/16 v2, 0x7d0

    if-eqz v1, :cond_e

    .line 5272
    invoke-virtual {v1, v0, v2, v3}, Lcom/tencent/liteav/base/util/l;->a(Ljava/lang/Runnable;J)V

    return-void

    .line 5275
    :cond_e
    invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;

    move-result-object v1

    iget-object v4, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c:Lcom/tencent/liteav/base/util/CustomHandler;

    invoke-virtual {v4}, Lcom/tencent/liteav/base/util/CustomHandler;->getLooper()Landroid/os/Looper;

    move-result-object v4

    if-ne v1, v4, :cond_1e

    .line 5276
    invoke-interface {v0}, Ljava/lang/Runnable;->run()V

    return-void

    .line 5278
    :cond_1e
    iget-object v1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->c:Lcom/tencent/liteav/base/util/CustomHandler;

    invoke-virtual {v1, v0, v2, v3}, Lcom/tencent/liteav/base/util/CustomHandler;->runAndWaitDone(Ljava/lang/Runnable;J)Z

    return-void
.end method

.method public final renderFrame(Lcom/tencent/liteav/videobase/frame/PixelFrame;)V
    .registers 4

    .line 232
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->x:Z

    if-nez v0, :cond_5

    return-void

    :cond_5
    if-nez p1, :cond_f

    .line 236
    iget-object p1, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v0, "renderFrame pixelFrame is null!"

    invoke-static {p1, v0}, Lcom/tencent/liteav/base/util/LiteavLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    return-void

    .line 239
    :cond_f
    iget-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->y:Z

    if-nez v0, :cond_1d

    const/4 v0, 0x1

    .line 240
    iput-boolean v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->y:Z

    .line 241
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->a:Ljava/lang/String;

    const-string v1, "VideoRender receive first frame!"

    invoke-static {v0, v1}, Lcom/tencent/liteav/base/util/LiteavLog;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 245
    :cond_1d
    invoke-virtual {p1}, Lcom/tencent/liteav/videobase/frame/PixelFrame;->getGLContext()Ljava/lang/Object;

    .line 246
    iget-object v0, p0, Lcom/tencent/liteav/videoconsumer/renderer/q;->o:Lcom/tencent/liteav/videobase/utils/m;

    invoke-virtual {v0, p1}, Lcom/tencent/liteav/videobase/utils/m;->a(Lcom/tencent/liteav/videobase/frame/PixelFrame;)V

    .line 247
    invoke-static {p0}, Lcom/tencent/liteav/videoconsumer/renderer/ae;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final setDisplayView(Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)V
    .registers 3

    .line 175
    invoke-static {p0, p1, p2}, Lcom/tencent/liteav/videoconsumer/renderer/y;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/videobase/DisplayTarget;Z)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final setHorizontalMirror(Z)V
    .registers 2

    .line 212
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/ac;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final setRenderRotation(Lcom/tencent/liteav/videobase/utils/Rotation;)V
    .registers 2

    .line 202
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/ab;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/utils/Rotation;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final setScaleType(Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;)V
    .registers 2

    .line 192
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/aa;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/base/GLConstants$GLScaleType;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final setVerticalMirror(Z)V
    .registers 2

    .line 222
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/ad;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final start(Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;)V
    .registers 2

    .line 128
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/r;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videoconsumer/renderer/VideoRenderListener;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final stop(Z)V
    .registers 2

    .line 145
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/x;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Z)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public final takeSnapshot(Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;)V
    .registers 2

    .line 184
    invoke-static {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/z;->a(Lcom/tencent/liteav/videoconsumer/renderer/q;Lcom/tencent/liteav/videobase/base/TakeSnapshotListener;)Ljava/lang/Runnable;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/tencent/liteav/videoconsumer/renderer/q;->a(Ljava/lang/Runnable;)V

    return-void
.end method