Note that there are some explanatory texts on larger screens.

plurals
  1. POIllegalStateException at MediaCodec.dequeInputBuffer / dequeOutputBuffer
    primarykey
    data
    text
    <p>I am trying to convert a PNG file to a one slice video clip, so to just to make a start-up over a project.</p> <p>What I had code to make it happen is :-</p> <pre><code>private boolean MediaConversion() { MediaCodec codec = MediaCodec.createEncoderByType(MIMETYPE); MediaFormat mediaFormat = null; if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)){ mediaFormat = MediaFormat.createVideoFormat(MIMETYPE, 1280 , 720); } else { mediaFormat = MediaFormat.createVideoFormat(MIMETYPE, 720, 480); } mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 700000); mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 10); mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar); mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5); codec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); codec.start(); ByteBuffer[] inputBuffers = codec.getInputBuffers(); ByteBuffer[] outputBuffers = codec.getOutputBuffers(); boolean sawInputEOS = false; int inputBufferIndex= -1, outputBufferIndex= -1; BufferInfo info=null; ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); Bitmap bitmap = null; try { bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.image); Log.e("Uploaded", "Bitmap:" + bitmap.getWidth() + "X" + bitmap.getHeight()); } catch (Exception e) { e.printStackTrace(); } bitmap = Bitmap.createScaledBitmap(bitmap, WIDTH, HEIGHT, false); bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); byte[] dat = byteArrayOutputStream.toByteArray(); info = new BufferInfo(); **// Exception occurred on this below line in Emulator, LINE No. 182//** inputBufferIndex = codec.dequeueInputBuffer(WAITTIME); if(dat.length&lt;=0) sawInputEOS=true; if(inputBufferIndex &gt;= 0){ if(!sawInputEOS){ int samplesiz= dat.length; inputBuffers[inputBufferIndex].put(dat); codec.queueInputBuffer(inputBufferIndex, 0, samplesiz, presentationTime, 0); presentationTime += 100; **// Exception occurred on this below line in DEVICE, LINE No. 193 //** outputBufferIndex = codec.dequeueOutputBuffer(info, WAITTIME); Log.i("BATA", "outputBufferIndex="+outputBufferIndex); if(outputBufferIndex &gt;= 0){ byte[] array = new byte[info.size]; outputBuffers[outputBufferIndex].get(array); if(array != null){ dos = array; } codec.releaseOutputBuffer(outputBufferIndex, false); inputBuffers[inputBufferIndex].clear(); outputBuffers[outputBufferIndex].clear(); } }else{ codec.queueInputBuffer(inputBufferIndex, 0, 0, presentationTime, MediaCodec.BUFFER_FLAG_END_OF_STREAM); outputBufferIndex = codec.dequeueOutputBuffer(info, WAITTIME); Log.i("CHAK", "outputBufferIndex="+outputBufferIndex); if(outputBufferIndex &gt;= 0){ byte[] array = new byte[info.size]; outputBuffers[outputBufferIndex].get(array); if(array != null){ dos = array; } codec.releaseOutputBuffer(outputBufferIndex, false); inputBuffers[inputBufferIndex].clear(); outputBuffers[outputBufferIndex].clear(); } } } codec.stop(); codec.release(); codec = null; return true; } </code></pre> <p>And here is the Exception Log:-</p> <p>When tried to run over Emulator Api Level 19:</p> <pre><code>12-02 23:58:58.214: E/SoftAVCEncoder(1193): internalSetParameter: StoreMetadataInBuffersParams.nPortIndex not zero! 12-02 23:58:58.214: E/OMXNodeInstance(1193): OMX_SetParameter() failed for StoreMetaDataInBuffers: 0x80001001 12-02 23:58:58.224: E/ACodec(1193): [OMX.google.h264.encoder] storeMetaDataInBuffers (output) failed w/ err -2147483648 12-02 23:58:58.224: I/ACodec(1193): setupVideoEncoder succeeded 12-02 23:58:58.254: E/SoftAVCEncoder(1193): Failed to initialize the encoder: -8 12-02 23:58:58.254: E/ACodec(1193): [OMX.google.h264.encoder] ERROR(0x80001001) 12-02 23:58:58.254: E/MediaCodec(1193): Codec reported an error. (omx error 0x80001001, internalError -2147483648) 12-02 23:59:00.424: E/AndroidRuntime(1193): FATAL EXCEPTION: main 12-02 23:59:00.424: E/AndroidRuntime(1193): Process: com.antech.kefilm, PID: 1193 12-02 23:59:00.424: E/AndroidRuntime(1193): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.antech.kefilm/com.antech.kefilm.NewClass}: java.lang.IllegalStateException 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread.access$700(ActivityThread.java:135) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.os.Handler.dispatchMessage(Handler.java:102) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.os.Looper.loop(Looper.java:137) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread.main(ActivityThread.java:4998) 12-02 23:59:00.424: E/AndroidRuntime(1193): at java.lang.reflect.Method.invokeNative(Native Method) 12-02 23:59:00.424: E/AndroidRuntime(1193): at java.lang.reflect.Method.invoke(Method.java:515) 12-02 23:59:00.424: E/AndroidRuntime(1193): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 12-02 23:59:00.424: E/AndroidRuntime(1193): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 12-02 23:59:00.424: E/AndroidRuntime(1193): at dalvik.system.NativeStart.main(Native Method) 12-02 23:59:00.424: E/AndroidRuntime(1193): Caused by: java.lang.IllegalStateException 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.media.MediaCodec.dequeueInputBuffer(Native Method) 12-02 23:59:00.424: E/AndroidRuntime(1193): at com.antech.kefilm.NewClass.MediaConversion(NewClass.java:182) 12-02 23:59:00.424: E/AndroidRuntime(1193): at com.antech.kefilm.NewClass.onCreate(NewClass.java:83) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.Activity.performCreate(Activity.java:5243) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 12-02 23:59:00.424: E/AndroidRuntime(1193): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140) 12-02 23:59:00.424: E/AndroidRuntime(1193): ... 11 more </code></pre> <p>But, when run over Galaxy Tab 3 (device):</p> <pre><code>12-03 05:32:09.670: E/ACodec(3096): [OMX.MARVELL.VIDEO.HW.CODA7542ENCODER] ERROR(0x80001005) 12-03 05:32:09.670: E/MediaCodec(3096): Codec reported an error. (omx error 0x80001005, internalError -2147483648) 12-03 05:32:09.670: E/AndroidRuntime(3096): Caused by: java.lang.IllegalStateException 12-03 05:32:09.670: E/AndroidRuntime(3096): at android.media.MediaCodec.dequeueOutputBuffer(Native Method) 12-03 05:32:09.670: E/AndroidRuntime(3096): at com.antech.kefilm.NewClass.MediaConversion(NewClass.java:193) 12-03 05:32:09.670: E/AndroidRuntime(3096): at com.antech.kefilm.NewClass.onCreate(NewClass.java:83) </code></pre> <p>References, to according which I started this project:-</p> <ul> <li>Ques: <a href="https://stackoverflow.com/questions/18795353/using-mediacodec-to-save-series-of-images-as-video">Using MediaCodec to save series of images as Video</a></li> <li>Stuff: <a href="http://bigflake.com/mediacodec/" rel="nofollow noreferrer">Android MediaCodec Stuff</a></li> </ul> <p>Thanks in advance.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload