Error 0xfffffc03 : android.media.MediaCodec.error_neg_1021 on MediaCodec OMX.sprd.h264.encoder

Viewed 2406

When calling the "configure" method of the mediacodec API, i have this exception :

android.media.MediaCodec$CodecException: Error 0xfffffc03
      at android.media.MediaCodec.native_configure(Native Method)
      at android.media.MediaCodec.configure(MediaCodec.java:577)
      at com.joiedurythme.utils.video.decoder.CutVideoTask.configureEncoder(CutVideoTask.java:231)
      at com.joiedurythme.utils.video.decoder.CutVideoTask.getEncoder(CutVideoTask.java:183)
      at com.joiedurythme.utils.video.decoder.CutVideoTask.prepare(CutVideoTask.java:149)
      at com.joiedurythme.utils.video.decoder.CutVideoTask.run(CutVideoTask.java:95)
      at com.joiedurythme.utils.video.decoder.CodecService.cutVideo(CodecService.java:71)
      at com.joiedurythme.views.player.controller.MediaPlayerController.createMediaFragments(MediaPlayerController.java:562)
      at com.joiedurythme.views.player.controller.MediaPlayerController.createNewFragments(MediaPlayerController.java:726)
      at com.joiedurythme.views.player.controller.MediaPlayerController.cutFragment(MediaPlayerController.java:394)
      at com.joiedurythme.views.player.ActionAreaIndexPlayer$1.onMenuItemClick(ActionAreaIndexPlayer.java:92)
      at android.widget.PopupMenu.onMenuItemSelected(PopupMenu.java:228)
      at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:801)
      at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:155)
      at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:954)
      at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:944)
      at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:411)
      at android.widget.AdapterView.performItemClick(AdapterView.java:340)
      at android.widget.AbsListView.performItemClick(AbsListView.java:1532)
      at android.widget.AbsListView$PerformClick.run(AbsListView.java:3700)
      at android.widget.AbsListView$3.run(AbsListView.java:5684)
      at android.os.Handler.handleCallback(Handler.java:739)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:145)
      at android.app.ActivityThread.main(ActivityThread.java:6934)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:372)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

This Exception is a CodecException with this informations :

I/buffers:  Erreur android.media.MediaCodec$CodecException: Error 0xfffffc03
I/CodecException:  e DiagnosticInfo android.media.MediaCodec.error_neg_1021
I/CodecException:  e Recoverable false
I/CodecException:  e Transient   false

I don't know what android.media.MediaCodec.error_neg_1021 means.

The Code that calls the configure method is :

public MediaCodec configureEncoder(MediaFormat inputMediaFormat) throws IOException {
    final MediaCodec mediaCodecEncoder = MediaCodec.createEncoderByType(MIMETYPE_VIDEO_AVC);

    Log.i("buffers" , " encoder "+mediaCodecEncoder.getName());
    //final MediaCodec mediaCodecEncoder = MediaCodec.createByCodecName("OMX.qcom.video.encoder.avc");
    MediaFormat mediaFormatMp4a = getMediaFormat(inputMediaFormat);
    Log.i("buffers","encode : "+mediaCodecEncoder.getName() );
    Log.i("buffers","dstBuffer : "+mediaFormatMp4a.toString() );
    mediaCodecEncoder.reset();
    mediaCodecEncoder.configure(mediaFormatMp4a, null, null, CONFIGURE_FLAG_ENCODE);
    return mediaCodecEncoder;
}

The mediaFormatMp4a informations is below

mediaFormatMp4a{height=1280, width=720, bitrate=600000, mime=video/avc, frame-rate=30, i-frame-interval=1, color-format=19}

The codec name is OMX.sprd.h264.encoder.

The android leve API is 22 and my phone is a Samsung Galaxy J3 (2016)

0 Answers
Related