From 528fc650d8546defdc0549a13b9c177d4981d7d1 Mon Sep 17 00:00:00 2001 From: "henrike@webrtc.org" Date: Mon, 6 Oct 2014 17:56:43 +0000 Subject: [PATCH] Fixing build issue with L-sdk Based on https://codereview.appspot.com/153000043/ BUG=https://code.google.com/p/chromium/issues/detail?id=420293 R=niklas.enbom@webrtc.org, serya@chromium.org, yfriedman@chromium.org Review URL: https://webrtc-codereview.appspot.com/29659004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7374 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../java/src/org/webrtc/MediaCodecVideoDecoder.java | 3 ++- .../java/src/org/webrtc/MediaCodecVideoEncoder.java | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java index fcb3d3fc69..35f03a433f 100644 --- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java +++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoDecoder.java @@ -333,7 +333,8 @@ class MediaCodecVideoDecoder { format.setInteger(MediaFormat.KEY_COLOR_FORMAT, properties.colorFormat); } Log.d(TAG, " Format: " + format); - mediaCodec = MediaCodec.createByCodecName(properties.codecName); + mediaCodec = + MediaCodecVideoEncoder.createByCodecName(properties.codecName); if (mediaCodec == null) { return false; } diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java index cf11573b04..a2d6168018 100644 --- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java +++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java @@ -152,6 +152,16 @@ class MediaCodecVideoEncoder { } } + static MediaCodec createByCodecName(String codecName) { + try { + // In the L-SDK this call can throw IOException so in order to work in + // both cases catch an exception. + return MediaCodec.createByCodecName(codecName); + } catch (Exception e) { + return null; + } + } + // Return the array of input buffers, or null on failure. private ByteBuffer[] initEncode(int width, int height, int kbps, int fps) { Log.d(TAG, "Java initEncode: " + width + " x " + height + @@ -175,7 +185,7 @@ class MediaCodecVideoEncoder { format.setInteger(MediaFormat.KEY_FRAME_RATE, fps); format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 100); Log.d(TAG, " Format: " + format); - mediaCodec = MediaCodec.createByCodecName(properties.codecName); + mediaCodec = createByCodecName(properties.codecName); if (mediaCodec == null) { return null; }