Modified Android tutorial 5 on rk3229 cannot play HLS, a general supporting library error.

Nicolas Dufresne nicolas at ndufresne.ca
Sat Oct 12 02:31:01 UTC 2019


Le vendredi 11 octobre 2019 à 21:41 +0800, Sirius Wu a écrit :
> HI,
> 
> after further examination, I'd like to solve the AAC problem first. From the logs there are four errors/warnings with AAC,
> 
> 1. gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000005
>     0:00:00.653634917 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x0000001d
>     0:00:00.653776667 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000017
>     0:00:00.653877583 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000027
> 2. E/MediaCodec: getBufferAndFormat - not executing
> 3. <amcaudiodec-omxgoogleaacdecoder0> error: 
> Failed to call Java method: java.lang.IllegalStateException
>     java.lang.IllegalStateException
>         at android.media.MediaCodec.getBuffer(Native Method)
>         at android.media.MediaCodec.getInputBuffer(MediaCodec.java:2992)
> 4. E/ACodec: [OMX.rk.video_decoder.avc] storeMetaDataInBuffers failed w/ err -1010
> 
> Maybe they are all from the same error.
> 
> In order to find a solution to this problem, I'd like to build my
> version of gstramer binaries android Universal。How can I do it? the
> master branch says it requires Android API level >= 28. But the
> rk3229 board runs API 25. Should I use the old Anroid Universal
> 1.14.4. How can I build an Android Universal 1.14.4? or because I
> only need a version for armv7, can I build one only for armv7?

Building for single arch is supported, that's what I used when I was
doing Android development. About the API level being bumped, well, I
guess if your version of Android is really old, you may not be able to
use newer GStreamer. It may also just not work at all, it's hard to
support all possible API level, specially when they break their API or
ABI.

> 
> Nicolas Dufresne <nicolas at ndufresne.ca> 於 2019年10月11日 週五 下午7:55寫道:
> > 
> > Le ven. 11 oct. 2019 01 h 11, 吳政昌 <ccwu660601 at gmail.com> a écrit :
> > > Hi,
> > > 
> > > I've modified the android tutorial 5. What I modified is changing the movie to an HLS link and adding plugins specified by GSTREAMER_PLUGINS_CODECS_RESTRICTED.
> > > 
> > > The modified tutorial encountered a general supporting library error. 
> > > 
> > > From the logs below, I found androidmedia cannot map some AAC profiles, but still is initialized successfully. So I think its no problem.
> > 
> > It's a problem if that prevents software fallback.
> > 
> > > There is a internal error storeMetaDataInBuffers failed,but on stackoverflow someone said this is harmless.
> > > 
> > > There is another error from libEGL saying validate_display:99 error 3008 (EGL_BAD_DISPLAY)。And another one saying  called unimplemented OpenGL ES API。
> > 
> > That would need some investigation, aka finding which GLES API isn't implemented on your Mali blob. Looks like the Mali saga continues ...
> > 
> > > How can I decide the reason for the general supporting library error?
> > > 
> > > -- Logs start here.
> > > 
> > > Connected to process 20951 on device 'rockchip-k10c-H201906110844'.
> > > Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
> > > I/art: Late-enabling -Xcheck:jni
> > > I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
> > > I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
> > > E/GStreamer+amc: 0:00:00.653369500 0x99abe8e0 ../sys/androidmedia/
> > > gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000005
> > >     0:00:00.653634917 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x0000001d
> > >     0:00:00.653776667 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000017
> > >     0:00:00.653877583 0x99abe8e0 ../sys/androidmedia/gstamc.c:3508:gst_amc_codec_info_to_caps Unable to map AAC profile 0x00000027
> > > I/GStreamer: GStreamer initialization complete
> > > D/lvjinhua:  Failed while trying resolve alarm filter file, not exists
> > > I/GStreamer: Activity created with no saved state:
> > >       playing:false position:0 duration: 0 uri: https://indonesia-out.oss-ap-southeast-1.aliyuncs.com/indonesia_video_out/20190919/videoHlsHd/video.m3u8
> > > D/GStreamer+tutorial-5: 0:00:03.696905626 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:482:gst_native_init Created CustomData at 0x99276b80
> > >     0:00:03.697111835 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:484:gst_native_init Created GlobalRef for app object at 0x10084e
> > > D/GStreamer+tutorial-5: 0:00:03.697472335 0x99693c00 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:396:app_function Creating pipeline in CustomData at 0x99276b80
> > > D/GStreamer+tutorial-5: 0:00:03.700560210 0x99693c00 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:449:app_function Entering main loop... (CustomData:0x99276b80)
> > >     0:00:03.700755335 0x99693c00 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:75:attach_current_thread Attaching thread 0x99693c00
> > > D/GStreamer+tutorial-5: 0:00:03.702067835 0x99693c00 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:115:set_ui_message Setting message to: State changed to READY
> > > I/[Gralloc]:  ion device open success! fd = 46
> > > I/GStreamer: onMeasure called with 320x240
> > > I/mali_so: [File] : hardware/rockchip/driver/./src/base/arch/arch_011_udd/base_arch_main.c; [Line] : 565; [Func] : deal_with_version_affairs_rk_ext;
> > >     arm_release_ver of this mali_so is 'r7p0-00rel1', rk_so_ver is '4 at 0' for 312x_android_7.1, built at '09:49:26', on 'Aug 18 2017'.
> > >     [File] : hardware/rockchip/driver/./src/base/arch/arch_011_udd/base_arch_main.c; [Line] : 578; [Func] : deal_with_version_affairs_rk_ext;
> > >     mali_ver_property has been set to 'r7p0-00rel1-5-4 at 0', to return.
> > > I/GStreamer: onMeasure called with 320x240
> > > I/OpenGLRenderer: Initialized EGL, version 1.4
> > > D/OpenGLRenderer: Swap behavior 1
> > > D/GStreamer: Surface created: Surface(name=null)/@0x992c82d
> > >     Surface changed to format 4 width 577 height 433
> > > D/GStreamer+tutorial-5: 0:00:03.821582918 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:607:gst_native_surface_init Received surface 0xbe9883b0 (native window 0x991b3808)
> > >     0:00:03.821784168 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:75:attach_current_thread Attaching thread 0x99abe8e0
> > >     0:00:03.821885668 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:369:check_initialization_complete Initialization complete, notifying application. native_window:0x991b3808 main_loop:0x9938ae10
> > > I/GStreamer: GStreamer initialized:
> > >       playing:false position:0 uri: https://indonesia-out.oss-ap-southeast-1.aliyuncs.com/indonesia_video_out/20190919/videoHlsHd/video.m3u8
> > > D/GStreamer+tutorial-5: 0:00:03.822406001 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:515:gst_native_set_uri Setting URI to https://indonesia-out.oss-ap-southeast-1.aliyuncs.com/indonesia_video_out/20190919/videoHlsHd/video.m3u8
> > >     0:00:03.823171043 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:566:gst_native_set_position Scheduling seek to 0:00:00.000000000 for later
> > > D/GStreamer+tutorial-5: 0:00:03.823424501 0x99abe8e0 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:547:gst_native_pause Setting state to PAUSED
> > > W/libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
> > > I/MediaCodec: callingProcessName:org.freedesktop.gstreamer.tutorials.tutorial_5
> > > I/OMXClient: MuxOMX ctor
> > > I/ACodec: onAllocateComponent:6728 mSoftCodecPref:0 componentName:OMX.google.aac.decoder
> > >     onAllocateComponent:6759 mSoftCodecPref:0 componentName:OMX.google.aac.decoder
> > > E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
> > > W/GStreamer+glcontext: 0:00:05.144984544 0x976b0030 ../gst-libs/gst/gl/egl/gstglcontext_egl.c:325:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
> > >     0:00:05.145724210 0x976b0030 ../gst-libs/gst/gl/egl/gstglcontext_egl.c:325:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
> > > E/libEGL: called unimplemented OpenGL ES API
> > > I/MediaCodec: callingProcessName:org.freedesktop.gstreamer.tutorials.tutorial_5
> > > I/OMXClient: MuxOMX ctor
> > > I/ACodec: onAllocateComponent:6728 mSoftCodecPref:0 componentName:OMX.rk.video_decoder.avc
> > > I/ACodec: onAllocateComponent:6759 mSoftCodecPref:0 componentName:OMX.rk.video_decoder.avc
> > > E/ACodec: [OMX.google.aac.decoder] ERROR(0x80001001)
> > >     signalError(omxError 0x80001001, internalError -2147483648)
> > > E/MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 6
> > > E/MediaCodec: getBufferAndFormat - not executing
> > > I/MediaCodec: [OMX.rk.video_decoder.avc] setting surface generation to 21453825
> > > W/GStreamer+amcaudiodec: 0:00:05.264748127 0x976b2ac0 ../sys/androidmedia/gstamcaudiodec.c:1218:gst_amc_audio_dec_handle_frame:<amcaudiodec-omxgoogleaacdecoder0> error: 
> > > Failed to call Java method: java.lang.IllegalStateException
> > >     java.lang.IllegalStateException
> > >         at android.media.MediaCodec.getBuffer(Native Method)
> > >         at android.media.MediaCodec.getInputBuffer(MediaCodec.java:2992)
> > > E/ACodec: [OMX.rk.video_decoder.avc] storeMetaDataInBuffers failed w/ err -1010
> > > D/GStreamer+tutorial-5: 0:00:05.265847711 0x99693c00 /media/ccwu/e7458cf5-858e-4184-afc4-73301087e303/home/alvin/mapacode/git/gst-docs/examples/tutorials/android/android-tutorial-5/jni/tutorial-5.c:115:set_ui_message Setting message to: Error received from element amcaudiodec-omxgoogleaacdecoder0: GStreamer encountered a general supporting library error.
> > > 
> > > -- 
> > > 吳政昌 Sirius Wu
> > > 
> > > +886927161530
> > > +88662970665
> > > Mapacode Inc.
> > > 7F.-1, No.159, Jianping 17th St., Anping Dist., Tainan City 708, Taiwan (R.O.C.)
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > 
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list