2026-07-06 19:54:44 +08:00

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