| Index: webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java
|
| diff --git a/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java b/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java
|
| index 63871f840ef7f4ad69f578093d1d78495355f359..9583667f7ab5e9cd904158f3a4716837c966b7db 100644
|
| --- a/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java
|
| +++ b/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java
|
| @@ -178,8 +178,13 @@ public class MediaCodecVideoDecoder {
|
| }
|
| Logging.d(TAG, "Trying to find HW decoder for mime " + mime);
|
| for (int i = 0; i < MediaCodecList.getCodecCount(); ++i) {
|
| - MediaCodecInfo info = MediaCodecList.getCodecInfoAt(i);
|
| - if (info.isEncoder()) {
|
| + MediaCodecInfo info = null;
|
| + try {
|
| + info = MediaCodecList.getCodecInfoAt(i);
|
| + } catch (IllegalArgumentException e) {
|
| + Logging.e(TAG, "Cannot retrieve decoder codec info", e);
|
| + }
|
| + if (info == null || info.isEncoder()) {
|
| continue;
|
| }
|
| String name = null;
|
| @@ -207,8 +212,13 @@ public class MediaCodecVideoDecoder {
|
| }
|
|
|
| // Check if codec supports either yuv420 or nv12.
|
| - CodecCapabilities capabilities =
|
| - info.getCapabilitiesForType(mime);
|
| + CodecCapabilities capabilities;
|
| + try {
|
| + capabilities = info.getCapabilitiesForType(mime);
|
| + } catch (IllegalArgumentException e) {
|
| + Logging.e(TAG, "Cannot retrieve decoder capabilities", e);
|
| + continue;
|
| + }
|
| for (int colorFormat : capabilities.colorFormats) {
|
| Logging.v(TAG, " Color: 0x" + Integer.toHexString(colorFormat));
|
| }
|
|
|