diff --git a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java index 117d6b9c..c50d072d 100644 --- a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java +++ b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java @@ -32,6 +32,7 @@ import java.util.ListIterator; import java.util.Iterator; import java.util.HashMap; import java.util.Random; +import java.io.IOException; import java.nio.ByteBuffer; import java.lang.Exception; import java.lang.InterruptedException; @@ -128,8 +129,7 @@ public class MediaDrmAPITest extends Activity { try { mDrm = new MediaDrm(kWidevineScheme); } catch (MediaDrmException e) { - Log.e(TAG, "Failed to create MediaDrm: " + e.getMessage()); - e.printStackTrace(); + Log.e(TAG, "Failed to create MediaDrm", e); mTestFailed = true; return; } @@ -175,7 +175,7 @@ public class MediaDrmAPITest extends Activity { private void stopDrm(MediaDrm drm) { if (drm != mDrm) { - Log.e(TAG, "invalid drm specified in stopDrm"); + Log.e(TAG, "Invalid drm specified in stopDrm"); mTestFailed = true; } mLooper.quit(); @@ -287,18 +287,23 @@ public class MediaDrmAPITest extends Activity { try { crypto = new MediaCrypto(kWidevineScheme, getTestModeSessionId(sessionId)); } catch (MediaCryptoException e) { - Log.e(TAG, "test failed due to exception: " + e.getMessage()); - e.printStackTrace(); + Log.e(TAG, "Failed to create MediaCrypto", e); mTestFailed = true; finish(); } String mime = "video/avc"; - MediaCodec codec; - if (crypto.requiresSecureDecoderComponent(mime)) { - codec = MediaCodec.createByCodecName(getSecureDecoderNameForMime(mime)); - } else { - codec = MediaCodec.createDecoderByType(mime); + MediaCodec codec = null; + try { + if (crypto.requiresSecureDecoderComponent(mime)) { + codec = MediaCodec.createByCodecName(getSecureDecoderNameForMime(mime)); + } else { + codec = MediaCodec.createDecoderByType(mime); + } + } catch (IOException e) { + Log.e(TAG, "Failed to create " + mime + " codec", e); + mTestFailed = true; + finish(); } MediaFormat format = MediaFormat.createVideoFormat(mime, 1280, 720); @@ -424,20 +429,26 @@ public class MediaDrmAPITest extends Activity { try { crypto = new MediaCrypto(kWidevineScheme, getTestModeSessionId(sessionId)); } catch (MediaCryptoException e) { - Log.e(TAG, "test failed due to exception: " + e.getMessage()); - e.printStackTrace(); + Log.e(TAG, "Failed to create MediaCrypto", e); mTestFailed = true; finish(); } String mime = "video/avc"; - MediaCodec codec; + MediaCodec codec = null; boolean secure = false; - if (crypto.requiresSecureDecoderComponent(mime)) { - codec = MediaCodec.createByCodecName(getSecureDecoderNameForMime(mime)); - secure = true; - } else { - codec = MediaCodec.createDecoderByType(mime); + + try { + if (crypto.requiresSecureDecoderComponent(mime)) { + codec = MediaCodec.createByCodecName(getSecureDecoderNameForMime(mime)); + secure = true; + } else { + codec = MediaCodec.createDecoderByType(mime); + } + } catch (IOException e) { + Log.e(TAG, "Failed to create " + mime + " codec", e); + mTestFailed = true; + finish(); } MediaFormat format = MediaFormat.createVideoFormat(mime, 1280, 720); diff --git a/proprietary/samplePlayer/src/com/widevine/demo/MediaCodecView.java b/proprietary/samplePlayer/src/com/widevine/demo/MediaCodecView.java index 4853d01e..7d7c1ce5 100644 --- a/proprietary/samplePlayer/src/com/widevine/demo/MediaCodecView.java +++ b/proprietary/samplePlayer/src/com/widevine/demo/MediaCodecView.java @@ -499,7 +499,8 @@ class MediaCodecView extends SurfaceView } private void addTrack( - int trackIndex, MediaFormat format, boolean encrypted) { + int trackIndex, MediaFormat format, boolean encrypted) + throws IOException { String mime = format.getString(MediaFormat.KEY_MIME); boolean isVideo = mime.startsWith("video/");