AbstractNativeMediaPlayer.smali

.class public abstract Lcom/kwai/video/player/AbstractNativeMediaPlayer;
.super Lcom/kwai/video/player/AbstractMediaPlayer;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/kwai/video/player/AbstractNativeMediaPlayer$DefaultMediaCodecSelector;,
        Lcom/kwai/video/player/AbstractNativeMediaPlayer$OnMediaCodecSelectListener;,
        Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;
    }
.end annotation


# static fields
.field private static final TAG:Ljava/lang/String;


# instance fields
.field private mDummySurface:Landroid/view/Surface;
    .annotation build Lcom/kwai/video/player/annotations/AccessedByNative;
    .end annotation
.end field

.field private mEventHandler:Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;

.field private mListenerContext:I
    .annotation build Lcom/kwai/video/player/annotations/AccessedByNative;
    .end annotation
.end field

.field private mNativeMediaDataSource:J
    .annotation build Lcom/kwai/video/player/annotations/AccessedByNative;
    .end annotation
.end field

.field protected mNativeMediaPlayer:J
    .annotation build Lcom/kwai/video/player/annotations/AccessedByNative;
    .end annotation
.end field

.field private mNativeSurfaceTexture:I
    .annotation build Lcom/kwai/video/player/annotations/AccessedByNative;
    .end annotation
.end field

.field protected mOnAudioProcessPCMListener:Lcom/kwai/video/player/KsMediaPlayer$OnAudioProcessPCMListener;

.field protected mOnLiveEventListener:Lcom/kwai/video/player/IMediaPlayer$OnLiveEventListener;

.field mOnMediaCodecSelectListener:Lcom/kwai/video/player/AbstractNativeMediaPlayer$OnMediaCodecSelectListener;

.field protected mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    invoke-static {}, Lcom/kwai/video/player/KsMediaPlayerInitConfig;->waitSoLibReady()V

    const-class v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->TAG:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .registers 2

    const/4 v0, 0x0

    invoke-direct {p0}, Lcom/kwai/video/player/AbstractMediaPlayer;-><init>()V

    iput-object v0, p0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnLiveEventListener:Lcom/kwai/video/player/IMediaPlayer$OnLiveEventListener;

    iput-object v0, p0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnAudioProcessPCMListener:Lcom/kwai/video/player/KsMediaPlayer$OnAudioProcessPCMListener;

    iput-object v0, p0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;

    return-void
.end method

.method static synthetic access$000()Ljava/lang/String;
    .registers 1

    sget-object v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->TAG:Ljava/lang/String;

    return-object v0
.end method

.method private static getDummySurface(Ljava/lang/Object;)Landroid/view/Surface;
    .registers 4
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    const/4 v1, 0x0

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_17

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v0, :cond_17

    const/4 v2, 0x0

    invoke-static {v1, v2}, Lcom/kwai/video/player/surface/DummySurface;->newInstanceV17(Landroid/content/Context;Z)Lcom/kwai/video/player/surface/DummySurface;

    move-result-object v1

    iput-object v1, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mDummySurface:Landroid/view/Surface;

    iget-object v0, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mDummySurface:Landroid/view/Surface;

    :goto_16
    return-object v0

    :cond_17
    move-object v0, v1

    goto :goto_16
.end method

.method private static onAudioProcessPCMReady(Ljava/lang/Object;Ljava/nio/ByteBuffer;JIII)V
    .registers 17
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_1b

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v2, :cond_1b

    iget-object v0, v2, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnAudioProcessPCMListener:Lcom/kwai/video/player/KsMediaPlayer$OnAudioProcessPCMListener;

    if-eqz v0, :cond_1b

    iget-object v1, v2, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnAudioProcessPCMListener:Lcom/kwai/video/player/KsMediaPlayer$OnAudioProcessPCMListener;

    move-object v3, p1

    move-wide v4, p2

    move v6, p5

    move v7, p4

    move/from16 v8, p6

    invoke-interface/range {v1 .. v8}, Lcom/kwai/video/player/KsMediaPlayer$OnAudioProcessPCMListener;->onAudioProcessPCMAvailable(Lcom/kwai/video/player/IMediaPlayer;Ljava/nio/ByteBuffer;JIII)V

    :cond_1b
    return-void
.end method

.method private static onLiveEventCallback(Ljava/lang/Object;[B)V
    .registers 4
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_15

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v0, :cond_15

    iget-object v1, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnLiveEventListener:Lcom/kwai/video/player/IMediaPlayer$OnLiveEventListener;

    if-eqz v1, :cond_15

    iget-object v0, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnLiveEventListener:Lcom/kwai/video/player/IMediaPlayer$OnLiveEventListener;

    invoke-interface {v0, p1}, Lcom/kwai/video/player/IMediaPlayer$OnLiveEventListener;->onLiveEventChange([B)V

    :cond_15
    return-void
.end method

.method private static onSelectCodec(Ljava/lang/Object;Ljava/lang/String;II)Ljava/lang/String;
    .registers 6
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    const/4 v1, 0x0

    if-eqz p0, :cond_7

    instance-of v0, p0, Ljava/lang/ref/WeakReference;

    if-nez v0, :cond_9

    :cond_7
    move-object v0, v1

    :goto_8
    return-object v0

    :cond_9
    check-cast p0, Ljava/lang/ref/WeakReference;

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-nez v0, :cond_15

    move-object v0, v1

    goto :goto_8

    :cond_15
    iget-object v1, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnMediaCodecSelectListener:Lcom/kwai/video/player/AbstractNativeMediaPlayer$OnMediaCodecSelectListener;

    if-nez v1, :cond_1b

    sget-object v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer$DefaultMediaCodecSelector;->sInstance:Lcom/kwai/video/player/AbstractNativeMediaPlayer$DefaultMediaCodecSelector;

    :cond_1b
    invoke-interface {v1, v0, p1, p2, p3}, Lcom/kwai/video/player/AbstractNativeMediaPlayer$OnMediaCodecSelectListener;->onMediaCodecSelect(Lcom/kwai/video/player/IMediaPlayer;Ljava/lang/String;II)Ljava/lang/String;

    move-result-object v0

    goto :goto_8
.end method

.method private static onVideoRawDataReady(Ljava/lang/Object;[BIIII)V
    .registers 13
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_1a

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v1, :cond_1a

    iget-object v0, v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;

    if-eqz v0, :cond_1a

    iget-object v0, v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;

    move-object v2, p1

    move v3, p2

    move v4, p3

    move v5, p4

    move v6, p5

    invoke-interface/range {v0 .. v6}, Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;->onVideoRawDataAvailable(Lcom/kwai/video/player/IMediaPlayer;[BIIII)V

    :cond_1a
    return-void
.end method

.method private static onVideoRawDataSize(Ljava/lang/Object;IIII)V
    .registers 11
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_19

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v1, :cond_19

    iget-object v0, v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;

    if-eqz v0, :cond_19

    iget-object v0, v1, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mOnVideoRawDataListener:Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;

    move v2, p1

    move v3, p2

    move v4, p3

    move v5, p4

    invoke-interface/range {v0 .. v5}, Lcom/kwai/video/player/IMediaPlayer$OnVideoRawDataListener;->onVideoRawDataSize(Lcom/kwai/video/player/IMediaPlayer;IIII)V

    :cond_19
    return-void
.end method

.method private static postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
    .registers 7
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    if-nez p0, :cond_3

    :cond_2
    :goto_2
    return-void

    :cond_3
    check-cast p0, Ljava/lang/ref/WeakReference;

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v0, :cond_2

    const/16 v1, 0xc8

    if-ne p1, v1, :cond_17

    const/4 v1, 0x2

    if-ne p2, v1, :cond_17

    invoke-virtual {v0}, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->start()V

    :cond_17
    iget-object v1, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mEventHandler:Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;

    if-eqz v1, :cond_2

    iget-object v1, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mEventHandler:Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;

    invoke-virtual {v1, p1, p2, p3, p4}, Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;

    move-result-object v1

    iget-object v0, v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->mEventHandler:Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;

    invoke-virtual {v0, v1}, Lcom/kwai/video/player/AbstractNativeMediaPlayer$EventHandler;->sendMessage(Landroid/os/Message;)Z

    goto :goto_2
.end method

.method private static postFftDataNative(Ljava/lang/Object;[F)V
    .registers 3
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_f

    invoke-virtual {p0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/kwai/video/player/AbstractNativeMediaPlayer;

    if-eqz v0, :cond_f

    invoke-virtual {v0, p1}, Lcom/kwai/video/player/AbstractNativeMediaPlayer;->notifyOnFftDataCapture([F)V

    :cond_f
    return-void
.end method

.method private static releaseDummySurface(Ljava/lang/Object;)V
    .registers 3
    .annotation build Lcom/kwai/video/player/annotations/CalledByNative;
    .end annotation

    check-cast p0, Ljava/lang/ref/WeakReference;

    if-eqz p0, :cond_18