1

I am getting following error

02-13 15:22:23.807: E/ACodec(8137): [OMX.qcom.video.decoder.avc] storeMetaDataInBuffers failed w/ err -2147483648
02-13 15:22:23.808: W/ACodec(8137): do not know color format 0x7fa30c03 = 2141391875 .

in implementing http://bigflake.com/mediacodec/ExtractMpegFramesTest_egl14.java.txt
complete log :

02-13 16:51:14.275: D/ExtractMpegFramesTest(11294):testExtractMpegFrames
02-13 16:51:14.337: D/ExtractMpegFramesTest(11294): Extractor selected track 0 (video/avc): {height=640, width=640, csd-1=java.nio.ByteArrayBuffer[position=0,limit=8,capacity=8], max-input-size=97334, mime=video/avc, durationUs=13940988, csd-0=java.nio.ByteArrayBuffer[position=0,limit=17,capacity=17]}
02-13 16:51:14.338: D/ExtractMpegFramesTest(11294): Video size is 640x640
02-13 16:51:14.339: I/Adreno-EGL(11294): <qeglDrvAPI_eglInitialize:410>: QUALCOMM Build: 10/28/14, c33033c, Ia6306ec328
02-13 16:51:14.370: D/ExtractMpegFramesTest(11294): textureID=1
02-13 16:51:14.375: I/OMXClient(11294): Using client-side OMX mux.
02-13 16:51:14.405: E/ACodec(11294): [OMX.qcom.video.decoder.avc] storeMetaDataInBuffers failed w/ err -2147483648
02-13 16:51:14.407: W/ACodec(11294): do not know color format 0x7fa30c03 = 2141391875
02-13 16:51:14.471: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.482: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.492: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.492: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.503: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.513: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.513: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.524: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.534: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.534: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.544: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.555: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.555: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.566: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.576: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.576: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.586: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.597: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.597: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.607: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.617: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.617: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.620: D/ExtractMpegFramesTest(11294): submitted frame 0 to dec, size=25
02-13 16:51:14.630: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.630: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.632: D/ExtractMpegFramesTest(11294): submitted frame 1 to dec, size=4605
02-13 16:51:14.642: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.642: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.643: D/ExtractMpegFramesTest(11294): submitted frame 2 to dec, size=2771
02-13 16:51:14.654: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.654: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.655: D/ExtractMpegFramesTest(11294): submitted frame 3 to dec, size=4670
02-13 16:51:14.665: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.666: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.666: D/ExtractMpegFramesTest(11294): submitted frame 4 to dec, size=8319
02-13 16:51:14.677: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.677: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.677: D/ExtractMpegFramesTest(11294): submitted frame 5 to dec, size=12703
02-13 16:51:14.689: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.689: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.702: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.714: D/ExtractMpegFramesTest(11294): no output from decoder available
02-13 16:51:14.714: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.731: D/ExtractMpegFramesTest(11294): input buffer not available
02-13 16:51:14.732: D/ExtractMpegFramesTest(11294): decoder output buffers changed
02-13 16:51:14.732: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.734: D/ExtractMpegFramesTest(11294): submitted frame 6 to dec, size=18290
02-13 16:51:14.742: W/ACodec(11294): do not know color format 0x7fa30c03 = 2141391875
02-13 16:51:14.745: D/ExtractMpegFramesTest(11294): decoder output format changed: {mime=video/raw, crop-top=0, crop-right=639, slice-height=640, color-format=2141391875, height=640, width=640, what=1869968451, crop-bottom=639, crop-left=0, stride=640}
02-13 16:51:14.745: D/ExtractMpegFramesTest(11294): loop
02-13 16:51:14.748: D/ExtractMpegFramesTest(11294): submitted frame 7 to dec, size=13304
02-13 16:51:14.753: D/ExtractMpegFramesTest(11294): surface decoder given buffer 0 (size=614400)
02-13 16:51:14.753: D/ExtractMpegFramesTest(11294): awaiting decode of frame 0
02-13 16:51:17.256: D/Gulshan(11294): java.lang.RuntimeException: frame wait timed out
02-13 16:51:17.256: W/System.err(11294): java.lang.RuntimeException: frame wait timed out
02-13 16:51:17.257: W/System.err(11294):    at com.example.cameratomp4.ExtractMpegFramesTest$CodecOutputSurface.awaitNewImage(ExtractMpegFramesTest.java:491)
02-13 16:51:17.257: W/System.err(11294):    at com.example.cameratomp4.ExtractMpegFramesTest.doExtract(ExtractMpegFramesTest.java:282)
02-13 16:51:17.258: W/System.err(11294):    at com.example.cameratomp4.ExtractMpegFramesTest.extractMpegFrames(ExtractMpegFramesTest.java:160)
02-13 16:51:17.258: W/System.err(11294):    at com.example.cameratomp4.ExtractMpegFramesTest.access$0(ExtractMpegFramesTest.java:120)
02-13 16:51:17.258: W/System.err(11294):    at com.example.cameratomp4.ExtractMpegFramesTest$ExtractMpegFramesWrapper.run(ExtractMpegFramesTest.java:94)
02-13 16:51:17.258: W/System.err(11294):    at java.lang.Thread.run(Thread.java:818)
02-13 16:51:17.305: D/OpenGLRenderer(11294): Render dirty regions requested: true
02-13 16:51:17.320: D/Atlas(11294): Validating map...
02-13 16:51:17.328: D/ExtractMpegFramesTest(11294): new frame available
02-13 16:51:17.357: I/OpenGLRenderer(11294): Initialized EGL, version 1.4
02-13 16:51:17.361: D/OpenGLRenderer(11294): Enabling debug mode 0
02-13 16:52:35.984: E/BufferQueueProducer(11294): [unnamed-11294-0] cancelBuffer: BufferQueue has been abandoned
02-13 16:52:35.988: E/BufferQueueProducer(11294): [unnamed-11294-0] cancelBuffer: BufferQueue has been abandoned
02-13 16:52:35.988: E/BufferQueueProducer(11294): [unnamed-11294-0] cancelBuffer: BufferQueue has been abandoned

I think there is some issue with media format. I tried to add some color format to mediaformat but nothing solved problem why storeMetaDatainBuffer fails ?

genpfault
  • 51,148
  • 11
  • 85
  • 139
Gulshan Mishra
  • 106
  • 1
  • 11
  • Please post the code relevant to the error. – Prerak Sola Feb 13 '15 at 10:44
  • code in main activityExtractMpegFramesTest mtest = new ExtractMpegFramesTest(); mtest.testExtractMpegFrames(); – Gulshan Mishra Feb 13 '15 at 12:19
  • ExtractMpegFramesTest class is in the link. I gets same error when i try to implement any mediacodec class . I basically want to select a video from file decode that render each frame (Edit) and encode it back to .mp4 video. My video size is around 100mb/100 seconds. – Gulshan Mishra Feb 13 '15 at 12:32

1 Answers1

2

The message about the color format is coming from describeDefaultColorFormat() in ACodec.cpp . 0x7fa30c03 is the Qualcomm-proprietary OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, so I believe this message is expected, and is just a warning.

Your log shows that your app begins processing data, then stalls and throws an exception when it times out. This is most likely due to an issue with the way the threading was set up; in particular, if you did away with ExtractMpegFramesWrapper, you're going to have this problem. There's a stackoverflow Q&A linked from the ExtractMpegFramesTest section of the bigflake page (to this) that provides some background.

The storeMetaDataInBuffers complaint is also a harmless warning; this is noted in Q12 on bigflake.

Community
  • 1
  • 1
fadden
  • 51,356
  • 5
  • 116
  • 166
  • hi fadden i am new to opengl and i am trying to save raw camera frames in file using opengl, can i get all the frames in real time using attatching fbo ( for offscreen rendering), glreadpixels, i tried to render the frame on camera preview (onsreen) ,but camera preview lags , Onpreviewframe gives only 15-20 fps. If it is possible please give me some reference. – Gulshan Mishra Feb 19 '15 at 07:01
  • actually i asked you this as you have given some reference here http://stackoverflow.com/a/10776349/4361210 – Gulshan Mishra Feb 19 '15 at 07:15
  • actually i want to know if we can use pixel buffer object for optimize and for android version 4.3+ any new features if you can mention it will be very helpful. – Gulshan Mishra Feb 19 '15 at 07:42
  • in your grafica project (continiousCaptureActivity) you are saying capturing and storing raw frame is slow is there any way to store raw frames (in real time). – Gulshan Mishra Feb 19 '15 at 08:32
  • http://stackoverflow.com/a/22509057/4361210 as mentioned in this. – Gulshan Mishra Feb 19 '15 at 10:09
  • if you could provide Pixel Buffer Object implementation in android it will be very helpful – Gulshan Mishra Feb 19 '15 at 11:54
  • I don't have any PBO sample code. On most devices the slow part is saving the frame once you have it (PNG or JPEG compression + file I/O), not the `glReadPixels()` call; see the notes in the http://bigflake.com/mediacodec/#ExtractMpegFramesTest web page. Even with moderate frame sizes and frame rates you need to use the MPEG encoder to compress and store frames in real time. – fadden Feb 19 '15 at 16:16
  • i am not compressing frames i am directly saving it to file using file channel. – Gulshan Mishra Feb 20 '15 at 06:25
  • Is this issue resolved? I am also getting the same error. plz reply – Udit Kumawat May 16 '15 at 14:49