diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/full/player/DashRendererBuilder.java b/demo/src/main/java/com/google/android/exoplayer/demo/full/player/DashRendererBuilder.java index 95f27f9545..4c5e0f7d4f 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/full/player/DashRendererBuilder.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/full/player/DashRendererBuilder.java @@ -163,12 +163,8 @@ public class DashRendererBuilder implements RendererBuilder, // HD streams require L1 security. filterHdContent = videoAdaptationSet != null && videoAdaptationSet.hasContentProtection() && !drmSessionManagerData.second; - } catch (UnsupportedSchemeException e) { - callback.onRenderersError( - new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME, e)); - } catch (Exception e) { - callback.onRenderersError( - new UnsupportedDrmException(UnsupportedDrmException.REASON_UNKNOWN, e)); + } catch (UnsupportedDrmException e) { + callback.onRenderersError(e); return; } } @@ -328,12 +324,18 @@ public class DashRendererBuilder implements RendererBuilder, private static class V18Compat { public static Pair getDrmSessionManagerData(DemoPlayer player, - MediaDrmCallback drmCallback) throws UnsupportedSchemeException { - StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager( - DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, null, - player.getMainHandler(), player); - return Pair.create((DrmSessionManager) streamingDrmSessionManager, - getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1); + MediaDrmCallback drmCallback) throws UnsupportedDrmException { + try { + StreamingDrmSessionManager streamingDrmSessionManager = new StreamingDrmSessionManager( + DemoUtil.WIDEVINE_UUID, player.getPlaybackLooper(), drmCallback, null, + player.getMainHandler(), player); + return Pair.create((DrmSessionManager) streamingDrmSessionManager, + getWidevineSecurityLevel(streamingDrmSessionManager) == SECURITY_LEVEL_1); + } catch (UnsupportedSchemeException e) { + throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME); + } catch (Exception e) { + throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNKNOWN, e); + } } private static int getWidevineSecurityLevel(StreamingDrmSessionManager sessionManager) { diff --git a/demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java b/demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java index e02ebe5ca8..6225f42c58 100644 --- a/demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java +++ b/demo/src/main/java/com/google/android/exoplayer/demo/full/player/SmoothStreamingRendererBuilder.java @@ -118,12 +118,8 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder, try { drmSessionManager = V18Compat.getDrmSessionManager(manifest.protectionElement.uuid, player, drmCallback); - } catch (UnsupportedSchemeException e) { - callback.onRenderersError( - new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME, e)); - } catch (Exception e) { - callback.onRenderersError( - new UnsupportedDrmException(UnsupportedDrmException.REASON_UNKNOWN, e)); + } catch (UnsupportedDrmException e) { + callback.onRenderersError(e); return; } } @@ -259,9 +255,15 @@ public class SmoothStreamingRendererBuilder implements RendererBuilder, private static class V18Compat { public static DrmSessionManager getDrmSessionManager(UUID uuid, DemoPlayer player, - MediaDrmCallback drmCallback) throws UnsupportedSchemeException { - return new StreamingDrmSessionManager(uuid, player.getPlaybackLooper(), drmCallback, null, - player.getMainHandler(), player); + MediaDrmCallback drmCallback) throws UnsupportedDrmException { + try { + return new StreamingDrmSessionManager(uuid, player.getPlaybackLooper(), drmCallback, null, + player.getMainHandler(), player); + } catch (UnsupportedSchemeException e) { + throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME); + } catch (Exception e) { + throw new UnsupportedDrmException(UnsupportedDrmException.REASON_UNKNOWN, e); + } } }