From 95db1eacd12957a242ffff8c602fffc8d451394f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20A=CC=8Akerfeldt?= Date: Thu, 24 Sep 2015 14:40:04 +0200 Subject: [PATCH] Add onKeysLoaded callback This adds a callback for when DRM keys have been loaded. --- .../exoplayer/drm/StreamingDrmSessionManager.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/library/src/main/java/com/google/android/exoplayer/drm/StreamingDrmSessionManager.java b/library/src/main/java/com/google/android/exoplayer/drm/StreamingDrmSessionManager.java index 7df46e0f31..7064e2107b 100644 --- a/library/src/main/java/com/google/android/exoplayer/drm/StreamingDrmSessionManager.java +++ b/library/src/main/java/com/google/android/exoplayer/drm/StreamingDrmSessionManager.java @@ -50,6 +50,12 @@ public class StreamingDrmSessionManager implements DrmSessionManager { */ public interface EventListener { + /** + * Invoked when DRM keys have been loaded. Depending on license setup, this might occur multiple + * times during playback. + */ + void onKeysLoaded(); + /** * Invoked when a drm error occurs. * @@ -386,6 +392,14 @@ public class StreamingDrmSessionManager implements DrmSessionManager { try { mediaDrm.provideKeyResponse(sessionId, (byte[]) response); state = STATE_OPENED_WITH_KEYS; + if (eventHandler != null && eventListener != null) { + eventHandler.post(new Runnable() { + @Override + public void run() { + eventListener.onKeysLoaded(); + } + }); + } } catch (Exception e) { onKeysError(e); }