Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
82a31eed
authored
Sep 11, 2019
by
aquilescanta
Committed by
Oliver Woodman
Sep 13, 2019
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add a placeholder mode for DefaultDrmSessions
Issue:#4867 PiperOrigin-RevId: 268473094
parent
0cc1e514
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
2 deletions
library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java
library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java
library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java
View file @
82a31eed
...
...
@@ -106,6 +106,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
private
final
ProvisioningManager
<
T
>
provisioningManager
;
private
final
ReleaseCallback
<
T
>
releaseCallback
;
private
final
@DefaultDrmSessionManager
.
Mode
int
mode
;
private
final
boolean
isPlaceholderSession
;
@Nullable
private
final
HashMap
<
String
,
String
>
optionalKeyRequestParameters
;
private
final
EventDispatcher
<
DefaultDrmSessionEventListener
>
eventDispatcher
;
private
final
LoadErrorHandlingPolicy
loadErrorHandlingPolicy
;
...
...
@@ -134,8 +135,9 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
* @param provisioningManager The manager for provisioning.
* @param releaseCallback The {@link ReleaseCallback}.
* @param schemeDatas DRM scheme datas for this session, or null if an {@code
* offlineLicenseKeySetId} is provided.
* @param mode The DRM mode.
* offlineLicenseKeySetId} is provided or if {@code isPlaceholderSession} is true.
* @param mode The DRM mode. Ignored if {@code isPlaceholderSession} is true.
* @param isPlaceholderSession Whether this session is not expected to acquire any keys.
* @param offlineLicenseKeySetId The offline license key set identifier, or null when not using
* offline keys.
* @param optionalKeyRequestParameters The optional key request parameters.
...
...
@@ -152,6 +154,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
ReleaseCallback
<
T
>
releaseCallback
,
@Nullable
List
<
SchemeData
>
schemeDatas
,
@DefaultDrmSessionManager
.
Mode
int
mode
,
boolean
isPlaceholderSession
,
@Nullable
byte
[]
offlineLicenseKeySetId
,
@Nullable
HashMap
<
String
,
String
>
optionalKeyRequestParameters
,
MediaDrmCallback
callback
,
...
...
@@ -167,6 +170,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
this
.
releaseCallback
=
releaseCallback
;
this
.
mediaDrm
=
mediaDrm
;
this
.
mode
=
mode
;
this
.
isPlaceholderSession
=
isPlaceholderSession
;
if
(
offlineLicenseKeySetId
!=
null
)
{
this
.
offlineLicenseKeySetId
=
offlineLicenseKeySetId
;
this
.
schemeDatas
=
null
;
...
...
@@ -342,6 +346,10 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
@RequiresNonNull
(
"sessionId"
)
private
void
doLicense
(
boolean
allowRetry
)
{
if
(
isPlaceholderSession
)
{
state
=
STATE_OPENED_WITH_KEYS
;
return
;
}
byte
[]
sessionId
=
Util
.
castNonNull
(
this
.
sessionId
);
switch
(
mode
)
{
case
DefaultDrmSessionManager
.
MODE_PLAYBACK
:
...
...
library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java
View file @
82a31eed
...
...
@@ -442,6 +442,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
/* releaseCallback= */
this
::
onSessionReleased
,
schemeDatas
,
mode
,
/* isPlaceholderSession= */
false
,
offlineLicenseKeySetId
,
optionalKeyRequestParameters
,
callback
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment