2079 lines
43 KiB
Smali
2079 lines
43 KiB
Smali
.class public Lorg/videolan/libvlc/Media;
|
|
.super Lorg/videolan/libvlc/VLCObject;
|
|
.source "Media.java"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Lorg/videolan/libvlc/Media$Stats;,
|
|
Lorg/videolan/libvlc/Media$Slave;,
|
|
Lorg/videolan/libvlc/Media$UnknownTrack;,
|
|
Lorg/videolan/libvlc/Media$SubtitleTrack;,
|
|
Lorg/videolan/libvlc/Media$VideoTrack;,
|
|
Lorg/videolan/libvlc/Media$AudioTrack;,
|
|
Lorg/videolan/libvlc/Media$Track;,
|
|
Lorg/videolan/libvlc/Media$ParsedStatus;,
|
|
Lorg/videolan/libvlc/Media$Parse;,
|
|
Lorg/videolan/libvlc/Media$State;,
|
|
Lorg/videolan/libvlc/Media$Meta;,
|
|
Lorg/videolan/libvlc/Media$Type;,
|
|
Lorg/videolan/libvlc/Media$EventListener;,
|
|
Lorg/videolan/libvlc/Media$Event;
|
|
}
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lorg/videolan/libvlc/VLCObject<",
|
|
"Lorg/videolan/libvlc/Media$Event;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field private static final PARSE_STATUS_INIT:I = 0x0
|
|
|
|
.field private static final PARSE_STATUS_PARSED:I = 0x2
|
|
|
|
.field private static final PARSE_STATUS_PARSING:I = 0x1
|
|
|
|
.field private static final TAG:Ljava/lang/String; = "LibVLC/Media"
|
|
|
|
|
|
# instance fields
|
|
.field private mCodecOptionSet:Z
|
|
|
|
.field private mDuration:J
|
|
|
|
.field private mFileCachingSet:Z
|
|
|
|
.field private final mNativeMetas:[Ljava/lang/String;
|
|
|
|
.field private mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
.field private mNetworkCachingSet:Z
|
|
|
|
.field private mParseStatus:I
|
|
|
|
.field private mState:I
|
|
|
|
.field private mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
.field private mType:I
|
|
|
|
.field private mUri:Landroid/net/Uri;
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>(Lorg/videolan/libvlc/LibVLC;Landroid/content/res/AssetFileDescriptor;)V
|
|
.locals 9
|
|
|
|
.line 468
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/VLCObject;-><init>(Lorg/videolan/libvlc/LibVLC;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 412
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 413
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 414
|
|
iput v1, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/16 v2, 0x19
|
|
|
|
new-array v2, v2, [Ljava/lang/String;
|
|
|
|
.line 415
|
|
iput-object v2, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
.line 416
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
.line 417
|
|
iput-wide v2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 418
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 419
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 420
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 421
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 422
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
.line 469
|
|
invoke-virtual {p2}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
|
|
|
|
move-result-wide v5
|
|
|
|
.line 470
|
|
invoke-virtual {p2}, Landroid/content/res/AssetFileDescriptor;->getLength()J
|
|
|
|
move-result-wide v7
|
|
|
|
.line 471
|
|
invoke-virtual {p2}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
|
|
|
|
move-result-object v4
|
|
|
|
move-object v2, p0
|
|
|
|
move-object v3, p1
|
|
|
|
invoke-direct/range {v2 .. v8}, Lorg/videolan/libvlc/Media;->nativeNewFromFdWithOffsetLength(Lorg/videolan/libvlc/LibVLC;Ljava/io/FileDescriptor;JJ)V
|
|
|
|
.line 472
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetMrl()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p1}, Lorg/videolan/libvlc/util/VLCUtil;->UriFromMrl(Ljava/lang/String;)Landroid/net/Uri;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Lorg/videolan/libvlc/LibVLC;Landroid/net/Uri;)V
|
|
.locals 4
|
|
|
|
.line 444
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/VLCObject;-><init>(Lorg/videolan/libvlc/LibVLC;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 412
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 413
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 414
|
|
iput v1, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/16 v2, 0x19
|
|
|
|
new-array v2, v2, [Ljava/lang/String;
|
|
|
|
.line 415
|
|
iput-object v2, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
.line 416
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
.line 417
|
|
iput-wide v2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 418
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 419
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 420
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 421
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 422
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
.line 445
|
|
invoke-static {p2}, Lorg/videolan/libvlc/util/VLCUtil;->encodeVLCUri(Landroid/net/Uri;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p0, p1, v0}, Lorg/videolan/libvlc/Media;->nativeNewFromLocation(Lorg/videolan/libvlc/LibVLC;Ljava/lang/String;)V
|
|
|
|
.line 446
|
|
iput-object p2, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Lorg/videolan/libvlc/LibVLC;Ljava/io/FileDescriptor;)V
|
|
.locals 4
|
|
|
|
.line 456
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/VLCObject;-><init>(Lorg/videolan/libvlc/LibVLC;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 412
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 413
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 414
|
|
iput v1, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/16 v2, 0x19
|
|
|
|
new-array v2, v2, [Ljava/lang/String;
|
|
|
|
.line 415
|
|
iput-object v2, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
.line 416
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
.line 417
|
|
iput-wide v2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 418
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 419
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 420
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 421
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 422
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
.line 457
|
|
invoke-direct {p0, p1, p2}, Lorg/videolan/libvlc/Media;->nativeNewFromFd(Lorg/videolan/libvlc/LibVLC;Ljava/io/FileDescriptor;)V
|
|
|
|
.line 458
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetMrl()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p1}, Lorg/videolan/libvlc/util/VLCUtil;->UriFromMrl(Ljava/lang/String;)Landroid/net/Uri;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Lorg/videolan/libvlc/LibVLC;Ljava/lang/String;)V
|
|
.locals 4
|
|
|
|
.line 432
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/VLCObject;-><init>(Lorg/videolan/libvlc/LibVLC;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 412
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 413
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 414
|
|
iput v1, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/16 v2, 0x19
|
|
|
|
new-array v2, v2, [Ljava/lang/String;
|
|
|
|
.line 415
|
|
iput-object v2, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
.line 416
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
.line 417
|
|
iput-wide v2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 418
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 419
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 420
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 421
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 422
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
.line 433
|
|
invoke-direct {p0, p1, p2}, Lorg/videolan/libvlc/Media;->nativeNewFromPath(Lorg/videolan/libvlc/LibVLC;Ljava/lang/String;)V
|
|
|
|
.line 434
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetMrl()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p1}, Lorg/videolan/libvlc/util/VLCUtil;->UriFromMrl(Ljava/lang/String;)Landroid/net/Uri;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method protected constructor <init>(Lorg/videolan/libvlc/MediaList;I)V
|
|
.locals 4
|
|
|
|
.line 481
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/VLCObject;-><init>(Lorg/videolan/libvlc/VLCObject;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 412
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 413
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 414
|
|
iput v1, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/16 v2, 0x19
|
|
|
|
new-array v2, v2, [Ljava/lang/String;
|
|
|
|
.line 415
|
|
iput-object v2, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
.line 416
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
.line 417
|
|
iput-wide v2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 418
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 419
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 420
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 421
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 422
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 482
|
|
invoke-virtual {p1}, Lorg/videolan/libvlc/MediaList;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 484
|
|
invoke-virtual {p1}, Lorg/videolan/libvlc/MediaList;->isLocked()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 486
|
|
invoke-direct {p0, p1, p2}, Lorg/videolan/libvlc/Media;->nativeNewFromMediaList(Lorg/videolan/libvlc/MediaList;I)V
|
|
|
|
.line 487
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetMrl()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p1}, Lorg/videolan/libvlc/util/VLCUtil;->UriFromMrl(Ljava/lang/String;)Landroid/net/Uri;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
return-void
|
|
|
|
.line 485
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string p2, "MediaList should be locked"
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 483
|
|
:cond_1
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p2, "MediaList is null or released"
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method private static createAudioTrackFromNative(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;II)Lorg/videolan/libvlc/Media$Track;
|
|
.locals 13
|
|
|
|
.line 203
|
|
new-instance v12, Lorg/videolan/libvlc/Media$AudioTrack;
|
|
|
|
const/4 v11, 0x0
|
|
|
|
move-object v0, v12
|
|
|
|
move-object v1, p0
|
|
|
|
move-object v2, p1
|
|
|
|
move v3, p2
|
|
|
|
move/from16 v4, p3
|
|
|
|
move/from16 v5, p4
|
|
|
|
move/from16 v6, p5
|
|
|
|
move-object/from16 v7, p6
|
|
|
|
move-object/from16 v8, p7
|
|
|
|
move/from16 v9, p8
|
|
|
|
move/from16 v10, p9
|
|
|
|
invoke-direct/range {v0 .. v11}, Lorg/videolan/libvlc/Media$AudioTrack;-><init>(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;IILorg/videolan/libvlc/Media$1;)V
|
|
|
|
return-object v12
|
|
.end method
|
|
|
|
.method private static createSlaveFromNative(IILjava/lang/String;)Lorg/videolan/libvlc/Media$Slave;
|
|
.locals 1
|
|
|
|
.line 337
|
|
new-instance v0, Lorg/videolan/libvlc/Media$Slave;
|
|
|
|
invoke-direct {v0, p0, p1, p2}, Lorg/videolan/libvlc/Media$Slave;-><init>(IILjava/lang/String;)V
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private static createStatsFromNative(IFIFIIIIIIIIIIF)Lorg/videolan/libvlc/Media$Stats;
|
|
.locals 17
|
|
|
|
.line 401
|
|
new-instance v16, Lorg/videolan/libvlc/Media$Stats;
|
|
|
|
move-object/from16 v0, v16
|
|
|
|
move/from16 v1, p0
|
|
|
|
move/from16 v2, p1
|
|
|
|
move/from16 v3, p2
|
|
|
|
move/from16 v4, p3
|
|
|
|
move/from16 v5, p4
|
|
|
|
move/from16 v6, p5
|
|
|
|
move/from16 v7, p6
|
|
|
|
move/from16 v8, p7
|
|
|
|
move/from16 v9, p8
|
|
|
|
move/from16 v10, p9
|
|
|
|
move/from16 v11, p10
|
|
|
|
move/from16 v12, p11
|
|
|
|
move/from16 v13, p12
|
|
|
|
move/from16 v14, p13
|
|
|
|
move/from16 v15, p14
|
|
|
|
invoke-direct/range {v0 .. v15}, Lorg/videolan/libvlc/Media$Stats;-><init>(IFIFIIIIIIIIIIF)V
|
|
|
|
return-object v16
|
|
.end method
|
|
|
|
.method private static createSubtitleTrackFromNative(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/videolan/libvlc/Media$Track;
|
|
.locals 12
|
|
|
|
.line 291
|
|
new-instance v11, Lorg/videolan/libvlc/Media$SubtitleTrack;
|
|
|
|
const/4 v10, 0x0
|
|
|
|
move-object v0, v11
|
|
|
|
move-object v1, p0
|
|
|
|
move-object v2, p1
|
|
|
|
move v3, p2
|
|
|
|
move v4, p3
|
|
|
|
move/from16 v5, p4
|
|
|
|
move/from16 v6, p5
|
|
|
|
move-object/from16 v7, p6
|
|
|
|
move-object/from16 v8, p7
|
|
|
|
move-object/from16 v9, p8
|
|
|
|
invoke-direct/range {v0 .. v10}, Lorg/videolan/libvlc/Media$SubtitleTrack;-><init>(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/videolan/libvlc/Media$1;)V
|
|
|
|
return-object v11
|
|
.end method
|
|
|
|
.method private static createUnknownTrackFromNative(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;)Lorg/videolan/libvlc/Media$Track;
|
|
.locals 11
|
|
|
|
.line 309
|
|
new-instance v10, Lorg/videolan/libvlc/Media$UnknownTrack;
|
|
|
|
const/4 v9, 0x0
|
|
|
|
move-object v0, v10
|
|
|
|
move-object v1, p0
|
|
|
|
move-object v2, p1
|
|
|
|
move v3, p2
|
|
|
|
move v4, p3
|
|
|
|
move v5, p4
|
|
|
|
move/from16 v6, p5
|
|
|
|
move-object/from16 v7, p6
|
|
|
|
move-object/from16 v8, p7
|
|
|
|
invoke-direct/range {v0 .. v9}, Lorg/videolan/libvlc/Media$UnknownTrack;-><init>(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;Lorg/videolan/libvlc/Media$1;)V
|
|
|
|
return-object v10
|
|
.end method
|
|
|
|
.method private static createVideoTrackFromNative(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;IIIIIIII)Lorg/videolan/libvlc/Media$Track;
|
|
.locals 19
|
|
|
|
move-object/from16 v1, p0
|
|
|
|
move-object/from16 v2, p1
|
|
|
|
move/from16 v3, p2
|
|
|
|
move/from16 v4, p3
|
|
|
|
move/from16 v5, p4
|
|
|
|
move/from16 v6, p5
|
|
|
|
move-object/from16 v7, p6
|
|
|
|
move-object/from16 v8, p7
|
|
|
|
move/from16 v9, p8
|
|
|
|
move/from16 v10, p9
|
|
|
|
move/from16 v11, p10
|
|
|
|
move/from16 v12, p11
|
|
|
|
move/from16 v13, p12
|
|
|
|
move/from16 v14, p13
|
|
|
|
move/from16 v15, p14
|
|
|
|
move/from16 v16, p15
|
|
|
|
.line 268
|
|
new-instance v18, Lorg/videolan/libvlc/Media$VideoTrack;
|
|
|
|
move-object/from16 v0, v18
|
|
|
|
const/16 v17, 0x0
|
|
|
|
invoke-direct/range {v0 .. v17}, Lorg/videolan/libvlc/Media$VideoTrack;-><init>(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;IIIIIIIILorg/videolan/libvlc/Media$1;)V
|
|
|
|
return-object v18
|
|
.end method
|
|
|
|
.method private static getMediaCodecModule()Ljava/lang/String;
|
|
.locals 1
|
|
|
|
.line 746
|
|
sget-boolean v0, Lorg/videolan/libvlc/util/AndroidUtil;->isLolliPopOrLater:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const-string v0, "mediacodec_ndk"
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const-string v0, "mediacodec_jni"
|
|
|
|
:goto_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private getTracks()[Lorg/videolan/libvlc/Media$Track;
|
|
.locals 1
|
|
|
|
.line 684
|
|
monitor-enter p0
|
|
|
|
.line 685
|
|
:try_start_0
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 686
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
.line 687
|
|
:cond_0
|
|
invoke-virtual {p0}, Lorg/videolan/libvlc/Media;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 688
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
.line 689
|
|
:cond_1
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 690
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetTracks()[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
move-result-object v0
|
|
|
|
.line 691
|
|
monitor-enter p0
|
|
|
|
.line 692
|
|
:try_start_1
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
.line 693
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 694
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
|
|
:catchall_1
|
|
move-exception v0
|
|
|
|
.line 689
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method private native nativeAddOption(Ljava/lang/String;)V
|
|
.end method
|
|
|
|
.method private native nativeAddSlave(IILjava/lang/String;)V
|
|
.end method
|
|
|
|
.method private native nativeClearSlaves()V
|
|
.end method
|
|
|
|
.method private native nativeGetDuration()J
|
|
.end method
|
|
|
|
.method private native nativeGetMeta(I)Ljava/lang/String;
|
|
.end method
|
|
|
|
.method private native nativeGetMrl()Ljava/lang/String;
|
|
.end method
|
|
|
|
.method private native nativeGetSlaves()[Lorg/videolan/libvlc/Media$Slave;
|
|
.end method
|
|
|
|
.method private native nativeGetState()I
|
|
.end method
|
|
|
|
.method private native nativeGetStats()Lorg/videolan/libvlc/Media$Stats;
|
|
.end method
|
|
|
|
.method private native nativeGetTracks()[Lorg/videolan/libvlc/Media$Track;
|
|
.end method
|
|
|
|
.method private native nativeGetType()I
|
|
.end method
|
|
|
|
.method private native nativeNewFromFd(Lorg/videolan/libvlc/LibVLC;Ljava/io/FileDescriptor;)V
|
|
.end method
|
|
|
|
.method private native nativeNewFromFdWithOffsetLength(Lorg/videolan/libvlc/LibVLC;Ljava/io/FileDescriptor;JJ)V
|
|
.end method
|
|
|
|
.method private native nativeNewFromLocation(Lorg/videolan/libvlc/LibVLC;Ljava/lang/String;)V
|
|
.end method
|
|
|
|
.method private native nativeNewFromMediaList(Lorg/videolan/libvlc/MediaList;I)V
|
|
.end method
|
|
|
|
.method private native nativeNewFromPath(Lorg/videolan/libvlc/LibVLC;Ljava/lang/String;)V
|
|
.end method
|
|
|
|
.method private native nativeParse(I)Z
|
|
.end method
|
|
|
|
.method private native nativeParseAsync(II)Z
|
|
.end method
|
|
|
|
.method private native nativeRelease()V
|
|
.end method
|
|
|
|
.method private declared-synchronized postParse()V
|
|
.locals 2
|
|
|
|
monitor-enter p0
|
|
|
|
.line 581
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
and-int/lit8 v1, v0, 0x2
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 582
|
|
monitor-exit p0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
and-int/lit8 v0, v0, -0x2
|
|
|
|
.line 583
|
|
:try_start_1
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
or-int/lit8 v0, v0, 0x2
|
|
|
|
.line 584
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 585
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mNativeTracks:[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
const-wide/16 v0, -0x1
|
|
|
|
.line 586
|
|
iput-wide v0, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 587
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 588
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
.line 589
|
|
monitor-exit p0
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
monitor-exit p0
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public addOption(Ljava/lang/String;)V
|
|
.locals 2
|
|
|
|
.line 817
|
|
monitor-enter p0
|
|
|
|
.line 818
|
|
:try_start_0
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string v0, ":codec="
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 819
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 820
|
|
:cond_0
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const-string v0, ":network-caching="
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 821
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
.line 822
|
|
:cond_1
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
const-string v0, ":file-caching="
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 823
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
.line 824
|
|
:cond_2
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 825
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/Media;->nativeAddOption(Ljava/lang/String;)V
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 824
|
|
:try_start_1
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public addSlave(Lorg/videolan/libvlc/Media$Slave;)V
|
|
.locals 2
|
|
|
|
.line 839
|
|
iget v0, p1, Lorg/videolan/libvlc/Media$Slave;->type:I
|
|
|
|
iget v1, p1, Lorg/videolan/libvlc/Media$Slave;->priority:I
|
|
|
|
iget-object p1, p1, Lorg/videolan/libvlc/Media$Slave;->uri:Ljava/lang/String;
|
|
|
|
invoke-direct {p0, v0, v1, p1}, Lorg/videolan/libvlc/Media;->nativeAddSlave(IILjava/lang/String;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearSlaves()V
|
|
.locals 0
|
|
|
|
.line 846
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeClearSlaves()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public getDuration()J
|
|
.locals 4
|
|
|
|
.line 527
|
|
monitor-enter p0
|
|
|
|
.line 528
|
|
:try_start_0
|
|
iget-wide v0, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
cmp-long v2, v0, v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
.line 529
|
|
monitor-exit p0
|
|
|
|
return-wide v0
|
|
|
|
.line 530
|
|
:cond_0
|
|
invoke-virtual {p0}, Lorg/videolan/libvlc/Media;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const-wide/16 v0, 0x0
|
|
|
|
.line 531
|
|
monitor-exit p0
|
|
|
|
return-wide v0
|
|
|
|
.line 532
|
|
:cond_1
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 533
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetDuration()J
|
|
|
|
move-result-wide v0
|
|
|
|
.line 534
|
|
monitor-enter p0
|
|
|
|
.line 535
|
|
:try_start_1
|
|
iput-wide v0, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
.line 536
|
|
monitor-exit p0
|
|
|
|
return-wide v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 537
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
|
|
:catchall_1
|
|
move-exception v0
|
|
|
|
.line 532
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public getMeta(I)Ljava/lang/String;
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-ltz p1, :cond_3
|
|
|
|
const/16 v1, 0x19
|
|
|
|
if-lt p1, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 730
|
|
:cond_0
|
|
monitor-enter p0
|
|
|
|
.line 731
|
|
:try_start_0
|
|
iget-object v1, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
aget-object v2, v1, p1
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
.line 732
|
|
aget-object p1, v1, p1
|
|
|
|
monitor-exit p0
|
|
|
|
return-object p1
|
|
|
|
.line 733
|
|
:cond_1
|
|
invoke-virtual {p0}, Lorg/videolan/libvlc/Media;->isReleased()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 734
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
.line 735
|
|
:cond_2
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 737
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/Media;->nativeGetMeta(I)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 738
|
|
monitor-enter p0
|
|
|
|
.line 739
|
|
:try_start_1
|
|
iget-object v1, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
aput-object v0, v1, p1
|
|
|
|
.line 740
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 741
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw p1
|
|
|
|
:catchall_1
|
|
move-exception p1
|
|
|
|
.line 735
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw p1
|
|
|
|
:cond_3
|
|
:goto_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getSlaves()[Lorg/videolan/libvlc/Media$Slave;
|
|
.locals 1
|
|
|
|
.line 858
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetSlaves()[Lorg/videolan/libvlc/Media$Slave;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getState()I
|
|
.locals 2
|
|
|
|
.line 546
|
|
monitor-enter p0
|
|
|
|
.line 547
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
if-eq v0, v1, :cond_0
|
|
|
|
.line 548
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
.line 549
|
|
:cond_0
|
|
invoke-virtual {p0}, Lorg/videolan/libvlc/Media;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x7
|
|
|
|
.line 550
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
.line 551
|
|
:cond_1
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 552
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetState()I
|
|
|
|
move-result v0
|
|
|
|
.line 553
|
|
monitor-enter p0
|
|
|
|
.line 554
|
|
:try_start_1
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 555
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 556
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
|
|
:catchall_1
|
|
move-exception v0
|
|
|
|
.line 551
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public getStats()Lorg/videolan/libvlc/Media$Stats;
|
|
.locals 1
|
|
|
|
.line 866
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetStats()Lorg/videolan/libvlc/Media$Stats;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getTrack(I)Lorg/videolan/libvlc/Media$Track;
|
|
.locals 2
|
|
|
|
.line 714
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->getTracks()[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-ltz p1, :cond_1
|
|
|
|
.line 715
|
|
array-length v1, v0
|
|
|
|
if-lt p1, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 717
|
|
:cond_0
|
|
aget-object p1, v0, p1
|
|
|
|
return-object p1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p1, 0x0
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public getTrackCount()I
|
|
.locals 1
|
|
|
|
.line 701
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->getTracks()[Lorg/videolan/libvlc/Media$Track;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 702
|
|
array-length v0, v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public getType()I
|
|
.locals 2
|
|
|
|
.line 670
|
|
monitor-enter p0
|
|
|
|
.line 671
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
if-eq v0, v1, :cond_0
|
|
|
|
.line 672
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
.line 673
|
|
:cond_0
|
|
invoke-virtual {p0}, Lorg/videolan/libvlc/Media;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 674
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
.line 675
|
|
:cond_1
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 676
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeGetType()I
|
|
|
|
move-result v0
|
|
|
|
.line 677
|
|
monitor-enter p0
|
|
|
|
.line 678
|
|
:try_start_1
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mType:I
|
|
|
|
.line 679
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 680
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
|
|
:catchall_1
|
|
move-exception v0
|
|
|
|
.line 675
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public declared-synchronized getUri()Landroid/net/Uri;
|
|
.locals 1
|
|
|
|
monitor-enter p0
|
|
|
|
.line 520
|
|
:try_start_0
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
monitor-exit p0
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public declared-synchronized isParsed()Z
|
|
.locals 1
|
|
|
|
monitor-enter p0
|
|
|
|
.line 661
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
and-int/lit8 v0, v0, 0x2
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
monitor-exit p0
|
|
|
|
return v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
monitor-exit p0
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public bridge synthetic isReleased()Z
|
|
.locals 1
|
|
|
|
.line 33
|
|
invoke-super {p0}, Lorg/videolan/libvlc/VLCObject;->isReleased()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method protected declared-synchronized onEventNative(IJJF)Lorg/videolan/libvlc/Media$Event;
|
|
.locals 0
|
|
|
|
monitor-enter p0
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
const/4 p4, 0x5
|
|
|
|
if-eq p1, p4, :cond_2
|
|
|
|
const/4 p4, 0x2
|
|
|
|
if-eq p1, p4, :cond_1
|
|
|
|
const/4 p4, 0x3
|
|
|
|
if-eq p1, p4, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 507
|
|
:cond_0
|
|
:try_start_0
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->postParse()V
|
|
|
|
.line 508
|
|
new-instance p4, Lorg/videolan/libvlc/Media$Event;
|
|
|
|
invoke-direct {p4, p1, p2, p3}, Lorg/videolan/libvlc/Media$Event;-><init>(IJ)V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
monitor-exit p0
|
|
|
|
return-object p4
|
|
|
|
:cond_1
|
|
const-wide/16 p2, -0x1
|
|
|
|
.line 504
|
|
:try_start_1
|
|
iput-wide p2, p0, Lorg/videolan/libvlc/Media;->mDuration:J
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
const/4 p2, -0x1
|
|
|
|
.line 510
|
|
iput p2, p0, Lorg/videolan/libvlc/Media;->mState:I
|
|
|
|
.line 513
|
|
:goto_0
|
|
new-instance p2, Lorg/videolan/libvlc/Media$Event;
|
|
|
|
invoke-direct {p2, p1}, Lorg/videolan/libvlc/Media$Event;-><init>(I)V
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
monitor-exit p0
|
|
|
|
return-object p2
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
long-to-int p4, p2
|
|
|
|
if-ltz p4, :cond_4
|
|
|
|
const/16 p5, 0x19
|
|
|
|
if-ge p4, p5, :cond_4
|
|
|
|
.line 501
|
|
:try_start_2
|
|
iget-object p5, p0, Lorg/videolan/libvlc/Media;->mNativeMetas:[Ljava/lang/String;
|
|
|
|
const/4 p6, 0x0
|
|
|
|
aput-object p6, p5, p4
|
|
|
|
.line 502
|
|
:cond_4
|
|
new-instance p4, Lorg/videolan/libvlc/Media$Event;
|
|
|
|
invoke-direct {p4, p1, p2, p3}, Lorg/videolan/libvlc/Media$Event;-><init>(IJ)V
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_0
|
|
|
|
monitor-exit p0
|
|
|
|
return-object p4
|
|
|
|
:goto_1
|
|
monitor-exit p0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method protected bridge synthetic onEventNative(IJJF)Lorg/videolan/libvlc/VLCEvent;
|
|
.locals 0
|
|
|
|
.line 33
|
|
invoke-virtual/range {p0 .. p6}, Lorg/videolan/libvlc/Media;->onEventNative(IJJF)Lorg/videolan/libvlc/Media$Event;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method protected onReleaseNative()V
|
|
.locals 1
|
|
|
|
.line 871
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 872
|
|
invoke-virtual {v0}, Lorg/videolan/libvlc/MediaList;->release()V
|
|
|
|
.line 873
|
|
:cond_0
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->nativeRelease()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public parse()Z
|
|
.locals 1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
.line 618
|
|
invoke-virtual {p0, v0}, Lorg/videolan/libvlc/Media;->parse(I)Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public parse(I)Z
|
|
.locals 4
|
|
|
|
.line 599
|
|
monitor-enter p0
|
|
|
|
.line 600
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
and-int/lit8 v1, v0, 0x3
|
|
|
|
const/4 v2, 0x0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
or-int/2addr v0, v3
|
|
|
|
.line 601
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
move v0, v3
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v0, v2
|
|
|
|
.line 604
|
|
:goto_0
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 605
|
|
invoke-direct {p0, p1}, Lorg/videolan/libvlc/Media;->nativeParse(I)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 606
|
|
invoke-direct {p0}, Lorg/videolan/libvlc/Media;->postParse()V
|
|
|
|
return v3
|
|
|
|
:cond_1
|
|
return v2
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 604
|
|
:try_start_1
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public parseAsync()Z
|
|
.locals 1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
.line 654
|
|
invoke-virtual {p0, v0}, Lorg/videolan/libvlc/Media;->parseAsync(I)Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public parseAsync(I)Z
|
|
.locals 1
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 645
|
|
invoke-virtual {p0, p1, v0}, Lorg/videolan/libvlc/Media;->parseAsync(II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public parseAsync(II)Z
|
|
.locals 4
|
|
|
|
.line 635
|
|
monitor-enter p0
|
|
|
|
.line 636
|
|
:try_start_0
|
|
iget v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
and-int/lit8 v1, v0, 0x3
|
|
|
|
const/4 v2, 0x0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
or-int/2addr v0, v3
|
|
|
|
.line 637
|
|
iput v0, p0, Lorg/videolan/libvlc/Media;->mParseStatus:I
|
|
|
|
move v0, v3
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v0, v2
|
|
|
|
.line 640
|
|
:goto_0
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 641
|
|
invoke-direct {p0, p1, p2}, Lorg/videolan/libvlc/Media;->nativeParseAsync(II)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
move v2, v3
|
|
|
|
:cond_1
|
|
return v2
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 640
|
|
:try_start_1
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method protected setDefaultMediaPlayerOptions()V
|
|
.locals 2
|
|
|
|
.line 798
|
|
monitor-enter p0
|
|
|
|
.line 799
|
|
:try_start_0
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 800
|
|
iput-boolean v1, p0, Lorg/videolan/libvlc/Media;->mCodecOptionSet:Z
|
|
|
|
.line 801
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 803
|
|
invoke-virtual {p0, v1, v0}, Lorg/videolan/libvlc/Media;->setHWDecoderEnabled(ZZ)V
|
|
|
|
.line 806
|
|
:cond_0
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
invoke-virtual {v0}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "file"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
.line 807
|
|
invoke-virtual {v0}, Landroid/net/Uri;->getLastPathSegment()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mUri:Landroid/net/Uri;
|
|
|
|
invoke-virtual {v0}, Landroid/net/Uri;->getLastPathSegment()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, ".iso"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const-string v0, ":demux=dvdnav,any"
|
|
|
|
.line 808
|
|
invoke-virtual {p0, v0}, Lorg/videolan/libvlc/Media;->addOption(Ljava/lang/String;)V
|
|
|
|
:cond_1
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 801
|
|
:try_start_1
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public setEventListener(Lorg/videolan/libvlc/Media$EventListener;)V
|
|
.locals 0
|
|
|
|
.line 491
|
|
invoke-super {p0, p1}, Lorg/videolan/libvlc/VLCObject;->setEventListener(Lorg/videolan/libvlc/VLCEvent$Listener;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setHWDecoderEnabled(ZZ)V
|
|
.locals 3
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 757
|
|
invoke-static {}, Lorg/videolan/libvlc/util/HWDecoderUtil;->getDecoderFromDevice()Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
move-result-object p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
sget-object p1, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->NONE:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
.line 761
|
|
:goto_0
|
|
sget-object v0, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->UNKNOWN:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-ne p1, v0, :cond_1
|
|
|
|
if-eqz p2, :cond_1
|
|
|
|
.line 762
|
|
sget-object p1, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->ALL:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
.line 764
|
|
:cond_1
|
|
sget-object v0, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->NONE:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-eq p1, v0, :cond_9
|
|
|
|
sget-object v0, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->UNKNOWN:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-ne p1, v0, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
.line 778
|
|
:cond_2
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mFileCachingSet:Z
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
const-string v0, ":file-caching=1500"
|
|
|
|
.line 779
|
|
invoke-virtual {p0, v0}, Lorg/videolan/libvlc/Media;->addOption(Ljava/lang/String;)V
|
|
|
|
.line 780
|
|
:cond_3
|
|
iget-boolean v0, p0, Lorg/videolan/libvlc/Media;->mNetworkCachingSet:Z
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
const-string v0, ":network-caching=1500"
|
|
|
|
.line 781
|
|
invoke-virtual {p0, v0}, Lorg/videolan/libvlc/Media;->addOption(Ljava/lang/String;)V
|
|
|
|
.line 783
|
|
:cond_4
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ":codec="
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 784
|
|
sget-object v1, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->MEDIACODEC:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-eq p1, v1, :cond_5
|
|
|
|
sget-object v1, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->ALL:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-ne p1, v1, :cond_6
|
|
|
|
.line 785
|
|
:cond_5
|
|
invoke-static {}, Lorg/videolan/libvlc/Media;->getMediaCodecModule()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, ","
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
:cond_6
|
|
if-eqz p2, :cond_8
|
|
|
|
.line 786
|
|
sget-object p2, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->OMX:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-eq p1, p2, :cond_7
|
|
|
|
sget-object p2, Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;->ALL:Lorg/videolan/libvlc/util/HWDecoderUtil$Decoder;
|
|
|
|
if-ne p1, p2, :cond_8
|
|
|
|
:cond_7
|
|
const-string p1, "iomx,"
|
|
|
|
.line 787
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
:cond_8
|
|
const-string p1, "all"
|
|
|
|
.line 788
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 790
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Lorg/videolan/libvlc/Media;->addOption(Ljava/lang/String;)V
|
|
|
|
return-void
|
|
|
|
:cond_9
|
|
:goto_1
|
|
const-string p1, ":codec=all"
|
|
|
|
.line 765
|
|
invoke-virtual {p0, p1}, Lorg/videolan/libvlc/Media;->addOption(Ljava/lang/String;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public subItems()Lorg/videolan/libvlc/MediaList;
|
|
.locals 1
|
|
|
|
.line 565
|
|
monitor-enter p0
|
|
|
|
.line 566
|
|
:try_start_0
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 567
|
|
invoke-virtual {v0}, Lorg/videolan/libvlc/MediaList;->retain()Z
|
|
|
|
.line 568
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
.line 570
|
|
:cond_0
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_1
|
|
|
|
.line 571
|
|
new-instance v0, Lorg/videolan/libvlc/MediaList;
|
|
|
|
invoke-direct {v0, p0}, Lorg/videolan/libvlc/MediaList;-><init>(Lorg/videolan/libvlc/Media;)V
|
|
|
|
.line 572
|
|
monitor-enter p0
|
|
|
|
.line 573
|
|
:try_start_1
|
|
iput-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
.line 574
|
|
invoke-virtual {v0}, Lorg/videolan/libvlc/MediaList;->retain()Z
|
|
|
|
.line 575
|
|
iget-object v0, p0, Lorg/videolan/libvlc/Media;->mSubItems:Lorg/videolan/libvlc/MediaList;
|
|
|
|
monitor-exit p0
|
|
|
|
return-object v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 576
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw v0
|
|
|
|
:catchall_1
|
|
move-exception v0
|
|
|
|
.line 570
|
|
:try_start_2
|
|
monitor-exit p0
|
|
:try_end_2
|
|
.catchall {:try_start_2 .. :try_end_2} :catchall_1
|
|
|
|
throw v0
|
|
.end method
|