.class public final Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider; .super Ljava/lang/Object; .source "DefaultDrmSessionManagerProvider.java" # interfaces .implements Landroidx/media3/exoplayer/drm/DrmSessionManagerProvider; # instance fields .field private drmConfiguration:Landroidx/media3/common/MediaItem$DrmConfiguration; .field private drmHttpDataSourceFactory:Landroidx/media3/datasource/DataSource$Factory; .field private final lock:Ljava/lang/Object; .field private manager:Landroidx/media3/exoplayer/drm/DrmSessionManager; .field private userAgent:Ljava/lang/String; # direct methods .method public constructor ()V .locals 1 .line 48 invoke-direct {p0}, Ljava/lang/Object;->()V .line 49 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->lock:Ljava/lang/Object; return-void .end method .method private createManager(Landroidx/media3/common/MediaItem$DrmConfiguration;)Landroidx/media3/exoplayer/drm/DrmSessionManager; .locals 3 iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->drmHttpDataSourceFactory:Landroidx/media3/datasource/DataSource$Factory; if-eqz v0, :cond_0 goto :goto_0 .line 96 :cond_0 new-instance v0, Landroidx/media3/datasource/DefaultHttpDataSource$Factory; invoke-direct {v0}, Landroidx/media3/datasource/DefaultHttpDataSource$Factory;->()V iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->userAgent:Ljava/lang/String; invoke-virtual {v0, p0}, Landroidx/media3/datasource/DefaultHttpDataSource$Factory;->setUserAgent(Ljava/lang/String;)Landroidx/media3/datasource/DefaultHttpDataSource$Factory; move-result-object v0 .line 97 :goto_0 new-instance p0, Landroidx/media3/exoplayer/drm/HttpMediaDrmCallback; .line 99 iget-object v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->licenseUri:Landroid/net/Uri; if-nez v1, :cond_1 const/4 v1, 0x0 goto :goto_1 :cond_1 iget-object v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->licenseUri:Landroid/net/Uri; invoke-virtual {v1}, Landroid/net/Uri;->toString()Ljava/lang/String; move-result-object v1 :goto_1 iget-boolean v2, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->forceDefaultLicenseUri:Z invoke-direct {p0, v1, v2, v0}, Landroidx/media3/exoplayer/drm/HttpMediaDrmCallback;->(Ljava/lang/String;ZLandroidx/media3/datasource/DataSource$Factory;)V .line 102 iget-object v0, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->licenseRequestHeaders:Lcom/google/common/collect/ImmutableMap; invoke-virtual {v0}, Lcom/google/common/collect/ImmutableMap;->entrySet()Lcom/google/common/collect/ImmutableSet; move-result-object v0 invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator; move-result-object v0 :goto_2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/Map$Entry; .line 103 invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; invoke-virtual {p0, v2, v1}, Landroidx/media3/exoplayer/drm/HttpMediaDrmCallback;->setKeyRequestProperty(Ljava/lang/String;Ljava/lang/String;)V goto :goto_2 .line 105 :cond_2 new-instance v0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder; invoke-direct {v0}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->()V iget-object v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->scheme:Ljava/util/UUID; sget-object v2, Landroidx/media3/exoplayer/drm/FrameworkMediaDrm;->DEFAULT_PROVIDER:Landroidx/media3/exoplayer/drm/ExoMediaDrm$Provider; .line 107 invoke-virtual {v0, v1, v2}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->setUuidAndExoMediaDrmProvider(Ljava/util/UUID;Landroidx/media3/exoplayer/drm/ExoMediaDrm$Provider;)Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder; move-result-object v0 iget-boolean v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->multiSession:Z .line 109 invoke-virtual {v0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->setMultiSession(Z)Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder; move-result-object v0 iget-boolean v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->playClearContentWithoutKey:Z .line 110 invoke-virtual {v0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->setPlayClearSamplesWithoutKeys(Z)Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder; move-result-object v0 iget-object v1, p1, Landroidx/media3/common/MediaItem$DrmConfiguration;->forcedSessionTrackTypes:Lcom/google/common/collect/ImmutableList; .line 112 invoke-static {v1}, Lcom/google/common/primitives/Ints;->toArray(Ljava/util/Collection;)[I move-result-object v1 .line 111 invoke-virtual {v0, v1}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->setUseDrmSessionsForClearContent([I)Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder; move-result-object v0 .line 113 invoke-virtual {v0, p0}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager$Builder;->build(Landroidx/media3/exoplayer/drm/MediaDrmCallback;)Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager; move-result-object p0 const/4 v0, 0x0 .line 114 invoke-virtual {p1}, Landroidx/media3/common/MediaItem$DrmConfiguration;->getKeySetId()[B move-result-object p1 invoke-virtual {p0, v0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManager;->setMode(I[B)V return-object p0 .end method # virtual methods .method public get(Landroidx/media3/common/MediaItem;)Landroidx/media3/exoplayer/drm/DrmSessionManager; .locals 2 .line 75 iget-object v0, p1, Landroidx/media3/common/MediaItem;->localConfiguration:Landroidx/media3/common/MediaItem$LocalConfiguration; invoke-static {v0}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 77 iget-object p1, p1, Landroidx/media3/common/MediaItem;->localConfiguration:Landroidx/media3/common/MediaItem$LocalConfiguration; iget-object p1, p1, Landroidx/media3/common/MediaItem$LocalConfiguration;->drmConfiguration:Landroidx/media3/common/MediaItem$DrmConfiguration; if-eqz p1, :cond_2 .line 78 sget v0, Landroidx/media3/common/util/Util;->SDK_INT:I const/16 v1, 0x12 if-ge v0, v1, :cond_0 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->lock:Ljava/lang/Object; .line 82 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->drmConfiguration:Landroidx/media3/common/MediaItem$DrmConfiguration; .line 83 invoke-static {p1, v1}, Landroidx/media3/common/util/Util;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_1 iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->drmConfiguration:Landroidx/media3/common/MediaItem$DrmConfiguration; .line 85 invoke-direct {p0, p1}, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->createManager(Landroidx/media3/common/MediaItem$DrmConfiguration;)Landroidx/media3/exoplayer/drm/DrmSessionManager; move-result-object p1 iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->manager:Landroidx/media3/exoplayer/drm/DrmSessionManager; :cond_1 iget-object p0, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->manager:Landroidx/media3/exoplayer/drm/DrmSessionManager; .line 87 invoke-static {p0}, Landroidx/media3/common/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroidx/media3/exoplayer/drm/DrmSessionManager; monitor-exit v0 return-object p0 :catchall_0 move-exception p0 .line 88 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p0 .line 79 :cond_2 :goto_0 sget-object p0, Landroidx/media3/exoplayer/drm/DrmSessionManager;->DRM_UNSUPPORTED:Landroidx/media3/exoplayer/drm/DrmSessionManager; return-object p0 .end method .method public setDrmHttpDataSourceFactory(Landroidx/media3/datasource/DataSource$Factory;)V .locals 0 iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->drmHttpDataSourceFactory:Landroidx/media3/datasource/DataSource$Factory; return-void .end method .method public setDrmUserAgent(Ljava/lang/String;)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation iput-object p1, p0, Landroidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider;->userAgent:Ljava/lang/String; return-void .end method