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
578398c2
authored
Sep 03, 2019
by
aquilescanta
Committed by
Toni
Sep 05, 2019
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Move DefaultLoadErrorHandling creation to DefaultDrmSessionManager
Issue:#6334 PiperOrigin-RevId: 266910499
parent
260db031
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
10 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 @
578398c2
...
@@ -29,7 +29,6 @@ import com.google.android.exoplayer2.C;
...
@@ -29,7 +29,6 @@ import com.google.android.exoplayer2.C;
import
com.google.android.exoplayer2.drm.DrmInitData.SchemeData
;
import
com.google.android.exoplayer2.drm.DrmInitData.SchemeData
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
;
import
com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
;
import
com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
;
import
com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.EventDispatcher
;
import
com.google.android.exoplayer2.util.EventDispatcher
;
...
@@ -143,8 +142,8 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
...
@@ -143,8 +142,8 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
* @param callback The media DRM callback.
* @param callback The media DRM callback.
* @param playbackLooper The playback looper.
* @param playbackLooper The playback looper.
* @param eventDispatcher The dispatcher for DRM session manager events.
* @param eventDispatcher The dispatcher for DRM session manager events.
* @param
initialDrmRequestRetryCount The number of times to retry for initial provisioning and
* @param
loadErrorHandlingPolicy The {@link LoadErrorHandlingPolicy} for key and provisioning
*
key request before reporting error
.
*
requests
.
*/
*/
public
DefaultDrmSession
(
public
DefaultDrmSession
(
UUID
uuid
,
UUID
uuid
,
...
@@ -158,7 +157,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
...
@@ -158,7 +157,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
MediaDrmCallback
callback
,
MediaDrmCallback
callback
,
Looper
playbackLooper
,
Looper
playbackLooper
,
EventDispatcher
<
DefaultDrmSessionEventListener
>
eventDispatcher
,
EventDispatcher
<
DefaultDrmSessionEventListener
>
eventDispatcher
,
int
initialDrmRequestRetryCount
)
{
LoadErrorHandlingPolicy
loadErrorHandlingPolicy
)
{
if
(
mode
==
DefaultDrmSessionManager
.
MODE_QUERY
if
(
mode
==
DefaultDrmSessionManager
.
MODE_QUERY
||
mode
==
DefaultDrmSessionManager
.
MODE_RELEASE
)
{
||
mode
==
DefaultDrmSessionManager
.
MODE_RELEASE
)
{
Assertions
.
checkNotNull
(
offlineLicenseKeySetId
);
Assertions
.
checkNotNull
(
offlineLicenseKeySetId
);
...
@@ -177,9 +176,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
...
@@ -177,9 +176,7 @@ public class DefaultDrmSession<T extends ExoMediaCrypto> implements DrmSession<T
this
.
optionalKeyRequestParameters
=
optionalKeyRequestParameters
;
this
.
optionalKeyRequestParameters
=
optionalKeyRequestParameters
;
this
.
callback
=
callback
;
this
.
callback
=
callback
;
this
.
eventDispatcher
=
eventDispatcher
;
this
.
eventDispatcher
=
eventDispatcher
;
loadErrorHandlingPolicy
=
this
.
loadErrorHandlingPolicy
=
loadErrorHandlingPolicy
;
new
DefaultLoadErrorHandlingPolicy
(
/* minimumLoadableRetryCount= */
initialDrmRequestRetryCount
);
state
=
STATE_OPENING
;
state
=
STATE_OPENING
;
responseHandler
=
new
ResponseHandler
(
playbackLooper
);
responseHandler
=
new
ResponseHandler
(
playbackLooper
);
}
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java
View file @
578398c2
...
@@ -28,6 +28,8 @@ import com.google.android.exoplayer2.drm.DefaultDrmSession.ProvisioningManager;
...
@@ -28,6 +28,8 @@ import com.google.android.exoplayer2.drm.DefaultDrmSession.ProvisioningManager;
import
com.google.android.exoplayer2.drm.DrmInitData.SchemeData
;
import
com.google.android.exoplayer2.drm.DrmInitData.SchemeData
;
import
com.google.android.exoplayer2.drm.DrmSession.DrmSessionException
;
import
com.google.android.exoplayer2.drm.DrmSession.DrmSessionException
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.OnEventListener
;
import
com.google.android.exoplayer2.drm.ExoMediaDrm.OnEventListener
;
import
com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
;
import
com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.EventDispatcher
;
import
com.google.android.exoplayer2.util.EventDispatcher
;
import
com.google.android.exoplayer2.util.Log
;
import
com.google.android.exoplayer2.util.Log
;
...
@@ -91,7 +93,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
...
@@ -91,7 +93,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
@Nullable
private
final
HashMap
<
String
,
String
>
optionalKeyRequestParameters
;
@Nullable
private
final
HashMap
<
String
,
String
>
optionalKeyRequestParameters
;
private
final
EventDispatcher
<
DefaultDrmSessionEventListener
>
eventDispatcher
;
private
final
EventDispatcher
<
DefaultDrmSessionEventListener
>
eventDispatcher
;
private
final
boolean
multiSession
;
private
final
boolean
multiSession
;
private
final
int
initialDrmRequestRetryCount
;
private
final
LoadErrorHandlingPolicy
loadErrorHandlingPolicy
;
private
final
List
<
DefaultDrmSession
<
T
>>
sessions
;
private
final
List
<
DefaultDrmSession
<
T
>>
sessions
;
private
final
List
<
DefaultDrmSession
<
T
>>
provisioningSessions
;
private
final
List
<
DefaultDrmSession
<
T
>>
provisioningSessions
;
...
@@ -224,6 +226,22 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
...
@@ -224,6 +226,22 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
@Nullable
HashMap
<
String
,
String
>
optionalKeyRequestParameters
,
@Nullable
HashMap
<
String
,
String
>
optionalKeyRequestParameters
,
boolean
multiSession
,
boolean
multiSession
,
int
initialDrmRequestRetryCount
)
{
int
initialDrmRequestRetryCount
)
{
this
(
uuid
,
mediaDrm
,
callback
,
optionalKeyRequestParameters
,
multiSession
,
new
DefaultLoadErrorHandlingPolicy
(
initialDrmRequestRetryCount
));
}
private
DefaultDrmSessionManager
(
UUID
uuid
,
ExoMediaDrm
<
T
>
mediaDrm
,
MediaDrmCallback
callback
,
@Nullable
HashMap
<
String
,
String
>
optionalKeyRequestParameters
,
boolean
multiSession
,
LoadErrorHandlingPolicy
loadErrorHandlingPolicy
)
{
Assertions
.
checkNotNull
(
uuid
);
Assertions
.
checkNotNull
(
uuid
);
Assertions
.
checkNotNull
(
mediaDrm
);
Assertions
.
checkNotNull
(
mediaDrm
);
Assertions
.
checkArgument
(!
C
.
COMMON_PSSH_UUID
.
equals
(
uuid
),
"Use C.CLEARKEY_UUID instead"
);
Assertions
.
checkArgument
(!
C
.
COMMON_PSSH_UUID
.
equals
(
uuid
),
"Use C.CLEARKEY_UUID instead"
);
...
@@ -233,7 +251,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
...
@@ -233,7 +251,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
this
.
optionalKeyRequestParameters
=
optionalKeyRequestParameters
;
this
.
optionalKeyRequestParameters
=
optionalKeyRequestParameters
;
this
.
eventDispatcher
=
new
EventDispatcher
<>();
this
.
eventDispatcher
=
new
EventDispatcher
<>();
this
.
multiSession
=
multiSession
;
this
.
multiSession
=
multiSession
;
this
.
initialDrmRequestRetryCount
=
initialDrmRequestRetryCount
;
this
.
loadErrorHandlingPolicy
=
loadErrorHandlingPolicy
;
mode
=
MODE_PLAYBACK
;
mode
=
MODE_PLAYBACK
;
sessions
=
new
ArrayList
<>();
sessions
=
new
ArrayList
<>();
provisioningSessions
=
new
ArrayList
<>();
provisioningSessions
=
new
ArrayList
<>();
...
@@ -429,7 +447,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
...
@@ -429,7 +447,7 @@ public class DefaultDrmSessionManager<T extends ExoMediaCrypto>
callback
,
callback
,
playbackLooper
,
playbackLooper
,
eventDispatcher
,
eventDispatcher
,
initialDrmRequestRetryCount
);
loadErrorHandlingPolicy
);
sessions
.
add
(
session
);
sessions
.
add
(
session
);
}
}
session
.
acquireReference
();
session
.
acquireReference
();
...
...
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