Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ca55fc9 authored by Andy Hung's avatar Andy Hung
Browse files

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

This reverts commit 52d8aa79.

Change-Id: Ic706e0fb469931664499d00fa3a221726b258673
parent 52d8aa79
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -12597,9 +12597,9 @@ package android.media {
  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);
+6 −27
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.media.MediaFormat;
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 @@ import java.util.Map;
 *
 * 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 @@ import java.util.Map;
 * 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 @@ final public class MediaCodec {
     * </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 @@ final public class MediaCodec {
     * 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 */);
    }
+1 −7
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.view.Surface;
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 @@ public class DisplaySinkService extends Service implements SurfaceHolder.Callbac
            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.configure(format, mSurface, null, 0);
                mCodec.start();
                mCodecBufferInfo = new BufferInfo();
+2 −8
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.os.Message;
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 @@ public class DisplaySourceService extends Service {
            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();
+2 −9
Original line number Diff line number Diff line
@@ -59,15 +59,8 @@ public class AudioTrackDecoder extends TrackDecoder {

    @Override
    protected MediaCodec initMediaCodec(MediaFormat format) {
        MediaCodec mediaCodec;
        try {
            mediaCodec = MediaCodec.createDecoderByType(
        MediaCodec 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.configure(format, null, null, 0);
        return mediaCodec;
    }
Loading