DefaultTrackSelector.smali
.class public Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;
.super Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector;
.source "DefaultTrackSelector.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;,
Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;,
Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;,
Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;,
Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
}
.end annotation
# static fields
.field private static final FRACTION_TO_CONSIDER_FULLSCREEN:F = 0.98f
.field private static final NO_TRACKS:[I
.field private static final WITHIN_RENDERER_CAPABILITIES_BONUS:I = 0x3e8
# instance fields
.field private final parametersReference:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;",
">;"
}
.end annotation
.end field
.field private final trackSelectionFactory:Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1327
const/4 v0, 0x0
new-array v0, v0, [I
sput-object v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->NO_TRACKS:[I
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 1334
new-instance v0, Lcom/google/android/exoplayer2/trackselection/AdaptiveTrackSelection$Factory;
invoke-direct {v0}, Lcom/google/android/exoplayer2/trackselection/AdaptiveTrackSelection$Factory;-><init>()V
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;-><init>(Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;)V
.line 1335
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;)V
.registers 4
.param p1, "trackSelectionFactory" # Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;
.line 1348
invoke-direct {p0}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector;-><init>()V
.line 1349
iput-object p1, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->trackSelectionFactory:Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;
.line 1350
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->DEFAULT:Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->parametersReference:Ljava/util/concurrent/atomic/AtomicReference;
.line 1351
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/BandwidthMeter;)V
.registers 3
.param p1, "bandwidthMeter" # Lcom/google/android/exoplayer2/upstream/BandwidthMeter;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1344
new-instance v0, Lcom/google/android/exoplayer2/trackselection/AdaptiveTrackSelection$Factory;
invoke-direct {v0, p1}, Lcom/google/android/exoplayer2/trackselection/AdaptiveTrackSelection$Factory;-><init>(Lcom/google/android/exoplayer2/upstream/BandwidthMeter;)V
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;-><init>(Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;)V
.line 1345
return-void
.end method
.method static synthetic access$300(II)I
.registers 3
.param p0, "x0" # I
.param p1, "x1" # I
.line 156
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->compareInts(II)I
move-result v0
return v0
.end method
.method static synthetic access$400(II)I
.registers 3
.param p0, "x0" # I
.param p1, "x1" # I
.line 156
invoke-static {p0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->compareFormatValues(II)I
move-result v0
return v0
.end method
.method private static compareFormatValues(II)I
.registers 3
.param p0, "first" # I
.param p1, "second" # I
.line 2272
const/4 v0, -0x1
if-ne p0, v0, :cond_7
if-ne p1, v0, :cond_d
const/4 v0, 0x0
goto :goto_d
:cond_7
if-ne p1, v0, :cond_b
const/4 v0, 0x1
goto :goto_d
:cond_b
sub-int v0, p0, p1
:cond_d
:goto_d
return v0
.end method
.method private static compareInts(II)I
.registers 3
.param p0, "first" # I
.param p1, "second" # I
.line 2466
if-le p0, p1, :cond_4
const/4 v0, 0x1
goto :goto_9
:cond_4
if-le p1, p0, :cond_8
const/4 v0, -0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return v0
.end method
.method private static filterAdaptiveVideoTrackCountForMimeType(Lcom/google/android/exoplayer2/source/TrackGroup;[IILjava/lang/String;IIIILjava/util/List;)V
.registers 21
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "formatSupport" # [I
.param p2, "requiredAdaptiveSupport" # I
.param p3, "mimeType" # Ljava/lang/String;
.param p4, "maxVideoWidth" # I
.param p5, "maxVideoHeight" # I
.param p6, "maxVideoFrameRate" # I
.param p7, "maxVideoBitrate" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/TrackGroup;",
"[II",
"Ljava/lang/String;",
"IIII",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
.line 1788
.local p8, "selectedTrackIndices":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Integer;>;"
move-object/from16 v0, p8
invoke-interface/range {p8 .. p8}, Ljava/util/List;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
.local v1, "i":I
:goto_8
if-ltz v1, :cond_32
.line 1789
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
.line 1790
.local v2, "trackIndex":I
nop
.line 1791
move-object v3, p0
invoke-virtual {p0, v2}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v4
aget v6, p1, v2
.line 1790
move-object v5, p3
move v7, p2
move/from16 v8, p4
move/from16 v9, p5
move/from16 v10, p6
move/from16 v11, p7
invoke-static/range {v4 .. v11}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupportedAdaptiveVideoTrack(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;IIIIII)Z
move-result v4
if-nez v4, :cond_2f
.line 1799
invoke-interface {v0, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
.line 1788
.end local v2 # "trackIndex":I
:cond_2f
add-int/lit8 v1, v1, -0x1
goto :goto_8
:cond_32
move-object v3, p0
.line 1802
.end local v1 # "i":I
return-void
.end method
.method protected static formatHasLanguage(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;)Z
.registers 3
.param p0, "format" # Lcom/google/android/exoplayer2/Format;
.param p1, "language" # Ljava/lang/String;
.line 2316
if-eqz p1, :cond_10
iget-object v0, p0, Lcom/google/android/exoplayer2/Format;->language:Ljava/lang/String;
.line 2317
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Util;->normalizeLanguageCode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {p1, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_10
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
.line 2316
:goto_11
return v0
.end method
.method protected static formatHasNoLanguage(Lcom/google/android/exoplayer2/Format;)Z
.registers 2
.param p0, "format" # Lcom/google/android/exoplayer2/Format;
.line 2303
iget-object v0, p0, Lcom/google/android/exoplayer2/Format;->language:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_14
const-string/jumbo v0, "und"
invoke-static {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->formatHasLanguage(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_12
goto :goto_14
:cond_12
const/4 v0, 0x0
goto :goto_15
:cond_14
:goto_14
const/4 v0, 0x1
:goto_15
return v0
.end method
.method private static getAdaptiveAudioTrackCount(Lcom/google/android/exoplayer2/source/TrackGroup;[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;ZZ)I
.registers 9
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "formatSupport" # [I
.param p2, "configuration" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
.param p3, "allowMixedMimeTypeAdaptiveness" # Z
.param p4, "allowMixedSampleRateAdaptiveness" # Z
.line 2022
const/4 v0, 0x0
.line 2023
.local v0, "count":I
const/4 v1, 0x0
.local v1, "i":I
:goto_2
iget v2, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v1, v2, :cond_18
.line 2024
nop
.line 2025
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v2
aget v3, p1, v1
.line 2024
invoke-static {v2, v3, p2, p3, p4}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupportedAdaptiveAudioTrack(Lcom/google/android/exoplayer2/Format;ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;ZZ)Z
move-result v2
if-eqz v2, :cond_15
.line 2030
add-int/lit8 v0, v0, 0x1
.line 2023
:cond_15
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 2033
.end local v1 # "i":I
:cond_18
return v0
.end method
.method private static getAdaptiveAudioTracks(Lcom/google/android/exoplayer2/source/TrackGroup;[IZZ)[I
.registers 13
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "formatSupport" # [I
.param p2, "allowMixedMimeTypeAdaptiveness" # Z
.param p3, "allowMixedSampleRateAdaptiveness" # Z
.line 1975
const/4 v0, 0x0
.line 1976
.local v0, "selectedConfigurationTrackCount":I
const/4 v1, 0x0
.line 1977
.local v1, "selectedConfiguration":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
new-instance v2, Ljava/util/HashSet;
invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
.line 1978
.local v2, "seenConfigurationTuples":Ljava/util/HashSet;, "Ljava/util/HashSet<Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;>;"
const/4 v3, 0x0
.local v3, "i":I
:goto_8
iget v4, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v3, v4, :cond_2d
.line 1979
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v4
.line 1980
.local v4, "format":Lcom/google/android/exoplayer2/Format;
new-instance v5, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
iget v6, v4, Lcom/google/android/exoplayer2/Format;->channelCount:I
iget v7, v4, Lcom/google/android/exoplayer2/Format;->sampleRate:I
iget-object v8, v4, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
invoke-direct {v5, v6, v7, v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;-><init>(IILjava/lang/String;)V
.line 1983
.local v5, "configuration":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
invoke-virtual {v2, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_2a
.line 1984
nop
.line 1985
invoke-static {p0, p1, v5, p2, p3}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getAdaptiveAudioTrackCount(Lcom/google/android/exoplayer2/source/TrackGroup;[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;ZZ)I
move-result v6
.line 1991
.local v6, "configurationCount":I
if-le v6, v0, :cond_2a
.line 1992
move-object v1, v5
.line 1993
move v0, v6
.line 1978
.end local v4 # "format":Lcom/google/android/exoplayer2/Format;
.end local v5 # "configuration":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
.end local v6 # "configurationCount":I
:cond_2a
add-int/lit8 v3, v3, 0x1
goto :goto_8
.line 1998
.end local v3 # "i":I
:cond_2d
const/4 v3, 0x1
if-le v0, v3, :cond_54
.line 1999
new-array v3, v0, [I
.line 2000
.local v3, "adaptiveIndices":[I
const/4 v4, 0x0
.line 2001
.local v4, "index":I
const/4 v5, 0x0
.local v5, "i":I
:goto_34
iget v6, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v5, v6, :cond_53
.line 2002
nop
.line 2003
invoke-virtual {p0, v5}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v6
aget v7, p1, v5
.line 2005
invoke-static {v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
.line 2002
invoke-static {v6, v7, v8, p2, p3}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupportedAdaptiveAudioTrack(Lcom/google/android/exoplayer2/Format;ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;ZZ)Z
move-result v6
if-eqz v6, :cond_50
.line 2008
add-int/lit8 v6, v4, 0x1
.end local v4 # "index":I
.local v6, "index":I
aput v5, v3, v4
move v4, v6
.line 2001
.end local v6 # "index":I
.restart local v4 # "index":I
:cond_50
add-int/lit8 v5, v5, 0x1
goto :goto_34
.line 2011
.end local v5 # "i":I
:cond_53
return-object v3
.line 2013
.end local v3 # "adaptiveIndices":[I
.end local v4 # "index":I
:cond_54
sget-object v3, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->NO_TRACKS:[I
return-object v3
.end method
.method private static getAdaptiveVideoTrackCountForMimeType(Lcom/google/android/exoplayer2/source/TrackGroup;[IILjava/lang/String;IIIILjava/util/List;)I
.registers 22
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "formatSupport" # [I
.param p2, "requiredAdaptiveSupport" # I
.param p3, "mimeType" # Ljava/lang/String;
.param p4, "maxVideoWidth" # I
.param p5, "maxVideoHeight" # I
.param p6, "maxVideoFrameRate" # I
.param p7, "maxVideoBitrate" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/TrackGroup;",
"[II",
"Ljava/lang/String;",
"IIII",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;)I"
}
.end annotation
.line 1760
.local p8, "selectedTrackIndices":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Integer;>;"
const/4 v0, 0x0
.line 1761
.local v0, "adaptiveTrackCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_2
invoke-interface/range {p8 .. p8}, Ljava/util/List;->size()I
move-result v2
if-ge v1, v2, :cond_32
.line 1762
move-object/from16 v2, p8
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
.line 1763
.local v3, "trackIndex":I
nop
.line 1764
move-object v4, p0
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v5
aget v7, p1, v3
.line 1763
move-object/from16 v6, p3
move v8, p2
move/from16 v9, p4
move/from16 v10, p5
move/from16 v11, p6
move/from16 v12, p7
invoke-static/range {v5 .. v12}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupportedAdaptiveVideoTrack(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;IIIIII)Z
move-result v5
if-eqz v5, :cond_2f
.line 1772
add-int/lit8 v0, v0, 0x1
.line 1761
.end local v3 # "trackIndex":I
:cond_2f
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_32
move-object v4, p0
move-object/from16 v2, p8
.line 1775
.end local v1 # "i":I
return v0
.end method
.method private static getAdaptiveVideoTracksForGroup(Lcom/google/android/exoplayer2/source/TrackGroup;[IZIIIIIIIZ)[I
.registers 31
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "formatSupport" # [I
.param p2, "allowMixedMimeTypes" # Z
.param p3, "requiredAdaptiveSupport" # I
.param p4, "maxVideoWidth" # I
.param p5, "maxVideoHeight" # I
.param p6, "maxVideoFrameRate" # I
.param p7, "maxVideoBitrate" # I
.param p8, "viewportWidth" # I
.param p9, "viewportHeight" # I
.param p10, "viewportOrientationMayChange" # Z
.line 1697
move-object/from16 v9, p0
iget v0, v9, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
const/4 v10, 0x2
if-ge v0, v10, :cond_a
.line 1698
sget-object v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->NO_TRACKS:[I
return-object v0
.line 1701
:cond_a
move/from16 v11, p8
move/from16 v12, p9
move/from16 v13, p10
invoke-static {v9, v11, v12, v13}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getViewportFilteredTrackIndices(Lcom/google/android/exoplayer2/source/TrackGroup;IIZ)Ljava/util/List;
move-result-object v14
.line 1703
.local v14, "selectedTrackIndices":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Integer;>;"
invoke-interface {v14}, Ljava/util/List;->size()I
move-result v0
if-ge v0, v10, :cond_1d
.line 1704
sget-object v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->NO_TRACKS:[I
return-object v0
.line 1707
:cond_1d
const/4 v0, 0x0
.line 1708
.local v0, "selectedMimeType":Ljava/lang/String;
if-nez p2, :cond_7b
.line 1710
new-instance v1, Ljava/util/HashSet;
invoke-direct {v1}, Ljava/util/HashSet;-><init>()V
move-object v15, v1
.line 1711
.local v15, "seenMimeTypes":Ljava/util/HashSet;, "Ljava/util/HashSet<Ljava/lang/String;>;"
const/4 v1, 0x0
.line 1712
.local v1, "selectedMimeTypeTrackCount":I
const/4 v2, 0x0
move-object/from16 v16, v0
move v8, v1
move v7, v2
.end local v0 # "selectedMimeType":Ljava/lang/String;
.end local v1 # "selectedMimeTypeTrackCount":I
.local v7, "i":I
.local v8, "selectedMimeTypeTrackCount":I
.local v16, "selectedMimeType":Ljava/lang/String;
:goto_2c
invoke-interface {v14}, Ljava/util/List;->size()I
move-result v0
if-ge v7, v0, :cond_77
.line 1713
invoke-interface {v14, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v6
.line 1714
.local v6, "trackIndex":I
invoke-virtual {v9, v6}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v0
iget-object v5, v0, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
.line 1715
.local v5, "sampleMimeType":Ljava/lang/String;
invoke-virtual {v15, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_6b
.line 1716
nop
.line 1717
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p3
move-object v3, v5
move/from16 v4, p4
move-object/from16 v17, v5
.end local v5 # "sampleMimeType":Ljava/lang/String;
.local v17, "sampleMimeType":Ljava/lang/String;
move/from16 v5, p5
move/from16 v18, v6
.end local v6 # "trackIndex":I
.local v18, "trackIndex":I
move/from16 v6, p6
move/from16 v19, v7
.end local v7 # "i":I
.local v19, "i":I
move/from16 v7, p7
move v10, v8
.end local v8 # "selectedMimeTypeTrackCount":I
.local v10, "selectedMimeTypeTrackCount":I
move-object v8, v14
invoke-static/range {v0 .. v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getAdaptiveVideoTrackCountForMimeType(Lcom/google/android/exoplayer2/source/TrackGroup;[IILjava/lang/String;IIIILjava/util/List;)I
move-result v0
.line 1727
.local v0, "countForMimeType":I
if-le v0, v10, :cond_72
.line 1728
move-object/from16 v16, v17
.line 1729
move v1, v0
move v8, v1
.end local v10 # "selectedMimeTypeTrackCount":I
.restart local v1 # "selectedMimeTypeTrackCount":I
goto :goto_73
.line 1715
.end local v0 # "countForMimeType":I
.end local v1 # "selectedMimeTypeTrackCount":I
.end local v17 # "sampleMimeType":Ljava/lang/String;
.end local v18 # "trackIndex":I
.end local v19 # "i":I
.restart local v5 # "sampleMimeType":Ljava/lang/String;
.restart local v6 # "trackIndex":I
.restart local v7 # "i":I
.restart local v8 # "selectedMimeTypeTrackCount":I
:cond_6b
move-object/from16 v17, v5
move/from16 v18, v6
move/from16 v19, v7
move v10, v8
.line 1712
.end local v5 # "sampleMimeType":Ljava/lang/String;
.end local v6 # "trackIndex":I
.end local v7 # "i":I
.end local v8 # "selectedMimeTypeTrackCount":I
.restart local v10 # "selectedMimeTypeTrackCount":I
.restart local v19 # "i":I
:cond_72
move v8, v10
.end local v10 # "selectedMimeTypeTrackCount":I
.restart local v8 # "selectedMimeTypeTrackCount":I
:goto_73
add-int/lit8 v7, v19, 0x1
const/4 v10, 0x2
.end local v19 # "i":I
.restart local v7 # "i":I
goto :goto_2c
:cond_77
move/from16 v19, v7
move v10, v8
.end local v7 # "i":I
.end local v8 # "selectedMimeTypeTrackCount":I
.restart local v10 # "selectedMimeTypeTrackCount":I
.restart local v19 # "i":I
goto :goto_7d
.line 1708
.end local v10 # "selectedMimeTypeTrackCount":I
.end local v15 # "seenMimeTypes":Ljava/util/HashSet;, "Ljava/util/HashSet<Ljava/lang/String;>;"
.end local v16 # "selectedMimeType":Ljava/lang/String;
.end local v19 # "i":I
.local v0, "selectedMimeType":Ljava/lang/String;
:cond_7b
move-object/from16 v16, v0
.line 1736
.end local v0 # "selectedMimeType":Ljava/lang/String;
.restart local v16 # "selectedMimeType":Ljava/lang/String;
:goto_7d
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p3
move-object/from16 v3, v16
move/from16 v4, p4
move/from16 v5, p5
move/from16 v6, p6
move/from16 v7, p7
move-object v8, v14
invoke-static/range {v0 .. v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->filterAdaptiveVideoTrackCountForMimeType(Lcom/google/android/exoplayer2/source/TrackGroup;[IILjava/lang/String;IIIILjava/util/List;)V
.line 1747
invoke-interface {v14}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x2
if-ge v0, v1, :cond_9b
sget-object v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->NO_TRACKS:[I
goto :goto_9f
:cond_9b
invoke-static {v14}, Lcom/google/android/exoplayer2/util/Util;->toArray(Ljava/util/List;)[I
move-result-object v0
:goto_9f
return-object v0
.end method
.method private static getMaxVideoSizeInViewport(ZIIII)Landroid/graphics/Point;
.registers 8
.param p0, "orientationMayChange" # Z
.param p1, "viewportWidth" # I
.param p2, "viewportHeight" # I
.param p3, "videoWidth" # I
.param p4, "videoHeight" # I
.line 2373
if-eqz p0, :cond_12
const/4 v0, 0x1
const/4 v1, 0x0
if-le p3, p4, :cond_8
const/4 v2, 0x1
goto :goto_9
:cond_8
const/4 v2, 0x0
:goto_9
if-le p1, p2, :cond_c
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
if-eq v2, v0, :cond_12
.line 2375
move v0, p1
.line 2376
.local v0, "tempViewportWidth":I
move p1, p2
.line 2377
move p2, v0
.line 2380
.end local v0 # "tempViewportWidth":I
:cond_12
mul-int v0, p3, p2
mul-int v1, p4, p1
if-lt v0, v1, :cond_24
.line 2382
new-instance v0, Landroid/graphics/Point;
mul-int v1, p1, p4
invoke-static {v1, p3}, Lcom/google/android/exoplayer2/util/Util;->ceilDivide(II)I
move-result v1
invoke-direct {v0, p1, v1}, Landroid/graphics/Point;-><init>(II)V
return-object v0
.line 2385
:cond_24
new-instance v0, Landroid/graphics/Point;
mul-int v1, p2, p3
invoke-static {v1, p4}, Lcom/google/android/exoplayer2/util/Util;->ceilDivide(II)I
move-result v1
invoke-direct {v0, v1, p2}, Landroid/graphics/Point;-><init>(II)V
return-object v0
.end method
.method private static getViewportFilteredTrackIndices(Lcom/google/android/exoplayer2/source/TrackGroup;IIZ)Ljava/util/List;
.registers 14
.param p0, "group" # Lcom/google/android/exoplayer2/source/TrackGroup;
.param p1, "viewportWidth" # I
.param p2, "viewportHeight" # I
.param p3, "orientationMayChange" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/TrackGroup;",
"IIZ)",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 2323
new-instance v0, Ljava/util/ArrayList;
iget v1, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 2324
.local v0, "selectedTrackIndices":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/Integer;>;"
const/4 v1, 0x0
.local v1, "i":I
:goto_8
iget v2, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v1, v2, :cond_16
.line 2325
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 2324
add-int/lit8 v1, v1, 0x1
goto :goto_8
.line 2328
.end local v1 # "i":I
:cond_16
const v1, 0x7fffffff
if-eq p1, v1, :cond_85
if-ne p2, v1, :cond_1e
goto :goto_85
.line 2333
:cond_1e
const v2, 0x7fffffff
.line 2334
.local v2, "maxVideoPixelsToRetain":I
const/4 v3, 0x0
.local v3, "i":I
:goto_22
iget v4, p0, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v3, v4, :cond_5d
.line 2335
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v4
.line 2339
.local v4, "format":Lcom/google/android/exoplayer2/Format;
iget v5, v4, Lcom/google/android/exoplayer2/Format;->width:I
if-lez v5, :cond_5a
iget v5, v4, Lcom/google/android/exoplayer2/Format;->height:I
if-lez v5, :cond_5a
.line 2340
iget v5, v4, Lcom/google/android/exoplayer2/Format;->width:I
iget v6, v4, Lcom/google/android/exoplayer2/Format;->height:I
invoke-static {p3, p1, p2, v5, v6}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getMaxVideoSizeInViewport(ZIIII)Landroid/graphics/Point;
move-result-object v5
.line 2342
.local v5, "maxVideoSizeInViewport":Landroid/graphics/Point;
iget v6, v4, Lcom/google/android/exoplayer2/Format;->width:I
iget v7, v4, Lcom/google/android/exoplayer2/Format;->height:I
mul-int v6, v6, v7
.line 2343
.local v6, "videoPixels":I
iget v7, v4, Lcom/google/android/exoplayer2/Format;->width:I
iget v8, v5, Landroid/graphics/Point;->x:I
int-to-float v8, v8
const v9, 0x3f7ae148 # 0.98f
mul-float v8, v8, v9
float-to-int v8, v8
if-lt v7, v8, :cond_5a
iget v7, v4, Lcom/google/android/exoplayer2/Format;->height:I
iget v8, v5, Landroid/graphics/Point;->y:I
int-to-float v8, v8
mul-float v8, v8, v9
float-to-int v8, v8
if-lt v7, v8, :cond_5a
if-ge v6, v2, :cond_5a
.line 2346
move v2, v6
.line 2334
.end local v4 # "format":Lcom/google/android/exoplayer2/Format;
.end local v5 # "maxVideoSizeInViewport":Landroid/graphics/Point;
.end local v6 # "videoPixels":I
:cond_5a
add-int/lit8 v3, v3, 0x1
goto :goto_22
.line 2354
.end local v3 # "i":I
:cond_5d
if-eq v2, v1, :cond_84
.line 2355
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
.restart local v1 # "i":I
:goto_65
if-ltz v1, :cond_84
.line 2356
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v3
.line 2357
.local v3, "format":Lcom/google/android/exoplayer2/Format;
invoke-virtual {v3}, Lcom/google/android/exoplayer2/Format;->getPixelCount()I
move-result v4
.line 2358
.local v4, "pixelCount":I
const/4 v5, -0x1
if-eq v4, v5, :cond_7e
if-le v4, v2, :cond_81
.line 2359
:cond_7e
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
.line 2355
.end local v3 # "format":Lcom/google/android/exoplayer2/Format;
.end local v4 # "pixelCount":I
:cond_81
add-int/lit8 v1, v1, -0x1
goto :goto_65
.line 2364
.end local v1 # "i":I
:cond_84
return-object v0
.line 2330
.end local v2 # "maxVideoPixelsToRetain":I
:cond_85
:goto_85
return-object v0
.end method
.method protected static isSupported(IZ)Z
.registers 4
.param p0, "formatSupport" # I
.param p1, "allowExceedsCapabilities" # Z
.line 2291
and-int/lit8 v0, p0, 0x7
.line 2292
.local v0, "maskedSupport":I
const/4 v1, 0x4
if-eq v0, v1, :cond_d
if-eqz p1, :cond_b
const/4 v1, 0x3
if-ne v0, v1, :cond_b
goto :goto_d
:cond_b
const/4 v1, 0x0
goto :goto_e
:cond_d
:goto_d
const/4 v1, 0x1
:goto_e
return v1
.end method
.method private static isSupportedAdaptiveAudioTrack(Lcom/google/android/exoplayer2/Format;ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;ZZ)Z
.registers 9
.param p0, "format" # Lcom/google/android/exoplayer2/Format;
.param p1, "formatSupport" # I
.param p2, "configuration" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;
.param p3, "allowMixedMimeTypeAdaptiveness" # Z
.param p4, "allowMixedSampleRateAdaptiveness" # Z
.line 2042
const/4 v0, 0x0
invoke-static {p1, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v1
if-eqz v1, :cond_30
iget v1, p0, Lcom/google/android/exoplayer2/Format;->channelCount:I
const/4 v2, -0x1
if-eq v1, v2, :cond_30
iget v1, p0, Lcom/google/android/exoplayer2/Format;->channelCount:I
iget v3, p2, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;->channelCount:I
if-ne v1, v3, :cond_30
if-nez p3, :cond_22
iget-object v1, p0, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
if-eqz v1, :cond_30
iget-object v1, p0, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
iget-object v3, p2, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;->mimeType:Ljava/lang/String;
.line 2047
invoke-static {v1, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_30
:cond_22
if-nez p4, :cond_2e
iget v1, p0, Lcom/google/android/exoplayer2/Format;->sampleRate:I
if-eq v1, v2, :cond_30
iget v1, p0, Lcom/google/android/exoplayer2/Format;->sampleRate:I
iget v2, p2, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioConfigurationTuple;->sampleRate:I
if-ne v1, v2, :cond_30
:cond_2e
const/4 v0, 0x1
goto :goto_31
:cond_30
nop
.line 2042
:goto_31
return v0
.end method
.method private static isSupportedAdaptiveVideoTrack(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;IIIIII)Z
.registers 12
.param p0, "format" # Lcom/google/android/exoplayer2/Format;
.param p1, "mimeType" # Ljava/lang/String;
.param p2, "formatSupport" # I
.param p3, "requiredAdaptiveSupport" # I
.param p4, "maxVideoWidth" # I
.param p5, "maxVideoHeight" # I
.param p6, "maxVideoFrameRate" # I
.param p7, "maxVideoBitrate" # I
.line 1813
const/4 v0, 0x0
invoke-static {p2, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v1
if-eqz v1, :cond_3f
and-int v1, p2, p3
if-eqz v1, :cond_3f
if-eqz p1, :cond_15
iget-object v1, p0, Lcom/google/android/exoplayer2/Format;->sampleMimeType:Ljava/lang/String;
.line 1815
invoke-static {v1, p1}, Lcom/google/android/exoplayer2/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3f
:cond_15
iget v1, p0, Lcom/google/android/exoplayer2/Format;->width:I
const/4 v2, -0x1
if-eq v1, v2, :cond_1e
iget v1, p0, Lcom/google/android/exoplayer2/Format;->width:I
if-gt v1, p4, :cond_3f
:cond_1e
iget v1, p0, Lcom/google/android/exoplayer2/Format;->height:I
if-eq v1, v2, :cond_26
iget v1, p0, Lcom/google/android/exoplayer2/Format;->height:I
if-gt v1, p5, :cond_3f
:cond_26
iget v1, p0, Lcom/google/android/exoplayer2/Format;->frameRate:F
const/high16 v3, -0x40800000 # -1.0f
cmpl-float v1, v1, v3
if-eqz v1, :cond_35
iget v1, p0, Lcom/google/android/exoplayer2/Format;->frameRate:F
int-to-float v3, p6
cmpg-float v1, v1, v3
if-gtz v1, :cond_3f
:cond_35
iget v1, p0, Lcom/google/android/exoplayer2/Format;->bitrate:I
if-eq v1, v2, :cond_3d
iget v1, p0, Lcom/google/android/exoplayer2/Format;->bitrate:I
if-gt v1, p7, :cond_3f
:cond_3d
const/4 v0, 0x1
goto :goto_40
:cond_3f
nop
.line 1813
:goto_40
return v0
.end method
.method private static maybeConfigureRenderersForTunneling(Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;[[[I[Lcom/google/android/exoplayer2/RendererConfiguration;[Lcom/google/android/exoplayer2/trackselection/TrackSelection;I)V
.registers 15
.param p0, "mappedTrackInfo" # Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;
.param p1, "renderererFormatSupports" # [[[I
.param p2, "rendererConfigurations" # [Lcom/google/android/exoplayer2/RendererConfiguration;
.param p3, "trackSelections" # [Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.param p4, "tunnelingAudioSessionId" # I
.line 2195
if-nez p4, :cond_3
.line 2196
return-void
.line 2200
:cond_3
const/4 v0, -0x1
.line 2201
.local v0, "tunnelingAudioRendererIndex":I
const/4 v1, -0x1
.line 2202
.local v1, "tunnelingVideoRendererIndex":I
const/4 v2, 0x1
.line 2203
.local v2, "enableTunneling":Z
const/4 v3, 0x0
.local v3, "i":I
:goto_7
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererCount()I
move-result v4
const/4 v5, 0x1
const/4 v6, -0x1
if-ge v3, v4, :cond_38
.line 2204
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererType(I)I
move-result v4
.line 2205
.local v4, "rendererType":I
aget-object v7, p3, v3
.line 2206
.local v7, "trackSelection":Lcom/google/android/exoplayer2/trackselection/TrackSelection;
if-eq v4, v5, :cond_1a
const/4 v8, 0x2
if-ne v4, v8, :cond_35
:cond_1a
if-eqz v7, :cond_35
.line 2208
aget-object v8, p1, v3
.line 2209
invoke-virtual {p0, v3}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v9
.line 2208
invoke-static {v8, v9, v7}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->rendererSupportsTunneling([[ILcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/TrackSelection;)Z
move-result v8
if-eqz v8, :cond_35
.line 2210
if-ne v4, v5, :cond_30
.line 2211
if-eq v0, v6, :cond_2e
.line 2212
const/4 v2, 0x0
.line 2213
goto :goto_38
.line 2215
:cond_2e
move v0, v3
goto :goto_35
.line 2218
:cond_30
if-eq v1, v6, :cond_34
.line 2219
const/4 v2, 0x0
.line 2220
goto :goto_38
.line 2222
:cond_34
move v1, v3
.line 2203
.end local v4 # "rendererType":I
.end local v7 # "trackSelection":Lcom/google/android/exoplayer2/trackselection/TrackSelection;
:cond_35
:goto_35
add-int/lit8 v3, v3, 0x1
goto :goto_7
.line 2228
.end local v3 # "i":I
:cond_38
:goto_38
if-eq v0, v6, :cond_3d
if-eq v1, v6, :cond_3d
goto :goto_3e
:cond_3d
const/4 v5, 0x0
:goto_3e
and-int/2addr v2, v5
.line 2229
if-eqz v2, :cond_4a
.line 2230
new-instance v3, Lcom/google/android/exoplayer2/RendererConfiguration;
invoke-direct {v3, p4}, Lcom/google/android/exoplayer2/RendererConfiguration;-><init>(I)V
.line 2232
.local v3, "tunnelingRendererConfiguration":Lcom/google/android/exoplayer2/RendererConfiguration;
aput-object v3, p2, v0
.line 2233
aput-object v3, p2, v1
.line 2235
.end local v3 # "tunnelingRendererConfiguration":Lcom/google/android/exoplayer2/RendererConfiguration;
:cond_4a
return-void
.end method
.method private static rendererSupportsTunneling([[ILcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/TrackSelection;)Z
.registers 9
.param p0, "formatSupports" # [[I
.param p1, "trackGroups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p2, "selection" # Lcom/google/android/exoplayer2/trackselection/TrackSelection;
.line 2248
const/4 v0, 0x0
if-nez p2, :cond_4
.line 2249
return v0
.line 2251
:cond_4
invoke-interface {p2}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getTrackGroup()Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v1
invoke-virtual {p1, v1}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->indexOf(Lcom/google/android/exoplayer2/source/TrackGroup;)I
move-result v1
.line 2252
.local v1, "trackGroupIndex":I
const/4 v2, 0x0
.local v2, "i":I
:goto_d
invoke-interface {p2}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->length()I
move-result v3
if-ge v2, v3, :cond_25
.line 2253
aget-object v3, p0, v1
invoke-interface {p2, v2}, Lcom/google/android/exoplayer2/trackselection/TrackSelection;->getIndexInTrackGroup(I)I
move-result v4
aget v3, v3, v4
.line 2254
.local v3, "trackFormatSupport":I
and-int/lit8 v4, v3, 0x20
const/16 v5, 0x20
if-eq v4, v5, :cond_22
.line 2256
return v0
.line 2252
.end local v3 # "trackFormatSupport":I
:cond_22
add-int/lit8 v2, v2, 0x1
goto :goto_d
.line 2259
.end local v2 # "i":I
:cond_25
const/4 v0, 0x1
return v0
.end method
.method private static selectAdaptiveVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.registers 20
.param p0, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p1, "formatSupport" # [[I
.param p2, "mixedMimeTypeAdaptationSupports" # I
.param p3, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.line 1656
move-object/from16 v0, p0
move-object/from16 v1, p3
iget-boolean v2, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->allowVideoNonSeamlessAdaptiveness:Z
if-eqz v2, :cond_b
const/16 v2, 0x18
goto :goto_d
:cond_b
const/16 v2, 0x10
.line 1660
.local v2, "requiredAdaptiveSupport":I
:goto_d
iget-boolean v3, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->allowVideoMixedMimeTypeAdaptiveness:Z
if-eqz v3, :cond_18
and-int v3, p2, v2
if-eqz v3, :cond_18
const/4 v3, 0x1
const/4 v5, 0x1
goto :goto_1a
:cond_18
const/4 v3, 0x0
const/4 v5, 0x0
.line 1663
.local v5, "allowMixedMimeTypes":Z
:goto_1a
const/4 v3, 0x0
move v14, v3
.local v14, "i":I
:goto_1c
iget v3, v0, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
if-ge v14, v3, :cond_46
.line 1664
invoke-virtual {v0, v14}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v15
.line 1665
.local v15, "group":Lcom/google/android/exoplayer2/source/TrackGroup;
aget-object v4, p1, v14
iget v7, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoWidth:I
iget v8, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoHeight:I
iget v9, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoFrameRate:I
iget v10, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoBitrate:I
iget v11, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportWidth:I
iget v12, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportHeight:I
iget-boolean v13, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportOrientationMayChange:Z
.line 1666
move-object v3, v15
move v6, v2
invoke-static/range {v3 .. v13}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getAdaptiveVideoTracksForGroup(Lcom/google/android/exoplayer2/source/TrackGroup;[IZIIIIIIIZ)[I
move-result-object v3
.line 1678
.local v3, "adaptiveTracks":[I
array-length v4, v3
if-lez v4, :cond_43
.line 1679
new-instance v4, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
invoke-direct {v4, v15, v3}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
return-object v4
.line 1663
.end local v3 # "adaptiveTracks":[I
.end local v15 # "group":Lcom/google/android/exoplayer2/source/TrackGroup;
:cond_43
add-int/lit8 v14, v14, 0x1
goto :goto_1c
.line 1682
.end local v14 # "i":I
:cond_46
const/4 v3, 0x0
return-object v3
.end method
.method private static selectFixedVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.registers 24
.param p0, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p1, "formatSupports" # [[I
.param p2, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.line 1825
move-object/from16 v0, p0
move-object/from16 v1, p2
const/4 v2, 0x0
.line 1826
.local v2, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v3, 0x0
.line 1827
.local v3, "selectedTrackIndex":I
const/4 v4, 0x0
.line 1828
.local v4, "selectedTrackScore":I
const/4 v5, -0x1
.line 1829
.local v5, "selectedBitrate":I
const/4 v6, -0x1
.line 1830
.local v6, "selectedPixelCount":I
const/4 v7, 0x0
.local v7, "groupIndex":I
:goto_a
iget v8, v0, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
if-ge v7, v8, :cond_f6
.line 1831
invoke-virtual {v0, v7}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v8
.line 1832
.local v8, "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
iget v11, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportWidth:I
iget v12, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportHeight:I
iget-boolean v13, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->viewportOrientationMayChange:Z
invoke-static {v8, v11, v12, v13}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getViewportFilteredTrackIndices(Lcom/google/android/exoplayer2/source/TrackGroup;IIZ)Ljava/util/List;
move-result-object v11
.line 1834
.local v11, "selectedTrackIndices":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Integer;>;"
aget-object v12, p1, v7
.line 1835
.local v12, "trackFormatSupport":[I
const/4 v13, 0x0
.local v13, "trackIndex":I
:goto_1f
iget v14, v8, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v13, v14, :cond_ee
.line 1836
aget v14, v12, v13
iget-boolean v15, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedRendererCapabilitiesIfNecessary:Z
invoke-static {v14, v15}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v14
if-eqz v14, :cond_e4
.line 1838
invoke-virtual {v8, v13}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v14
.line 1839
.local v14, "format":Lcom/google/android/exoplayer2/Format;
nop
.line 1840
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
invoke-interface {v11, v15}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v15
if-eqz v15, :cond_6e
iget v15, v14, Lcom/google/android/exoplayer2/Format;->width:I
const/4 v10, -0x1
if-eq v15, v10, :cond_47
iget v15, v14, Lcom/google/android/exoplayer2/Format;->width:I
iget v9, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoWidth:I
if-gt v15, v9, :cond_6e
:cond_47
iget v9, v14, Lcom/google/android/exoplayer2/Format;->height:I
if-eq v9, v10, :cond_51
iget v9, v14, Lcom/google/android/exoplayer2/Format;->height:I
iget v15, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoHeight:I
if-gt v9, v15, :cond_6e
:cond_51
iget v9, v14, Lcom/google/android/exoplayer2/Format;->frameRate:F
const/high16 v15, -0x40800000 # -1.0f
cmpl-float v9, v9, v15
if-eqz v9, :cond_62
iget v9, v14, Lcom/google/android/exoplayer2/Format;->frameRate:F
iget v15, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoFrameRate:I
int-to-float v15, v15
cmpg-float v9, v9, v15
if-gtz v9, :cond_6e
:cond_62
iget v9, v14, Lcom/google/android/exoplayer2/Format;->bitrate:I
if-eq v9, v10, :cond_6c
iget v9, v14, Lcom/google/android/exoplayer2/Format;->bitrate:I
iget v10, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->maxVideoBitrate:I
if-gt v9, v10, :cond_6e
:cond_6c
const/4 v9, 0x1
goto :goto_6f
:cond_6e
const/4 v9, 0x0
.line 1847
.local v9, "isWithinConstraints":Z
:goto_6f
if-nez v9, :cond_79
iget-boolean v10, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedVideoConstraintsIfNecessary:Z
if-nez v10, :cond_79
.line 1849
move-object/from16 v17, v2
goto/16 :goto_e6
.line 1851
:cond_79
if-eqz v9, :cond_7d
const/4 v10, 0x2
goto :goto_7e
:cond_7d
const/4 v10, 0x1
.line 1852
.local v10, "trackScore":I
:goto_7e
aget v15, v12, v13
const/4 v0, 0x0
invoke-static {v15, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v15
.line 1853
.local v15, "isWithinCapabilities":Z
if-eqz v15, :cond_89
.line 1854
add-int/lit16 v10, v10, 0x3e8
.line 1856
:cond_89
if-le v10, v4, :cond_8d
const/4 v0, 0x1
goto :goto_8e
:cond_8d
const/4 v0, 0x0
.line 1857
.local v0, "selectTrack":Z
:goto_8e
if-ne v10, v4, :cond_d4
.line 1858
move/from16 v16, v0
.end local v0 # "selectTrack":Z
.local v16, "selectTrack":Z
iget v0, v14, Lcom/google/android/exoplayer2/Format;->bitrate:I
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->compareFormatValues(II)I
move-result v0
.line 1859
.local v0, "bitrateComparison":I
move-object/from16 v17, v2
.end local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.local v17, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
iget-boolean v2, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->forceLowestBitrate:Z
if-eqz v2, :cond_a7
if-eqz v0, :cond_a7
.line 1861
if-gez v0, :cond_a4
const/4 v2, 0x1
goto :goto_a5
:cond_a4
const/4 v2, 0x0
:goto_a5
move v0, v2
.end local v16 # "selectTrack":Z
.local v2, "selectTrack":Z
goto :goto_d8
.line 1867
.end local v2 # "selectTrack":Z
.restart local v16 # "selectTrack":Z
:cond_a7
invoke-virtual {v14}, Lcom/google/android/exoplayer2/Format;->getPixelCount()I
move-result v2
.line 1868
.local v2, "formatPixelCount":I
if-eq v2, v6, :cond_b8
.line 1869
invoke-static {v2, v6}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->compareFormatValues(II)I
move-result v18
move/from16 v20, v18
move/from16 v18, v0
move/from16 v0, v20
goto :goto_c0
:cond_b8
move/from16 v18, v0
.end local v0 # "bitrateComparison":I
.local v18, "bitrateComparison":I
iget v0, v14, Lcom/google/android/exoplayer2/Format;->bitrate:I
.line 1870
invoke-static {v0, v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->compareFormatValues(II)I
move-result v0
:goto_c0
nop
.line 1871
.local v0, "comparisonResult":I
if-eqz v15, :cond_c8
if-eqz v9, :cond_c8
if-lez v0, :cond_cd
goto :goto_ca
:cond_c8
if-gez v0, :cond_cd
:goto_ca
const/16 v19, 0x1
goto :goto_cf
:cond_cd
const/16 v19, 0x0
:goto_cf
move/from16 v16, v19
move/from16 v0, v16
goto :goto_d8
.line 1857
.end local v16 # "selectTrack":Z
.end local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v18 # "bitrateComparison":I
.local v0, "selectTrack":Z
.local v2, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
:cond_d4
move/from16 v16, v0
move-object/from16 v17, v2
.line 1875
.end local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.restart local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
:goto_d8
if-eqz v0, :cond_e6
.line 1876
move-object v2, v8
.line 1877
.end local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.restart local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
move v3, v13
.line 1878
move v4, v10
.line 1879
iget v5, v14, Lcom/google/android/exoplayer2/Format;->bitrate:I
.line 1880
invoke-virtual {v14}, Lcom/google/android/exoplayer2/Format;->getPixelCount()I
move-result v6
goto :goto_e8
.line 1836
.end local v0 # "selectTrack":Z
.end local v9 # "isWithinConstraints":Z
.end local v10 # "trackScore":I
.end local v14 # "format":Lcom/google/android/exoplayer2/Format;
.end local v15 # "isWithinCapabilities":Z
:cond_e4
move-object/from16 v17, v2
.line 1835
.end local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.restart local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
:cond_e6
:goto_e6
move-object/from16 v2, v17
.end local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.restart local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
:goto_e8
add-int/lit8 v13, v13, 0x1
move-object/from16 v0, p0
goto/16 :goto_1f
:cond_ee
move-object/from16 v17, v2
.line 1830
.end local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v8 # "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v11 # "selectedTrackIndices":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Integer;>;"
.end local v12 # "trackFormatSupport":[I
.end local v13 # "trackIndex":I
.restart local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
add-int/lit8 v7, v7, 0x1
move-object/from16 v0, p0
goto/16 :goto_a
.line 1885
.end local v7 # "groupIndex":I
.end local v17 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.restart local v2 # "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
:cond_f6
if-nez v2, :cond_fa
const/4 v0, 0x0
goto :goto_105
:cond_fa
new-instance v0, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
const/4 v7, 0x1
new-array v7, v7, [I
const/4 v8, 0x0
aput v3, v7, v8
invoke-direct {v0, v2, v7}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
:goto_105
return-object v0
.end method
# virtual methods
.method public buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
.registers 2
.line 1385
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
move-result-object v0
invoke-virtual {v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->buildUpon()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
return-object v0
.end method
.method public final clearSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)V
.registers 4
.param p1, "rendererIndex" # I
.param p2, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1426
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->clearSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1427
return-void
.end method
.method public final clearSelectionOverrides()V
.registers 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1438
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->clearSelectionOverrides()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1439
return-void
.end method
.method public final clearSelectionOverrides(I)V
.registers 3
.param p1, "rendererIndex" # I
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1432
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->clearSelectionOverrides(I)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1433
return-void
.end method
.method public getParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.registers 2
.line 1380
iget-object v0, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->parametersReference:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
return-object v0
.end method
.method public final getRendererDisabled(I)Z
.registers 3
.param p1, "rendererIndex" # I
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1397
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->getRendererDisabled(I)Z
move-result v0
return v0
.end method
.method public final getSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
.registers 4
.param p1, "rendererIndex" # I
.param p2, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1420
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->getSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
move-result-object v0
return-object v0
.end method
.method public final hasSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Z
.registers 4
.param p1, "rendererIndex" # I
.param p2, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1413
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->hasSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Z
move-result v0
return v0
.end method
.method protected selectAllTracks(Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;[[[I[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)[Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.registers 26
.param p1, "mappedTrackInfo" # Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;
.param p2, "rendererFormatSupports" # [[[I
.param p3, "rendererMixedMimeTypeAdaptationSupports" # [I
.param p4, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 1534
move-object/from16 v6, p0
move-object/from16 v7, p1
move-object/from16 v8, p4
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererCount()I
move-result v9
.line 1535
.local v9, "rendererCount":I
new-array v10, v9, [Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.line 1538
.local v10, "definitions":[Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
const/4 v0, 0x0
.line 1539
.local v0, "seenVideoRendererWithMappedTracks":Z
const/4 v1, 0x0
.line 1540
.local v1, "selectedVideoTracks":Z
const/4 v2, 0x0
move v11, v0
move v12, v1
move v13, v2
.end local v0 # "seenVideoRendererWithMappedTracks":Z
.end local v1 # "selectedVideoTracks":Z
.local v11, "seenVideoRendererWithMappedTracks":Z
.local v12, "selectedVideoTracks":Z
.local v13, "i":I
:goto_12
const/4 v14, 0x2
const/4 v15, 0x1
if-ge v13, v9, :cond_4b
.line 1541
invoke-virtual {v7, v13}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererType(I)I
move-result v0
if-ne v14, v0, :cond_48
.line 1542
const/4 v14, 0x0
if-nez v12, :cond_3b
.line 1543
nop
.line 1545
invoke-virtual {v7, v13}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v1
aget-object v2, p2, v13
aget v3, p3, v13
const/4 v5, 0x1
.line 1544
move-object/from16 v0, p0
move-object/from16 v4, p4
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Z)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
move-result-object v0
aput-object v0, v10, v13
.line 1550
aget-object v0, v10, v13
if-eqz v0, :cond_39
const/4 v0, 0x1
goto :goto_3a
:cond_39
const/4 v0, 0x0
:goto_3a
move v12, v0
.line 1552
:cond_3b
invoke-virtual {v7, v13}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v0
iget v0, v0, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
if-lez v0, :cond_44
goto :goto_45
:cond_44
const/4 v15, 0x0
:goto_45
or-int v0, v11, v15
move v11, v0
.line 1540
:cond_48
add-int/lit8 v13, v13, 0x1
goto :goto_12
.line 1556
.end local v13 # "i":I
:cond_4b
const/4 v0, 0x0
.line 1557
.local v0, "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
const/4 v1, -0x1
.line 1558
.local v1, "selectedAudioRendererIndex":I
const/high16 v2, -0x80000000
.line 1559
.local v2, "selectedTextTrackScore":I
const/4 v3, -0x1
.line 1560
.local v3, "selectedTextRendererIndex":I
const/4 v4, 0x0
move-object v13, v0
move v5, v1
move/from16 v20, v4
move v4, v2
move/from16 v2, v20
.end local v0 # "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
.end local v1 # "selectedAudioRendererIndex":I
.local v2, "i":I
.local v4, "selectedTextTrackScore":I
.local v5, "selectedAudioRendererIndex":I
.local v13, "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
:goto_58
if-ge v2, v9, :cond_107
.line 1561
invoke-virtual {v7, v2}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererType(I)I
move-result v1
.line 1562
.local v1, "trackType":I
const/16 v16, 0x0
const/4 v0, -0x1
if-eq v1, v15, :cond_b6
if-eq v1, v14, :cond_b0
const/4 v14, 0x3
if-eq v1, v14, :cond_7c
.line 1602
nop
.line 1604
invoke-virtual {v7, v2}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v0
aget-object v14, p2, v2
.line 1603
invoke-virtual {v6, v1, v0, v14, v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectOtherTrack(ILcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
move-result-object v0
aput-object v0, v10, v2
move v14, v2
move v15, v3
move/from16 v17, v4
move v6, v5
goto/16 :goto_fb
.line 1588
:cond_7c
nop
.line 1589
invoke-virtual {v7, v2}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v14
aget-object v15, p2, v2
invoke-virtual {v6, v14, v15, v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectTextTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Landroid/util/Pair;
move-result-object v14
.line 1590
.local v14, "textSelection":Landroid/util/Pair;, "Landroid/util/Pair<Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;Ljava/lang/Integer;>;"
if-eqz v14, :cond_aa
iget-object v15, v14, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v15, Ljava/lang/Integer;
invoke-virtual {v15}, Ljava/lang/Integer;->intValue()I
move-result v15
if-le v15, v4, :cond_aa
.line 1591
if-eq v3, v0, :cond_97
.line 1594
aput-object v16, v10, v3
.line 1596
:cond_97
iget-object v0, v14, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v0, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
aput-object v0, v10, v2
.line 1597
iget-object v0, v14, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 1598
.end local v4 # "selectedTextTrackScore":I
.local v0, "selectedTextTrackScore":I
move v3, v2
move v4, v0
move v14, v2
goto/16 :goto_ff
.line 1590
.end local v0 # "selectedTextTrackScore":I
.restart local v4 # "selectedTextTrackScore":I
:cond_aa
move v14, v2
move v15, v3
move/from16 v17, v4
move v6, v5
goto :goto_fb
.line 1565
.end local v14 # "textSelection":Landroid/util/Pair;, "Landroid/util/Pair<Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;Ljava/lang/Integer;>;"
:cond_b0
move v14, v2
move v15, v3
move/from16 v17, v4
move v6, v5
goto :goto_fb
.line 1567
:cond_b6
nop
.line 1569
invoke-virtual {v7, v2}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v14
aget-object v15, p2, v2
aget v17, p3, v2
.line 1568
xor-int/lit8 v18, v11, 0x1
const/4 v6, -0x1
move-object/from16 v0, p0
move/from16 v19, v1
.end local v1 # "trackType":I
.local v19, "trackType":I
move-object v1, v14
move v14, v2
.end local v2 # "i":I
.local v14, "i":I
move-object v2, v15
move v15, v3
.end local v3 # "selectedTextRendererIndex":I
.local v15, "selectedTextRendererIndex":I
move/from16 v3, v17
move/from16 v17, v4
.end local v4 # "selectedTextTrackScore":I
.local v17, "selectedTextTrackScore":I
move-object/from16 v4, p4
move v6, v5
.end local v5 # "selectedAudioRendererIndex":I
.local v6, "selectedAudioRendererIndex":I
move/from16 v5, v18
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectAudioTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Z)Landroid/util/Pair;
move-result-object v0
.line 1574
.local v0, "audioSelection":Landroid/util/Pair;, "Landroid/util/Pair<Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;>;"
if-eqz v0, :cond_fb
if-eqz v13, :cond_e5
iget-object v1, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
.line 1576
invoke-virtual {v1, v13}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;->compareTo(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;)I
move-result v1
if-lez v1, :cond_fb
.line 1577
:cond_e5
const/4 v1, -0x1
if-eq v6, v1, :cond_ea
.line 1580
aput-object v16, v10, v6
.line 1582
:cond_ea
iget-object v1, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
aput-object v1, v10, v14
.line 1583
iget-object v1, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
.line 1584
.end local v13 # "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
.local v1, "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
move v2, v14
move-object v13, v1
move v5, v2
move v3, v15
move/from16 v4, v17
.end local v6 # "selectedAudioRendererIndex":I
.local v2, "selectedAudioRendererIndex":I
goto :goto_ff
.line 1560
.end local v0 # "audioSelection":Landroid/util/Pair;, "Landroid/util/Pair<Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;>;"
.end local v1 # "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
.end local v14 # "i":I
.end local v15 # "selectedTextRendererIndex":I
.end local v17 # "selectedTextTrackScore":I
.end local v19 # "trackType":I
.local v2, "i":I
.restart local v3 # "selectedTextRendererIndex":I
.restart local v4 # "selectedTextTrackScore":I
.restart local v5 # "selectedAudioRendererIndex":I
.restart local v13 # "selectedAudioTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
:cond_fb
:goto_fb
move v5, v6
move v3, v15
move/from16 v4, v17
.end local v2 # "i":I
.restart local v14 # "i":I
:goto_ff
add-int/lit8 v2, v14, 0x1
const/4 v14, 0x2
const/4 v15, 0x1
move-object/from16 v6, p0
.end local v14 # "i":I
.restart local v2 # "i":I
goto/16 :goto_58
.line 1609
.end local v2 # "i":I
:cond_107
return-object v10
.end method
.method protected selectAudioTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Z)Landroid/util/Pair;
.registers 16
.param p1, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p2, "formatSupports" # [[I
.param p3, "mixedMimeTypeAdaptationSupports" # I
.param p4, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.param p5, "enableAdaptiveTrackSelection" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/TrackGroupArray;",
"[[II",
"Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;",
"Z)",
"Landroid/util/Pair<",
"Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;",
"Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 1916
const/4 v0, -0x1
.line 1917
.local v0, "selectedTrackIndex":I
const/4 v1, -0x1
.line 1918
.local v1, "selectedGroupIndex":I
const/4 v2, 0x0
.line 1919
.local v2, "selectedTrackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
const/4 v3, 0x0
.local v3, "groupIndex":I
:goto_4
iget v4, p1, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
if-ge v3, v4, :cond_42
.line 1920
invoke-virtual {p1, v3}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v4
.line 1921
.local v4, "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
aget-object v5, p2, v3
.line 1922
.local v5, "trackFormatSupport":[I
const/4 v6, 0x0
.local v6, "trackIndex":I
:goto_f
iget v7, v4, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v6, v7, :cond_3f
.line 1923
aget v7, v5, v6
iget-boolean v8, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedRendererCapabilitiesIfNecessary:Z
invoke-static {v7, v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v7
if-eqz v7, :cond_3c
.line 1925
invoke-virtual {v4, v6}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v7
.line 1926
.local v7, "format":Lcom/google/android/exoplayer2/Format;
new-instance v8, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
aget v9, v5, v6
invoke-direct {v8, v7, p4, v9}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;-><init>(Lcom/google/android/exoplayer2/Format;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;I)V
.line 1928
.local v8, "trackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
iget-boolean v9, v8, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;->isWithinConstraints:Z
if-nez v9, :cond_31
iget-boolean v9, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedAudioConstraintsIfNecessary:Z
if-nez v9, :cond_31
.line 1930
goto :goto_3c
.line 1932
:cond_31
if-eqz v2, :cond_39
invoke-virtual {v8, v2}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;->compareTo(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;)I
move-result v9
if-lez v9, :cond_3c
.line 1933
:cond_39
move v1, v3
.line 1934
move v0, v6
.line 1935
move-object v2, v8
.line 1922
.end local v7 # "format":Lcom/google/android/exoplayer2/Format;
.end local v8 # "trackScore":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$AudioTrackScore;
:cond_3c
:goto_3c
add-int/lit8 v6, v6, 0x1
goto :goto_f
.line 1919
.end local v4 # "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v5 # "trackFormatSupport":[I
.end local v6 # "trackIndex":I
:cond_3f
add-int/lit8 v3, v3, 0x1
goto :goto_4
.line 1941
.end local v3 # "groupIndex":I
:cond_42
const/4 v3, -0x1
if-ne v1, v3, :cond_47
.line 1942
const/4 v3, 0x0
return-object v3
.line 1945
:cond_47
invoke-virtual {p1, v1}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v3
.line 1947
.local v3, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v4, 0x0
.line 1948
.local v4, "definition":Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
iget-boolean v5, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->forceHighestSupportedBitrate:Z
if-nez v5, :cond_69
iget-boolean v5, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->forceLowestBitrate:Z
if-nez v5, :cond_69
if-eqz p5, :cond_69
.line 1952
aget-object v5, p2, v1
iget-boolean v6, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->allowAudioMixedMimeTypeAdaptiveness:Z
iget-boolean v7, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->allowAudioMixedSampleRateAdaptiveness:Z
.line 1953
invoke-static {v3, v5, v6, v7}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getAdaptiveAudioTracks(Lcom/google/android/exoplayer2/source/TrackGroup;[IZZ)[I
move-result-object v5
.line 1958
.local v5, "adaptiveTracks":[I
array-length v6, v5
if-lez v6, :cond_69
.line 1959
new-instance v6, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
invoke-direct {v6, v3, v5}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
move-object v4, v6
.line 1962
.end local v5 # "adaptiveTracks":[I
:cond_69
if-nez v4, :cond_77
.line 1964
new-instance v5, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
const/4 v6, 0x1
new-array v6, v6, [I
const/4 v7, 0x0
aput v0, v6, v7
invoke-direct {v5, v3, v6}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
move-object v4, v5
.line 1967
:cond_77
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-static {v4, v5}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object v5
return-object v5
.end method
.method protected selectOtherTrack(ILcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.registers 20
.param p1, "trackType" # I
.param p2, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p3, "formatSupport" # [[I
.param p4, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 2147
move-object/from16 v0, p2
const/4 v1, 0x0
.line 2148
.local v1, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v2, 0x0
.line 2149
.local v2, "selectedTrackIndex":I
const/4 v3, 0x0
.line 2150
.local v3, "selectedTrackScore":I
const/4 v4, 0x0
.local v4, "groupIndex":I
:goto_6
iget v5, v0, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
const/4 v6, 0x0
const/4 v7, 0x1
if-ge v4, v5, :cond_4b
.line 2151
invoke-virtual {v0, v4}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v5
.line 2152
.local v5, "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
aget-object v8, p3, v4
.line 2153
.local v8, "trackFormatSupport":[I
const/4 v9, 0x0
.local v9, "trackIndex":I
:goto_13
iget v10, v5, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v9, v10, :cond_46
.line 2154
aget v10, v8, v9
move-object/from16 v11, p4
iget-boolean v12, v11, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedRendererCapabilitiesIfNecessary:Z
invoke-static {v10, v12}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v10
if-eqz v10, :cond_43
.line 2156
invoke-virtual {v5, v9}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v10
.line 2157
.local v10, "format":Lcom/google/android/exoplayer2/Format;
iget v12, v10, Lcom/google/android/exoplayer2/Format;->selectionFlags:I
and-int/2addr v12, v7
if-eqz v12, :cond_2e
const/4 v12, 0x1
goto :goto_2f
:cond_2e
const/4 v12, 0x0
.line 2158
.local v12, "isDefault":Z
:goto_2f
if-eqz v12, :cond_33
const/4 v13, 0x2
goto :goto_34
:cond_33
const/4 v13, 0x1
.line 2159
.local v13, "trackScore":I
:goto_34
aget v14, v8, v9
invoke-static {v14, v6}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v14
if-eqz v14, :cond_3e
.line 2160
add-int/lit16 v13, v13, 0x3e8
.line 2162
:cond_3e
if-le v13, v3, :cond_43
.line 2163
move-object v1, v5
.line 2164
move v2, v9
.line 2165
move v3, v13
.line 2153
.end local v10 # "format":Lcom/google/android/exoplayer2/Format;
.end local v12 # "isDefault":Z
.end local v13 # "trackScore":I
:cond_43
add-int/lit8 v9, v9, 0x1
goto :goto_13
:cond_46
move-object/from16 v11, p4
.line 2150
.end local v5 # "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v8 # "trackFormatSupport":[I
.end local v9 # "trackIndex":I
add-int/lit8 v4, v4, 0x1
goto :goto_6
:cond_4b
move-object/from16 v11, p4
.line 2170
.end local v4 # "groupIndex":I
if-nez v1, :cond_51
const/4 v4, 0x0
goto :goto_5a
:cond_51
new-instance v4, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
new-array v5, v7, [I
aput v2, v5, v6
invoke-direct {v4, v1, v5}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
:goto_5a
return-object v4
.end method
.method protected selectTextTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Landroid/util/Pair;
.registers 20
.param p1, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p2, "formatSupport" # [[I
.param p3, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/source/TrackGroupArray;",
"[[I",
"Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;",
")",
"Landroid/util/Pair<",
"Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 2071
move-object/from16 v0, p1
move-object/from16 v1, p3
const/4 v2, 0x0
.line 2072
.local v2, "selectedGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
const/4 v3, 0x0
.line 2073
.local v3, "selectedTrackIndex":I
const/4 v4, 0x0
.line 2074
.local v4, "selectedTrackScore":I
const/4 v5, 0x0
.local v5, "groupIndex":I
:goto_8
iget v6, v0, Lcom/google/android/exoplayer2/source/TrackGroupArray;->length:I
const/4 v7, 0x0
if-ge v5, v6, :cond_84
.line 2075
invoke-virtual {v0, v5}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v6
.line 2076
.local v6, "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
aget-object v9, p2, v5
.line 2077
.local v9, "trackFormatSupport":[I
const/4 v10, 0x0
.local v10, "trackIndex":I
:goto_14
iget v11, v6, Lcom/google/android/exoplayer2/source/TrackGroup;->length:I
if-ge v10, v11, :cond_7f
.line 2078
aget v11, v9, v10
iget-boolean v12, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->exceedRendererCapabilitiesIfNecessary:Z
invoke-static {v11, v12}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v11
if-eqz v11, :cond_7a
.line 2080
invoke-virtual {v6, v10}, Lcom/google/android/exoplayer2/source/TrackGroup;->getFormat(I)Lcom/google/android/exoplayer2/Format;
move-result-object v11
.line 2081
.local v11, "format":Lcom/google/android/exoplayer2/Format;
iget v12, v11, Lcom/google/android/exoplayer2/Format;->selectionFlags:I
iget v13, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->disabledTextTrackSelectionFlags:I
xor-int/lit8 v13, v13, -0x1
and-int/2addr v12, v13
.line 2083
.local v12, "maskedSelectionFlags":I
and-int/lit8 v13, v12, 0x1
if-eqz v13, :cond_33
const/4 v13, 0x1
goto :goto_34
:cond_33
const/4 v13, 0x0
.line 2084
.local v13, "isDefault":Z
:goto_34
and-int/lit8 v14, v12, 0x2
if-eqz v14, :cond_3a
const/4 v14, 0x1
goto :goto_3b
:cond_3a
const/4 v14, 0x0
.line 2086
.local v14, "isForced":Z
:goto_3b
iget-object v15, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->preferredTextLanguage:Ljava/lang/String;
invoke-static {v11, v15}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->formatHasLanguage(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;)Z
move-result v15
.line 2087
.local v15, "preferredLanguageFound":Z
if-nez v15, :cond_60
iget-boolean v8, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->selectUndeterminedTextLanguage:Z
if-eqz v8, :cond_4e
.line 2088
invoke-static {v11}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->formatHasNoLanguage(Lcom/google/android/exoplayer2/Format;)Z
move-result v8
if-eqz v8, :cond_4e
goto :goto_60
.line 2100
:cond_4e
if-eqz v13, :cond_52
.line 2101
const/4 v8, 0x3
.local v8, "trackScore":I
goto :goto_6b
.line 2102
.end local v8 # "trackScore":I
:cond_52
if-eqz v14, :cond_7a
.line 2103
iget-object v8, v1, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->preferredAudioLanguage:Ljava/lang/String;
invoke-static {v11, v8}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->formatHasLanguage(Lcom/google/android/exoplayer2/Format;Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_5e
.line 2104
const/4 v8, 0x2
.restart local v8 # "trackScore":I
goto :goto_6b
.line 2106
.end local v8 # "trackScore":I
:cond_5e
const/4 v8, 0x1
.restart local v8 # "trackScore":I
goto :goto_6b
.line 2089
.end local v8 # "trackScore":I
:cond_60
:goto_60
if-eqz v13, :cond_65
.line 2090
const/16 v8, 0x8
.restart local v8 # "trackScore":I
goto :goto_6a
.line 2091
.end local v8 # "trackScore":I
:cond_65
if-nez v14, :cond_69
.line 2095
const/4 v8, 0x6
.restart local v8 # "trackScore":I
goto :goto_6a
.line 2097
.end local v8 # "trackScore":I
:cond_69
const/4 v8, 0x4
.line 2099
.restart local v8 # "trackScore":I
:goto_6a
add-int/2addr v8, v15
.line 2112
:goto_6b
aget v0, v9, v10
invoke-static {v0, v7}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->isSupported(IZ)Z
move-result v0
if-eqz v0, :cond_75
.line 2113
add-int/lit16 v8, v8, 0x3e8
.line 2115
:cond_75
if-le v8, v4, :cond_7a
.line 2116
move-object v2, v6
.line 2117
move v3, v10
.line 2118
move v4, v8
.line 2077
.end local v8 # "trackScore":I
.end local v11 # "format":Lcom/google/android/exoplayer2/Format;
.end local v12 # "maskedSelectionFlags":I
.end local v13 # "isDefault":Z
.end local v14 # "isForced":Z
.end local v15 # "preferredLanguageFound":Z
:cond_7a
add-int/lit8 v10, v10, 0x1
move-object/from16 v0, p1
goto :goto_14
.line 2074
.end local v6 # "trackGroup":Lcom/google/android/exoplayer2/source/TrackGroup;
.end local v9 # "trackFormatSupport":[I
.end local v10 # "trackIndex":I
:cond_7f
add-int/lit8 v5, v5, 0x1
move-object/from16 v0, p1
goto :goto_8
.line 2123
.end local v5 # "groupIndex":I
:cond_84
if-nez v2, :cond_88
const/4 v0, 0x0
goto :goto_9a
:cond_88
new-instance v0, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
const/4 v5, 0x1
new-array v5, v5, [I
aput v3, v5, v7
invoke-direct {v0, v2, v5}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
.line 2126
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
.line 2125
invoke-static {v0, v5}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object v0
.line 2123
:goto_9a
return-object v0
.end method
.method protected final selectTracks(Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;[[[I[I)Landroid/util/Pair;
.registers 14
.param p1, "mappedTrackInfo" # Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;
.param p2, "rendererFormatSupports" # [[[I
.param p3, "rendererMixedMimeTypeAdaptationSupports" # [I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;",
"[[[I[I)",
"Landroid/util/Pair<",
"[",
"Lcom/google/android/exoplayer2/RendererConfiguration;",
"[",
"Lcom/google/android/exoplayer2/trackselection/TrackSelection;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 1456
iget-object v0, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->parametersReference:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.line 1457
.local v0, "params":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
invoke-virtual {p1}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererCount()I
move-result v1
.line 1458
.local v1, "rendererCount":I
nop
.line 1459
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectAllTracks(Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;[[[I[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)[Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
move-result-object v2
.line 1466
.local v2, "definitions":[Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
const/4 v3, 0x0
.local v3, "i":I
:goto_12
const/4 v4, 0x0
if-ge v3, v1, :cond_41
.line 1467
invoke-virtual {v0, v3}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->getRendererDisabled(I)Z
move-result v5
if-eqz v5, :cond_1e
.line 1468
aput-object v4, v2, v3
.line 1469
goto :goto_3e
.line 1471
:cond_1e
invoke-virtual {p1, v3}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getTrackGroups(I)Lcom/google/android/exoplayer2/source/TrackGroupArray;
move-result-object v5
.line 1472
.local v5, "rendererTrackGroups":Lcom/google/android/exoplayer2/source/TrackGroupArray;
invoke-virtual {v0, v3, v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->hasSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Z
move-result v6
if-eqz v6, :cond_3e
.line 1473
invoke-virtual {v0, v3, v5}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->getSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
move-result-object v6
.line 1474
.local v6, "override":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
if-nez v6, :cond_2f
goto :goto_3c
:cond_2f
new-instance v4, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
iget v7, v6, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;->groupIndex:I
.line 1478
invoke-virtual {v5, v7}, Lcom/google/android/exoplayer2/source/TrackGroupArray;->get(I)Lcom/google/android/exoplayer2/source/TrackGroup;
move-result-object v7
iget-object v8, v6, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;->tracks:[I
invoke-direct {v4, v7, v8}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V
:goto_3c
aput-object v4, v2, v3
.line 1466
.end local v5 # "rendererTrackGroups":Lcom/google/android/exoplayer2/source/TrackGroupArray;
.end local v6 # "override":Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
:cond_3e
:goto_3e
add-int/lit8 v3, v3, 0x1
goto :goto_12
.line 1483
.end local v3 # "i":I
:cond_41
iget-object v3, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->trackSelectionFactory:Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;
.line 1484
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->getBandwidthMeter()Lcom/google/android/exoplayer2/upstream/BandwidthMeter;
move-result-object v5
invoke-interface {v3, v2, v5}, Lcom/google/android/exoplayer2/trackselection/TrackSelection$Factory;->createTrackSelections([Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;Lcom/google/android/exoplayer2/upstream/BandwidthMeter;)[Lcom/google/android/exoplayer2/trackselection/TrackSelection;
move-result-object v3
.line 1488
.local v3, "rendererTrackSelections":[Lcom/google/android/exoplayer2/trackselection/TrackSelection;
new-array v5, v1, [Lcom/google/android/exoplayer2/RendererConfiguration;
.line 1490
.local v5, "rendererConfigurations":[Lcom/google/android/exoplayer2/RendererConfiguration;
const/4 v6, 0x0
.local v6, "i":I
:goto_4e
if-ge v6, v1, :cond_6f
.line 1491
invoke-virtual {v0, v6}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->getRendererDisabled(I)Z
move-result v7
.line 1492
.local v7, "forceRendererDisabled":Z
if-nez v7, :cond_63
.line 1494
invoke-virtual {p1, v6}, Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;->getRendererType(I)I
move-result v8
const/4 v9, 0x6
if-eq v8, v9, :cond_61
aget-object v8, v3, v6
if-eqz v8, :cond_63
:cond_61
const/4 v8, 0x1
goto :goto_64
:cond_63
const/4 v8, 0x0
.line 1496
.local v8, "rendererEnabled":Z
:goto_64
if-eqz v8, :cond_69
sget-object v9, Lcom/google/android/exoplayer2/RendererConfiguration;->DEFAULT:Lcom/google/android/exoplayer2/RendererConfiguration;
goto :goto_6a
:cond_69
move-object v9, v4
:goto_6a
aput-object v9, v5, v6
.line 1490
.end local v7 # "forceRendererDisabled":Z
.end local v8 # "rendererEnabled":Z
add-int/lit8 v6, v6, 0x1
goto :goto_4e
.line 1500
.end local v6 # "i":I
:cond_6f
iget v4, v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->tunnelingAudioSessionId:I
invoke-static {p1, p2, v5, v3, v4}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->maybeConfigureRenderersForTunneling(Lcom/google/android/exoplayer2/trackselection/MappingTrackSelector$MappedTrackInfo;[[[I[Lcom/google/android/exoplayer2/RendererConfiguration;[Lcom/google/android/exoplayer2/trackselection/TrackSelection;I)V
.line 1507
invoke-static {v5, v3}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object v4
return-object v4
.end method
.method protected selectVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;Z)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
.registers 8
.param p1, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p2, "formatSupports" # [[I
.param p3, "mixedMimeTypeAdaptationSupports" # I
.param p4, "params" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.param p5, "enableAdaptiveTrackSelection" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/android/exoplayer2/ExoPlaybackException;
}
.end annotation
.line 1637
const/4 v0, 0x0
.line 1638
.local v0, "definition":Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
iget-boolean v1, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->forceHighestSupportedBitrate:Z
if-nez v1, :cond_10
iget-boolean v1, p4, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->forceLowestBitrate:Z
if-nez v1, :cond_10
if-eqz p5, :cond_10
.line 1641
nop
.line 1642
invoke-static {p1, p2, p3, p4}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectAdaptiveVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[IILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
move-result-object v0
.line 1644
:cond_10
if-nez v0, :cond_16
.line 1645
invoke-static {p1, p2, p4}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->selectFixedVideoTrack(Lcom/google/android/exoplayer2/source/TrackGroupArray;[[ILcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)Lcom/google/android/exoplayer2/trackselection/TrackSelection$Definition;
move-result-object v0
.line 1647
:cond_16
return-object v0
.end method
.method public setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)V
.registers 3
.param p1, "parameters" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
.line 1359
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 1360
iget-object v0, p0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->parametersReference:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_14
.line 1361
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->invalidate()V
.line 1363
:cond_14
return-void
.end method
.method public setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.registers 3
.param p1, "parametersBuilder" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
.line 1371
invoke-virtual {p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->build()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$Parameters;)V
.line 1372
return-void
.end method
.method public final setRendererDisabled(IZ)V
.registers 4
.param p1, "rendererIndex" # I
.param p2, "disabled" # Z
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1391
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->setRendererDisabled(IZ)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1392
return-void
.end method
.method public final setSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;)V
.registers 5
.param p1, "rendererIndex" # I
.param p2, "groups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p3, "override" # Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1407
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0, p1, p2, p3}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->setSelectionOverride(ILcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$SelectionOverride;)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1408
return-void
.end method
.method public setTunnelingAudioSessionId(I)V
.registers 3
.param p1, "tunnelingAudioSessionId" # I
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1444
invoke-virtual {p0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->buildUponParameters()Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;->setTunnelingAudioSessionId(I)Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector;->setParameters(Lcom/google/android/exoplayer2/trackselection/DefaultTrackSelector$ParametersBuilder;)V
.line 1445
return-void
.end method