VideoCapture.smali

.class public abstract Lio/agora/rtc2/video/VideoCapture;
.super Ljava/lang/Object;
.source "VideoCapture.java"

# interfaces
.implements Lio/agora/rtc2/video/IVideoCapture;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/agora/rtc2/video/VideoCapture$FramerateRange;,
        Lio/agora/rtc2/video/VideoCapture$AndroidVideoCaptureFrameDropReason;,
        Lio/agora/rtc2/video/VideoCapture$AndroidVideoCaptureError;,
        Lio/agora/rtc2/video/VideoCapture$AndroidImageFormat;,
        Lio/agora/rtc2/video/VideoCapture$VideoCaptureTransportType;,
        Lio/agora/rtc2/video/VideoCapture$VideoCaptureApi;,
        Lio/agora/rtc2/video/VideoCapture$AndroidFillLightMode;,
        Lio/agora/rtc2/video/VideoCapture$AndroidMeteringMode;,
        Lio/agora/rtc2/video/VideoCapture$VideoFacingMode;
    }
.end annotation


# static fields
.field public static final DEBUG_MODE:Z = false

.field public static final ERR_FAILED:I = 0x1

.field public static final ERR_INVALID_ARGUMENT:I = 0x2

.field public static final ERR_NOT_READY:I = 0x3

.field public static final ERR_NOT_SUPPORTED:I = 0x4

.field public static final ERR_OK:I = 0x0

.field private static final VIDEO_CAPTURER_THREAD_NAME:Ljava/lang/String; = "VideoCapturerThread"


# instance fields
.field protected mCameraNativeOrientation:I

.field protected mCaptureFormat:Lio/agora/rtc2/video/VideoCaptureFormat;

.field private mEventsCallback:Lio/agora/rtc2/video/IVideoCapture$Events;

.field private mInjector:Ljava/util/Observable;

.field protected mInvertDeviceOrientationReadings:Z

.field protected final mNativeVideoCaptureAndroid:J

.field protected mPQFirst:Z

.field protected mProxyThreadHandler:Landroid/os/Handler;

.field protected mSurfaceTextureHelper:Lio/agora/base/internal/video/ISurfaceTextureHelper;


# direct methods
.method constructor <init>(JLio/agora/base/internal/video/EglBase$Context;)V
    .registers 5

    const-string v0, "VideoCapturerThread"

    .line 179
    invoke-static {v0, p3}, Lio/agora/base/internal/video/SurfaceTextureHelper;->create(Ljava/lang/String;Lio/agora/base/internal/video/EglBase$Context;)Lio/agora/base/internal/video/SurfaceTextureHelper;

    move-result-object p3

    invoke-direct {p0, p1, p2, p3}, Lio/agora/rtc2/video/VideoCapture;-><init>(JLio/agora/base/internal/video/ISurfaceTextureHelper;)V

    return-void
.end method

.method constructor <init>(JLio/agora/base/internal/video/ISurfaceTextureHelper;)V
    .registers 5

    .line 182
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const/4 v0, 0x0

    .line 173
    iput-boolean v0, p0, Lio/agora/rtc2/video/VideoCapture;->mPQFirst:Z

    .line 183
    iput-wide p1, p0, Lio/agora/rtc2/video/VideoCapture;->mNativeVideoCaptureAndroid:J

    .line 184
    iput-object p3, p0, Lio/agora/rtc2/video/VideoCapture;->mSurfaceTextureHelper:Lio/agora/base/internal/video/ISurfaceTextureHelper;

    .line 185
    new-instance p1, Landroid/os/HandlerThread;

    const-string p2, "VideoCaptureCamera_ProxyThread"

    invoke-direct {p1, p2}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V

    .line 186
    invoke-virtual {p1}, Landroid/os/HandlerThread;->start()V

    .line 187
    new-instance p2, Landroid/os/Handler;

    invoke-virtual {p1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object p1

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

    iput-object p2, p0, Lio/agora/rtc2/video/VideoCapture;->mProxyThreadHandler:Landroid/os/Handler;

    return-void
.end method

.method static FindBestMatchedCapability(Ljava/util/List;Lio/agora/rtc2/video/VideoCaptureFormat;)Lio/agora/rtc2/video/VideoCaptureFormat;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lio/agora/rtc2/video/VideoCaptureFormat;",
            ">;",
            "Lio/agora/rtc2/video/VideoCaptureFormat;",
            ")",
            "Lio/agora/rtc2/video/VideoCaptureFormat;"
        }
    .end annotat