Revert "Add "throws IOException" to MediaCodec constructors (3)"

This reverts commit 52d8aa79a31c5042d2b43d06f08fa28489b27d1b.

Change-Id: Ic706e0fb469931664499d00fa3a221726b258673
diff --git a/api/current.txt b/api/current.txt
index e82d348..745b33d93 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -12597,9 +12597,9 @@
 
   public final class MediaCodec {
     method public void configure(android.media.MediaFormat, android.view.Surface, android.media.MediaCrypto, int);
-    method public static android.media.MediaCodec createByCodecName(java.lang.String) throws java.io.IOException;
-    method public static android.media.MediaCodec createDecoderByType(java.lang.String) throws java.io.IOException;
-    method public static android.media.MediaCodec createEncoderByType(java.lang.String) throws java.io.IOException;
+    method public static android.media.MediaCodec createByCodecName(java.lang.String);
+    method public static android.media.MediaCodec createDecoderByType(java.lang.String);
+    method public static android.media.MediaCodec createEncoderByType(java.lang.String);
     method public final android.view.Surface createInputSurface();
     method public final int dequeueInputBuffer(long);
     method public final int dequeueOutputBuffer(android.media.MediaCodec.BufferInfo, long);
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 02cb6dd..5175830 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -23,7 +23,6 @@
 import android.os.Bundle;
 import android.view.Surface;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Map;
@@ -67,8 +66,8 @@
  *
  * Each codec maintains a number of input and output buffers that are
  * referred to by index in API calls.
- * The contents of these buffers are represented by the ByteBuffer[] arrays
- * accessible through {@link #getInputBuffers} and {@link #getOutputBuffers}.
+ * The contents of these buffers is represented by the ByteBuffer[] arrays
+ * accessible through getInputBuffers() and getOutputBuffers().
  *
  * After a successful call to {@link #start} the client "owns" neither
  * input nor output buffers, subsequent calls to {@link #dequeueInputBuffer}
@@ -118,18 +117,7 @@
  * own any buffers anymore.
  * Note that the format of the data submitted after a flush must not change,
  * flush does not support format discontinuities,
- * for this a full {@link #stop}, {@link #configure}, {@link #start}
- * cycle is necessary.
- *
- * <p> The factory methods
- * {@link #createByCodecName},
- * {@link #createDecoderByType},
- * and {@link #createEncoderByType}
- * throw {@link java.io.IOException} on failure which
- * the caller must catch or declare to pass up.
- * Other methods will throw {@link java.lang.IllegalStateException}
- * if the codec is in an Uninitialized, Invalid, or Error state (e.g. not
- * initialized properly).  Exceptions are thrown elsewhere as noted. </p>
+ * for this a full stop(), configure(), start() cycle is necessary.
  *
  */
 final public class MediaCodec {
@@ -193,22 +181,16 @@
      * </ul>
      *
      * @param type The mime type of the input data.
-     * @throws IOException if the codec cannot be created.
-     * @throws IllegalArgumentException if type is null.
      */
-    public static MediaCodec createDecoderByType(String type)
-            throws IOException {
+    public static MediaCodec createDecoderByType(String type) {
         return new MediaCodec(type, true /* nameIsType */, false /* encoder */);
     }
 
     /**
      * Instantiate an encoder supporting output data of the given mime type.
      * @param type The desired mime type of the output data.
-     * @throws IOException if the codec cannot be created.
-     * @throws IllegalArgumentException if type is null.
      */
-    public static MediaCodec createEncoderByType(String type)
-            throws IOException {
+    public static MediaCodec createEncoderByType(String type) {
         return new MediaCodec(type, true /* nameIsType */, true /* encoder */);
     }
 
@@ -217,11 +199,8 @@
      * use this method to instantiate it. Use with caution.
      * Likely to be used with information obtained from {@link android.media.MediaCodecList}
      * @param name The name of the codec to be instantiated.
-     * @throws IOException if the codec cannot be created.
-     * @throws IllegalArgumentException if name is null.
      */
-    public static MediaCodec createByCodecName(String name)
-            throws IOException {
+    public static MediaCodec createByCodecName(String name) {
         return new MediaCodec(
                 name, false /* nameIsType */, false /* unused */);
     }
diff --git a/tests/AccessoryDisplay/sink/src/com/android/accessorydisplay/sink/DisplaySinkService.java b/tests/AccessoryDisplay/sink/src/com/android/accessorydisplay/sink/DisplaySinkService.java
index 9e6ced1..daec845 100644
--- a/tests/AccessoryDisplay/sink/src/com/android/accessorydisplay/sink/DisplaySinkService.java
+++ b/tests/AccessoryDisplay/sink/src/com/android/accessorydisplay/sink/DisplaySinkService.java
@@ -30,7 +30,6 @@
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 
 public class DisplaySinkService extends Service implements SurfaceHolder.Callback {
@@ -151,12 +150,7 @@
             if (mSurface != null) {
                 MediaFormat format = MediaFormat.createVideoFormat(
                         "video/avc", mSurfaceWidth, mSurfaceHeight);
-                try {
-                    mCodec = MediaCodec.createDecoderByType("video/avc");
-                } catch (IOException e) {
-                    throw new RuntimeException(
-                            "IOException in MediaCodec.createDecoderByType for video/avc", e);
-                }
+                mCodec = MediaCodec.createDecoderByType("video/avc");
                 mCodec.configure(format, mSurface, null, 0);
                 mCodec.start();
                 mCodecBufferInfo = new BufferInfo();
diff --git a/tests/AccessoryDisplay/source/src/com/android/accessorydisplay/source/DisplaySourceService.java b/tests/AccessoryDisplay/source/src/com/android/accessorydisplay/source/DisplaySourceService.java
index 9207fb2..256f900 100644
--- a/tests/AccessoryDisplay/source/src/com/android/accessorydisplay/source/DisplaySourceService.java
+++ b/tests/AccessoryDisplay/source/src/com/android/accessorydisplay/source/DisplaySourceService.java
@@ -32,7 +32,6 @@
 import android.view.Display;
 import android.view.Surface;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 
 public class DisplaySourceService extends Service {
@@ -192,13 +191,8 @@
             format.setInteger(MediaFormat.KEY_BIT_RATE, BIT_RATE);
             format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
             format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, I_FRAME_INTERVAL);
-            MediaCodec codec;
-            try {
-                codec = MediaCodec.createEncoderByType("video/avc");
-            } catch (IOException e) {
-                throw new RuntimeException(
-                        "IOException in MediaCodec.createEncoderByType for video/avc", e);
-            }
+
+            MediaCodec codec = MediaCodec.createEncoderByType("video/avc");
             codec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
             Surface surface = codec.createInputSurface();
             codec.start();
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/AudioTrackDecoder.java b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/AudioTrackDecoder.java
index fbea6cd..0219fd7 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/AudioTrackDecoder.java
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/AudioTrackDecoder.java
@@ -59,15 +59,8 @@
 
     @Override
     protected MediaCodec initMediaCodec(MediaFormat format) {
-        MediaCodec mediaCodec;
-        try {
-            mediaCodec = MediaCodec.createDecoderByType(
-                    format.getString(MediaFormat.KEY_MIME));
-        } catch (IOException e) {
-            throw new RuntimeException(
-                    "IOException in MediaCodec.createDecoderByType for "
-                    + format.getString(MediaFormat.KEY_MIME), e);
-        }
+        MediaCodec mediaCodec = MediaCodec.createDecoderByType(
+                format.getString(MediaFormat.KEY_MIME));
         mediaCodec.configure(format, null, null, 0);
         return mediaCodec;
     }
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/CpuVideoTrackDecoder.java b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/CpuVideoTrackDecoder.java
index f57eacf..96f3059 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/CpuVideoTrackDecoder.java
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/CpuVideoTrackDecoder.java
@@ -29,7 +29,6 @@
 import androidx.media.filterfw.FrameImage2D;
 import androidx.media.filterfw.PixelUtils;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -215,13 +214,7 @@
             return null;
         } else {
             String bestCodec = candidateCodecs.firstEntry().getValue();
-            try {
-                return MediaCodec.createByCodecName(bestCodec);
-            } catch (IOException e) {
-                throw new RuntimeException(
-                        "IOException in MediaCodec.createByCodecName for "
-                        + bestCodec, e);
-            }
+            return MediaCodec.createByCodecName(bestCodec);
         }
     }
 
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/GpuVideoTrackDecoder.java b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/GpuVideoTrackDecoder.java
index 546cdfc..bbba9d8 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/GpuVideoTrackDecoder.java
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/src/androidx/media/filterfw/decoder/GpuVideoTrackDecoder.java
@@ -28,7 +28,6 @@
 import androidx.media.filterfw.ImageShader;
 import androidx.media.filterfw.TextureSource;
 
-import java.io.IOException;
 import java.nio.ByteBuffer;
 
 /**
@@ -87,16 +86,9 @@
 
     @Override
     protected MediaCodec initMediaCodec(MediaFormat format) {
-        MediaCodec mediaCodec;
-        try {
-            mediaCodec = MediaCodec.createDecoderByType(
-                    format.getString(MediaFormat.KEY_MIME));
-        } catch (IOException e) {
-            throw new RuntimeException(
-                    "IOException in MediaCodec.createDecoderByType for "
-                    + format.getString(MediaFormat.KEY_MIME), e);
-        }
         Surface surface = new Surface(mSurfaceTexture);
+        MediaCodec mediaCodec = MediaCodec.createDecoderByType(
+                format.getString(MediaFormat.KEY_MIME));
         mediaCodec.configure(format, surface, null, 0);
         surface.release();
         return mediaCodec;