.class public Lcom/google/android/exoplayer2/SimpleExoPlayer; .super Ljava/lang/Object; .source "SimpleExoPlayer.java" # interfaces .implements Lcom/google/android/exoplayer2/ExoPlayer; # annotations .annotation build Landroid/annotation/TargetApi; value = 0x10 .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener;, Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; } .end annotation # static fields .field private static final TAG:Ljava/lang/String; = "SimpleExoPlayer" # instance fields .field private audioDebugListener:Lcom/google/android/exoplayer2/audio/AudioRendererEventListener; .field private audioDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; .field private audioFormat:Lcom/google/android/exoplayer2/Format; .field private final audioRendererCount:I .field private audioSessionId:I .field private audioStreamType:I .field private audioVolume:F .field private final componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; .field private metadataOutput:Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; .field private ownsSurface:Z .field private final player:Lcom/google/android/exoplayer2/ExoPlayer; .field public final renderers:[Lcom/google/android/exoplayer2/Renderer; .field private surface:Landroid/view/Surface; .field private surfaceHolder:Landroid/view/SurfaceHolder; .field private textOutput:Lcom/google/android/exoplayer2/text/TextRenderer$Output; .field private textureView:Landroid/view/TextureView; .field private videoDebugListener:Lcom/google/android/exoplayer2/video/VideoRendererEventListener; .field private videoDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; .field private videoFormat:Lcom/google/android/exoplayer2/Format; .field private videoListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; .field private final videoRendererCount:I .field private videoScalingMode:I # direct methods .method public constructor (Lcom/google/android/exoplayer2/RenderersFactory;Lcom/google/android/exoplayer2/trackselection/TrackSelector;Lcom/google/android/exoplayer2/LoadControl;)V .locals 7 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 new-instance v5, Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; const/4 v0, 0x0 invoke-direct {v5, p0, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener;->(Lcom/google/android/exoplayer2/SimpleExoPlayer;Lcom/google/android/exoplayer2/SimpleExoPlayer$1;)V iput-object v5, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; .line 3 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v0 if-eqz v0, :cond_0 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; move-result-object v0 goto :goto_0 :cond_0 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v0 .line 4 :goto_0 new-instance v1, Landroid/os/Handler; invoke-direct {v1, v0}, Landroid/os/Handler;->(Landroid/os/Looper;)V move-object v0, p1 move-object v2, v5 move-object v3, v5 move-object v4, v5 .line 5 invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/RenderersFactory;->createRenderers(Landroid/os/Handler;Lcom/google/android/exoplayer2/video/VideoRendererEventListener;Lcom/google/android/exoplayer2/audio/AudioRendererEventListener;Lcom/google/android/exoplayer2/text/TextRenderer$Output;Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output;)[Lcom/google/android/exoplayer2/Renderer; move-result-object p1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; .line 6 array-length v0, p1 const/4 v1, 0x0 move v2, v1 move v3, v2 move v4, v3 :goto_1 const/4 v5, 0x1 if-ge v2, v0, :cond_3 aget-object v6, p1, v2 .line 7 invoke-interface {v6}, Lcom/google/android/exoplayer2/Renderer;->getTrackType()I move-result v6 if-eq v6, v5, :cond_2 const/4 v5, 0x2 if-eq v6, v5, :cond_1 goto :goto_2 :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_2 :cond_2 add-int/lit8 v4, v4, 0x1 :goto_2 add-int/lit8 v2, v2, 0x1 goto :goto_1 .line 8 :cond_3 iput v3, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoRendererCount:I .line 9 iput v4, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioRendererCount:I const/high16 p1, 0x3f800000 # 1.0f .line 10 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioVolume:F .line 11 iput v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioSessionId:I const/4 p1, 0x3 .line 12 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioStreamType:I .line 13 iput v5, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoScalingMode:I .line 14 new-instance p1, Lcom/google/android/exoplayer2/ExoPlayerImpl; iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; invoke-direct {p1, v0, p2, p3}, Lcom/google/android/exoplayer2/ExoPlayerImpl;->([Lcom/google/android/exoplayer2/Renderer;Lcom/google/android/exoplayer2/trackselection/TrackSelector;Lcom/google/android/exoplayer2/LoadControl;)V iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; return-void .end method .method public static synthetic access$1000(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Lcom/google/android/exoplayer2/text/TextRenderer$Output; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textOutput:Lcom/google/android/exoplayer2/text/TextRenderer$Output; return-object p0 .end method .method public static synthetic access$102(Lcom/google/android/exoplayer2/SimpleExoPlayer;Lcom/google/android/exoplayer2/decoder/DecoderCounters;)Lcom/google/android/exoplayer2/decoder/DecoderCounters; .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; return-object p1 .end method .method public static synthetic access$1100(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->metadataOutput:Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; return-object p0 .end method .method public static synthetic access$1200(Lcom/google/android/exoplayer2/SimpleExoPlayer;Landroid/view/Surface;Z)V .locals 0 .line 1 invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V return-void .end method .method public static synthetic access$200(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Lcom/google/android/exoplayer2/video/VideoRendererEventListener; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoDebugListener:Lcom/google/android/exoplayer2/video/VideoRendererEventListener; return-object p0 .end method .method public static synthetic access$302(Lcom/google/android/exoplayer2/SimpleExoPlayer;Lcom/google/android/exoplayer2/Format;)Lcom/google/android/exoplayer2/Format; .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoFormat:Lcom/google/android/exoplayer2/Format; return-object p1 .end method .method public static synthetic access$400(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; return-object p0 .end method .method public static synthetic access$500(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Landroid/view/Surface; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; return-object p0 .end method .method public static synthetic access$602(Lcom/google/android/exoplayer2/SimpleExoPlayer;Lcom/google/android/exoplayer2/decoder/DecoderCounters;)Lcom/google/android/exoplayer2/decoder/DecoderCounters; .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; return-object p1 .end method .method public static synthetic access$700(Lcom/google/android/exoplayer2/SimpleExoPlayer;)Lcom/google/android/exoplayer2/audio/AudioRendererEventListener; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioDebugListener:Lcom/google/android/exoplayer2/audio/AudioRendererEventListener; return-object p0 .end method .method public static synthetic access$802(Lcom/google/android/exoplayer2/SimpleExoPlayer;I)I .locals 0 .line 1 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioSessionId:I return p1 .end method .method public static synthetic access$902(Lcom/google/android/exoplayer2/SimpleExoPlayer;Lcom/google/android/exoplayer2/Format;)Lcom/google/android/exoplayer2/Format; .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioFormat:Lcom/google/android/exoplayer2/Format; return-object p1 .end method .method private removeSurfaceCallbacks()V .locals 3 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textureView:Landroid/view/TextureView; const/4 v1, 0x0 if-eqz v0, :cond_1 .line 2 invoke-virtual {v0}, Landroid/view/TextureView;->getSurfaceTextureListener()Landroid/view/TextureView$SurfaceTextureListener; move-result-object v0 iget-object v2, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; if-eq v0, v2, :cond_0 const-string v0, "SimpleExoPlayer" const-string v2, "SurfaceTextureListener already unset or replaced." .line 3 invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .line 4 :cond_0 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textureView:Landroid/view/TextureView; invoke-virtual {v0, v1}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V .line 5 :goto_0 iput-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textureView:Landroid/view/TextureView; .line 6 :cond_1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surfaceHolder:Landroid/view/SurfaceHolder; if-eqz v0, :cond_2 .line 7 iget-object v2, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; invoke-interface {v0, v2}, Landroid/view/SurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V .line 8 iput-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surfaceHolder:Landroid/view/SurfaceHolder; :cond_2 return-void .end method .method private setVideoSurfaceInternal(Landroid/view/Surface;Z)V .locals 9 .line 1 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoRendererCount:I new-array v0, v0, [Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; .line 2 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; array-length v2, v1 const/4 v3, 0x0 move v4, v3 :goto_0 if-ge v3, v2, :cond_1 aget-object v5, v1, v3 .line 3 invoke-interface {v5}, Lcom/google/android/exoplayer2/Renderer;->getTrackType()I move-result v6 const/4 v7, 0x2 if-ne v6, v7, :cond_0 add-int/lit8 v6, v4, 0x1 .line 4 new-instance v7, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; const/4 v8, 0x1 invoke-direct {v7, v5, v8, p1}, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;->(Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerComponent;ILjava/lang/Object;)V aput-object v7, v0, v4 move v4, v6 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 5 :cond_1 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; if-eqz v1, :cond_3 if-eq v1, p1, :cond_3 .line 6 iget-boolean v2, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->ownsSurface:Z if-eqz v2, :cond_2 .line 7 invoke-virtual {v1}, Landroid/view/Surface;->release()V .line 8 :cond_2 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->blockingSendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V goto :goto_1 .line 9 :cond_3 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V .line 10 :goto_1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; .line 11 iput-boolean p2, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->ownsSurface:Z return-void .end method # virtual methods .method public addListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->addListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V return-void .end method .method public varargs blockingSendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->blockingSendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V return-void .end method .method public clearMetadataOutput(Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->metadataOutput:Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; if-ne v0, p1, :cond_0 const/4 p1, 0x0 .line 2 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->metadataOutput:Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; :cond_0 return-void .end method .method public clearTextOutput(Lcom/google/android/exoplayer2/text/TextRenderer$Output;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textOutput:Lcom/google/android/exoplayer2/text/TextRenderer$Output; if-ne v0, p1, :cond_0 const/4 p1, 0x0 .line 2 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textOutput:Lcom/google/android/exoplayer2/text/TextRenderer$Output; :cond_0 return-void .end method .method public clearVideoListener(Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; if-ne v0, p1, :cond_0 const/4 p1, 0x0 .line 2 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; :cond_0 return-void .end method .method public clearVideoSurface()V .locals 1 const/4 v0, 0x0 .line 1 invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurface(Landroid/view/Surface;)V return-void .end method .method public clearVideoSurface(Landroid/view/Surface;)V .locals 1 if-eqz p1, :cond_0 .line 2 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; if-ne p1, v0, :cond_0 const/4 p1, 0x0 .line 3 invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurface(Landroid/view/Surface;)V :cond_0 return-void .end method .method public clearVideoSurfaceHolder(Landroid/view/SurfaceHolder;)V .locals 1 if-eqz p1, :cond_0 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surfaceHolder:Landroid/view/SurfaceHolder; if-ne p1, v0, :cond_0 const/4 p1, 0x0 .line 2 invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceHolder(Landroid/view/SurfaceHolder;)V :cond_0 return-void .end method .method public clearVideoSurfaceView(Landroid/view/SurfaceView;)V .locals 0 if-nez p1, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 1 :cond_0 invoke-virtual {p1}, Landroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder; move-result-object p1 :goto_0 invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->clearVideoSurfaceHolder(Landroid/view/SurfaceHolder;)V return-void .end method .method public clearVideoTextureView(Landroid/view/TextureView;)V .locals 1 if-eqz p1, :cond_0 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textureView:Landroid/view/TextureView; if-ne p1, v0, :cond_0 const/4 p1, 0x0 .line 2 invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoTextureView(Landroid/view/TextureView;)V :cond_0 return-void .end method .method public getAudioDecoderCounters()Lcom/google/android/exoplayer2/decoder/DecoderCounters; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; return-object v0 .end method .method public getAudioFormat()Lcom/google/android/exoplayer2/Format; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioFormat:Lcom/google/android/exoplayer2/Format; return-object v0 .end method .method public getAudioSessionId()I .locals 1 .line 1 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioSessionId:I return v0 .end method .method public getAudioStreamType()I .locals 1 .line 1 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioStreamType:I return v0 .end method .method public getBufferedPercentage()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPercentage()I move-result v0 return v0 .end method .method public getBufferedPosition()J .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPosition()J move-result-wide v0 return-wide v0 .end method .method public getCurrentManifest()Ljava/lang/Object; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentManifest()Ljava/lang/Object; move-result-object v0 return-object v0 .end method .method public getCurrentPeriodIndex()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPeriodIndex()I move-result v0 return v0 .end method .method public getCurrentPosition()J .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J move-result-wide v0 return-wide v0 .end method .method public getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline; move-result-object v0 return-object v0 .end method .method public getCurrentTrackGroups()Lcom/google/android/exoplayer2/source/TrackGroupArray; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTrackGroups()Lcom/google/android/exoplayer2/source/TrackGroupArray; move-result-object v0 return-object v0 .end method .method public getCurrentTrackSelections()Lcom/google/android/exoplayer2/trackselection/TrackSelectionArray; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTrackSelections()Lcom/google/android/exoplayer2/trackselection/TrackSelectionArray; move-result-object v0 return-object v0 .end method .method public getCurrentWindowIndex()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentWindowIndex()I move-result v0 return v0 .end method .method public getDuration()J .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getDuration()J move-result-wide v0 return-wide v0 .end method .method public getPlayWhenReady()Z .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlayWhenReady()Z move-result v0 return v0 .end method .method public getPlaybackParameters()Lcom/google/android/exoplayer2/PlaybackParameters; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlaybackParameters()Lcom/google/android/exoplayer2/PlaybackParameters; move-result-object v0 return-object v0 .end method .method public getPlaybackState()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlaybackState()I move-result v0 return v0 .end method .method public getRendererCount()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getRendererCount()I move-result v0 return v0 .end method .method public getRendererType(I)I .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->getRendererType(I)I move-result p1 return p1 .end method .method public getVideoDecoderCounters()Lcom/google/android/exoplayer2/decoder/DecoderCounters; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoDecoderCounters:Lcom/google/android/exoplayer2/decoder/DecoderCounters; return-object v0 .end method .method public getVideoFormat()Lcom/google/android/exoplayer2/Format; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoFormat:Lcom/google/android/exoplayer2/Format; return-object v0 .end method .method public getVideoScalingMode()I .locals 1 .line 1 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoScalingMode:I return v0 .end method .method public getVolume()F .locals 1 .line 1 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioVolume:F return v0 .end method .method public isCurrentWindowDynamic()Z .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->isCurrentWindowDynamic()Z move-result v0 return v0 .end method .method public isCurrentWindowSeekable()Z .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->isCurrentWindowSeekable()Z move-result v0 return v0 .end method .method public isLoading()Z .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->isLoading()Z move-result v0 return v0 .end method .method public prepare(Lcom/google/android/exoplayer2/source/MediaSource;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->prepare(Lcom/google/android/exoplayer2/source/MediaSource;)V return-void .end method .method public prepare(Lcom/google/android/exoplayer2/source/MediaSource;ZZ)V .locals 1 .line 2 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1, p2, p3}, Lcom/google/android/exoplayer2/ExoPlayer;->prepare(Lcom/google/android/exoplayer2/source/MediaSource;ZZ)V return-void .end method .method public release()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->release()V .line 2 invoke-direct {p0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->removeSurfaceCallbacks()V .line 3 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; if-eqz v0, :cond_1 .line 4 iget-boolean v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->ownsSurface:Z if-eqz v1, :cond_0 .line 5 invoke-virtual {v0}, Landroid/view/Surface;->release()V :cond_0 const/4 v0, 0x0 .line 6 iput-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surface:Landroid/view/Surface; :cond_1 return-void .end method .method public removeListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->removeListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V return-void .end method .method public seekTo(IJ)V .locals 1 .line 2 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1, p2, p3}, Lcom/google/android/exoplayer2/ExoPlayer;->seekTo(IJ)V return-void .end method .method public seekTo(J)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1, p2}, Lcom/google/android/exoplayer2/ExoPlayer;->seekTo(J)V return-void .end method .method public seekToDefaultPosition()V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->seekToDefaultPosition()V return-void .end method .method public seekToDefaultPosition(I)V .locals 1 .line 2 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->seekToDefaultPosition(I)V return-void .end method .method public varargs sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V return-void .end method .method public setAudioDebugListener(Lcom/google/android/exoplayer2/audio/AudioRendererEventListener;)V .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioDebugListener:Lcom/google/android/exoplayer2/audio/AudioRendererEventListener; return-void .end method .method public setAudioStreamType(I)V .locals 10 .line 1 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioStreamType:I .line 2 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioRendererCount:I new-array v0, v0, [Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; .line 3 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; array-length v2, v1 const/4 v3, 0x0 move v4, v3 :goto_0 if-ge v3, v2, :cond_1 aget-object v5, v1, v3 .line 4 invoke-interface {v5}, Lcom/google/android/exoplayer2/Renderer;->getTrackType()I move-result v6 const/4 v7, 0x1 if-ne v6, v7, :cond_0 add-int/lit8 v6, v4, 0x1 .line 5 new-instance v7, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; const/4 v8, 0x3 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v9 invoke-direct {v7, v5, v8, v9}, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;->(Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerComponent;ILjava/lang/Object;)V aput-object v7, v0, v4 move v4, v6 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 6 :cond_1 iget-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V return-void .end method .method public setMetadataOutput(Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output;)V .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->metadataOutput:Lcom/google/android/exoplayer2/metadata/MetadataRenderer$Output; return-void .end method .method public setPlayWhenReady(Z)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->setPlayWhenReady(Z)V return-void .end method .method public setPlaybackParameters(Lcom/google/android/exoplayer2/PlaybackParameters;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0, p1}, Lcom/google/android/exoplayer2/ExoPlayer;->setPlaybackParameters(Lcom/google/android/exoplayer2/PlaybackParameters;)V return-void .end method .method public setPlaybackParams(Landroid/media/PlaybackParams;)V .locals 2 .param p1 # Landroid/media/PlaybackParams; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation build Landroid/annotation/TargetApi; value = 0x17 .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation if-eqz p1, :cond_0 .line 1 invoke-virtual {p1}, Landroid/media/PlaybackParams;->allowDefaults()Landroid/media/PlaybackParams; .line 2 new-instance v0, Lcom/google/android/exoplayer2/PlaybackParameters; invoke-virtual {p1}, Landroid/media/PlaybackParams;->getSpeed()F move-result v1 invoke-virtual {p1}, Landroid/media/PlaybackParams;->getPitch()F move-result p1 invoke-direct {v0, v1, p1}, Lcom/google/android/exoplayer2/PlaybackParameters;->(FF)V goto :goto_0 :cond_0 const/4 v0, 0x0 .line 3 :goto_0 invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setPlaybackParameters(Lcom/google/android/exoplayer2/PlaybackParameters;)V return-void .end method .method public setTextOutput(Lcom/google/android/exoplayer2/text/TextRenderer$Output;)V .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textOutput:Lcom/google/android/exoplayer2/text/TextRenderer$Output; return-void .end method .method public setVideoDebugListener(Lcom/google/android/exoplayer2/video/VideoRendererEventListener;)V .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoDebugListener:Lcom/google/android/exoplayer2/video/VideoRendererEventListener; return-void .end method .method public setVideoListener(Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener;)V .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$VideoListener; return-void .end method .method public setVideoScalingMode(I)V .locals 10 .line 1 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoScalingMode:I .line 2 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->videoRendererCount:I new-array v0, v0, [Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; .line 3 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; array-length v2, v1 const/4 v3, 0x0 move v4, v3 :goto_0 if-ge v3, v2, :cond_1 aget-object v5, v1, v3 .line 4 invoke-interface {v5}, Lcom/google/android/exoplayer2/Renderer;->getTrackType()I move-result v6 const/4 v7, 0x2 if-ne v6, v7, :cond_0 add-int/lit8 v6, v4, 0x1 .line 5 new-instance v7, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; const/4 v8, 0x4 .line 6 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v9 invoke-direct {v7, v5, v8, v9}, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;->(Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerComponent;ILjava/lang/Object;)V aput-object v7, v0, v4 move v4, v6 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 7 :cond_1 iget-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V return-void .end method .method public setVideoSurface(Landroid/view/Surface;)V .locals 1 .line 1 invoke-direct {p0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->removeSurfaceCallbacks()V const/4 v0, 0x0 .line 2 invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V return-void .end method .method public setVideoSurfaceHolder(Landroid/view/SurfaceHolder;)V .locals 2 .line 1 invoke-direct {p0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->removeSurfaceCallbacks()V .line 2 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->surfaceHolder:Landroid/view/SurfaceHolder; const/4 v0, 0x0 if-nez p1, :cond_0 const/4 p1, 0x0 .line 3 invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V goto :goto_0 .line 4 :cond_0 invoke-interface {p1}, Landroid/view/SurfaceHolder;->getSurface()Landroid/view/Surface; move-result-object v1 invoke-direct {p0, v1, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V .line 5 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; invoke-interface {p1, v0}, Landroid/view/SurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V :goto_0 return-void .end method .method public setVideoSurfaceView(Landroid/view/SurfaceView;)V .locals 0 if-nez p1, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 1 :cond_0 invoke-virtual {p1}, Landroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder; move-result-object p1 :goto_0 invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceHolder(Landroid/view/SurfaceHolder;)V return-void .end method .method public setVideoTextureView(Landroid/view/TextureView;)V .locals 4 .line 1 invoke-direct {p0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->removeSurfaceCallbacks()V .line 2 iput-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->textureView:Landroid/view/TextureView; const/4 v0, 0x1 const/4 v1, 0x0 if-nez p1, :cond_0 .line 3 invoke-direct {p0, v1, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V goto :goto_1 .line 4 :cond_0 invoke-virtual {p1}, Landroid/view/TextureView;->getSurfaceTextureListener()Landroid/view/TextureView$SurfaceTextureListener; move-result-object v2 if-eqz v2, :cond_1 const-string v2, "SimpleExoPlayer" const-string v3, "Replacing existing SurfaceTextureListener." .line 5 invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 6 :cond_1 invoke-virtual {p1}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture; move-result-object v2 if-nez v2, :cond_2 goto :goto_0 .line 7 :cond_2 new-instance v1, Landroid/view/Surface; invoke-direct {v1, v2}, Landroid/view/Surface;->(Landroid/graphics/SurfaceTexture;)V :goto_0 invoke-direct {p0, v1, v0}, Lcom/google/android/exoplayer2/SimpleExoPlayer;->setVideoSurfaceInternal(Landroid/view/Surface;Z)V .line 8 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->componentListener:Lcom/google/android/exoplayer2/SimpleExoPlayer$ComponentListener; invoke-virtual {p1, v0}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V :goto_1 return-void .end method .method public setVolume(F)V .locals 10 .line 1 iput p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioVolume:F .line 2 iget v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->audioRendererCount:I new-array v0, v0, [Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; .line 3 iget-object v1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->renderers:[Lcom/google/android/exoplayer2/Renderer; array-length v2, v1 const/4 v3, 0x0 move v4, v3 :goto_0 if-ge v3, v2, :cond_1 aget-object v5, v1, v3 .line 4 invoke-interface {v5}, Lcom/google/android/exoplayer2/Renderer;->getTrackType()I move-result v6 const/4 v7, 0x1 if-ne v6, v7, :cond_0 add-int/lit8 v6, v4, 0x1 .line 5 new-instance v7, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage; const/4 v8, 0x2 invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v9 invoke-direct {v7, v5, v8, v9}, Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;->(Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerComponent;ILjava/lang/Object;)V aput-object v7, v0, v4 move v4, v6 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 6 :cond_1 iget-object p1, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->sendMessages([Lcom/google/android/exoplayer2/ExoPlayer$ExoPlayerMessage;)V return-void .end method .method public stop()V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/exoplayer2/SimpleExoPlayer;->player:Lcom/google/android/exoplayer2/ExoPlayer; invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->stop()V return-void .end method