From b3a031ded11b98e4d500ed0dcc60e10d7ac0a79b Mon Sep 17 00:00:00 2001 From: Jeff Tinker Date: Thu, 26 Jun 2014 08:59:02 -0700 Subject: [PATCH] Handle ResourceBusyException from MediaDrm.openSession Change-Id: I21dc9b194ba1195fd28071cdd213cae489b67387 related-to-bug: 13792521 --- .../test/java/src/com/widevine/test/MediaDrmAPITest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java index 671fd221..263748c2 100644 --- a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java +++ b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java @@ -18,7 +18,6 @@ import android.media.MediaDrm; import android.widget.TextView; import android.media.MediaDrm.CryptoSession; import android.media.MediaDrmException; -import android.media.NotProvisionedException; import android.media.MediaCrypto; import android.media.MediaCodec; import android.media.MediaCryptoException; @@ -27,6 +26,8 @@ import android.media.MediaCodecList; import android.media.MediaCodec.CryptoInfo; import android.media.MediaCodecInfo; import android.media.MediaFormat; +import android.media.NotProvisionedException; +import android.media.ResourceBusyException; import android.util.Log; import android.util.TypedValue; import android.util.AttributeSet; @@ -253,6 +254,10 @@ public class MediaDrmAPITest extends Activity { ProvisionRequester provisionRequester = new ProvisionRequester(); provisionRequester.doTransact(drm); retryOpen = true; + } catch (ResourceBusyException e) { + Log.w(TAG, "Resource busy in openSession, retrying..."); + retryOpen = true; + sleep(1000); } } while (retryOpen); return sessionId;