125 lines
3.5 KiB
Smali
125 lines
3.5 KiB
Smali
.class public Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;
|
|
.super Lcom/google/android/exoplayer2/decoder/OutputBuffer;
|
|
.source "SimpleOutputBuffer.java"
|
|
|
|
|
|
# instance fields
|
|
.field public data:Ljava/nio/ByteBuffer;
|
|
|
|
.field private final owner:Lcom/google/android/exoplayer2/decoder/SimpleDecoder;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/google/android/exoplayer2/decoder/SimpleDecoder<",
|
|
"*",
|
|
"Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;",
|
|
"*>;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>(Lcom/google/android/exoplayer2/decoder/SimpleDecoder;)V
|
|
.locals 0
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Lcom/google/android/exoplayer2/decoder/SimpleDecoder<",
|
|
"*",
|
|
"Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;",
|
|
"*>;)V"
|
|
}
|
|
.end annotation
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Lcom/google/android/exoplayer2/decoder/OutputBuffer;-><init>()V
|
|
|
|
.line 2
|
|
iput-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->owner:Lcom/google/android/exoplayer2/decoder/SimpleDecoder;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public clear()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-super {p0}, Lcom/google/android/exoplayer2/decoder/Buffer;->clear()V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public init(JI)Ljava/nio/ByteBuffer;
|
|
.locals 0
|
|
|
|
.line 1
|
|
iput-wide p1, p0, Lcom/google/android/exoplayer2/decoder/OutputBuffer;->timeUs:J
|
|
|
|
.line 2
|
|
iget-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->capacity()I
|
|
|
|
move-result p1
|
|
|
|
if-ge p1, p3, :cond_1
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-static {p3}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-virtual {p1, p2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
.line 4
|
|
:cond_1
|
|
iget-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
const/4 p2, 0x0
|
|
|
|
invoke-virtual {p1, p2}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
|
|
|
|
.line 5
|
|
iget-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
invoke-virtual {p1, p3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
|
|
|
|
.line 6
|
|
iget-object p1, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->data:Ljava/nio/ByteBuffer;
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public release()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Lcom/google/android/exoplayer2/decoder/SimpleOutputBuffer;->owner:Lcom/google/android/exoplayer2/decoder/SimpleDecoder;
|
|
|
|
invoke-virtual {v0, p0}, Lcom/google/android/exoplayer2/decoder/SimpleDecoder;->releaseOutputBuffer(Lcom/google/android/exoplayer2/decoder/OutputBuffer;)V
|
|
|
|
return-void
|
|
.end method
|