AnsweredAssumed Answered

audio/video play failed with gstreamer-1.0

Question asked by lingxin kong on Feb 13, 2015

Hi, all



  I have tested audio/video playback using gstreamer-1.0 plugins with weston image, bsp version is 3.10.53_ga. But audio/video play failed.


  platform:MCIMX6Q-SDP

 

 

    Steps:

    1) setup build env and modify local.conf.

        

MACHINE=imx6qsabresd source fsl-setup-release.sh b build-imx6qsabresd-wayland-sfp -e wayland



local.conf:

+DEFAULTTUNE_mx6 = "cortexa9-neon"
+DISTRO_FEATURES_remove = "x11 directfb "
+IMAGE_INSTALL_append = " gstreamer1.0 gst1.0-fsl-plugin libfslcodec libfslparser libfslvpuwrap gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-imx packagegroup-fsl-gstreamer1.0 "

 

     2)build image:

         bitbake core-image-weston

 

    3)deploy image to sdcard and test audio/video playback.

 

    result:

    video playback:failed.     audio playback: no sound output.

 

     video playback log:

    sh-4.3# GST_DEBUG=*:3 gst-launch-1.0 playbin uri=file:///004-ng-bind_.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

====== AIUR: 4.0.2 build on Feb 5 2015 18:11:19. ======
Core: MPEG4PARSER_06.09.08 build on Nov 25 2014 11:46:26
file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2
0:00:00.118049334 844 0x76546000 ERROR aiurdemux aiurdemux.c:1165:aiurdemux_loop_state_init:<aiurdemux0> Failed to create fsl parser! ret=-1
0:00:00.118234667 844 0x76546000 WARN aiurdemux aiurdemux.c:991:aiurdemux_pull_task: pausing task, reason error
0:00:00.118343000 844 0x76546000 WARN aiurdemux aiurdemux.c:998:aiurdemux_pull_task:<aiurdemux0> error: streaming stopped, reason error, state 1
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstAiurDemux:aiurdemux0: GStreamer encountered a general stream error.
Additional debug info:
aiurdemux.c(998): aiurdemux_pull_task (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstAiurDemux:aiurdemux0:
streaming stopped, reason error, state 1
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
  

  

audio playback log: 

sh-4.3# GST_DEBUG=*:3 gst-launch-1.0 playbin uri=file:///2.mp3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.235737333 848 0x76626260 WARN pulse pulsesink.c:591:gst_pulseringbuffer_open_device:<pulsesink0> error: Failed to connect: Connection refused
0:00:00.236397667 848 0x76626260 WARN playbin gstplaybin2.c:4546:autoplug_select_cb:<playbin0> Could not activate sink pulsesink
0:00:00.456988333 848 0x76626260 WARN alsa /home/klx/work/fsl-imx6/bsp/fsl-arm-offical/build-imx6qsabresd-wayland-sfp/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/alsa-lib/1.0.27.2-r0/alsa-lib-1.0.27.2/src/conf.c:4694:snd_config_expand: alsalib error: Unknown parameters {AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:00.457230000 848 0x76626260 WARN alsa /home/klx/work/fsl-imx6/bsp/fsl-arm-offical/build-imx6qsabresd-wayland-sfp/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/alsa-lib/1.0.27.2-r0/alsa-lib-1.0.27.2/src/pcm/pcm.c:2239:snd_pcm_open_noupdate: alsalib error: Unknown PCM default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:00.465039667 848 0x76626260 WARN pulse pulsesink.c:591:gst_pulseringbuffer_open_device:<pulsesink1> error: Failed to connect: Connection refused
0:00:00.465955333 848 0x76626260 WARN playbin gstplaybin2.c:4401:autoplug_select_cb:<playbin0> Could not activate sink pulsesink
0:00:00.487158333 848 0x76626260 WARN alsa /home/klx/work/fsl-imx6/bsp/fsl-arm-offical/build-imx6qsabresd-wayland-sfp/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/alsa-lib/1.0.27.2-r0/alsa-lib-1.0.27.2/src/conf.c:4694:snd_config_expand: alsalib error: Unknown parameters {AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
0:00:00.487441333 848 0x76626260 WARN alsa /home/klx/work/fsl-imx6/bsp/fsl-arm-offical/build-imx6qsabresd-wayland-sfp/tmp/work/cortexa9-vfp-neon-poky-linux-gnueabi/alsa-lib/1.0.27.2-r0/alsa-lib-1.0.27.2/src/pcm/pcm.c:2239:snd_pcm_open_noupdate: alsalib error: Unknown PCM default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}

====== BEEP: 4.0.2 build on Feb 5 2015 18:11:39. ======
Core: MP3 decoder Wrapper build on Mar 21 2014 15:04:50
file: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm12_elinux.so.3
CODEC: BLN_MAD-MMCODECS_MP3D_ARM_02.13.00_CORTEX-A8 build on Apr 10 2014 15:26:15.
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:20.665510669
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...



I tested this using different gst cmd line also:


   mp4 playback:

# GST_DEBUG=*:3 =/004-ng-bind_.mp4 typefind=true ! video/quicktime ! aiurdem
====== IMXV4L2SINK: 4.0.2 build on Feb 5 2015 18:11:52. ======
Setting pipeline to PAUSED ...
[INFO] Product Info: i.MX6Q/D/S
====== VPUDEC: 4.0.2 build on Feb 5 2015 18:12:38. ======
wrapper: 1.0.57 (VPUWRAPPER_ARM_LINUX Build on Feb 5 2015 17:50:32)
vpulib: 5.4.27
firmware: 3.1.1.46061
Pipeline is PREROLLING ...

====== AIUR: 4.0.2 build on Feb 5 2015 18:11:19. ======
Core: MPEG4PARSER_06.09.08 build on Nov 25 2014 11:46:26
file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2
0:00:00.096874667 848 0xdac400 ERROR aiurdemux aiurdemux.c:1165:aiurdemux_loop_state_init:<aiurdemux0> Failed to create fsl parser! ret=-1
0:00:00.097077333 848 0xdac400 WARN aiurdemux aiurdemux.c:991:aiurdemux_pull_task: pausing task, reason error

0:00:00.097210333 848 0xdac400 WARN aiurdemux aiurdemux.c:998:aiurdemux_pull_task:<aiurdemux0> error: streaming stopped, reason error, state 1
ERROR: from element /GstPipeline:pipeline0/GstAiurDemux:aiurdemux0: GStreamer encountered a general stream error.
Additional debug info:
aiurdemux.c(998): aiurdemux_pull_task (): /GstPipeline:pipeline0/GstAiurDemux:aiurdemux0:
streaming stopped, reason error, state 1
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

 

mp3 playback with alsasink:

sh-4.3# GST_DEBUG=*:3 gst-launch-1.0 filesrc location=/2.mp3 ! id3demux ! queue msinkudioparse ! beepdec ! alsasink 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.708280001 823 0x1d21fb0 WARN tagdemux gsttagdemux.c:1465:gst_tag_demux_element_loop:<id3demux0> error: Stream stopped, reason not-linked
ERROR: from element /GstPipeline:pipeline0/GstID3Demux:id3demux0: GStreamer encountered a general stream error.
Additional debug info:
gsttagdemux.c(1465): gst_tag_demux_element_loop (): /GstPipeline:pipeline0/GstID3Demux:id3demux0:
Stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

 

 

   mp3 playback with pulsesink:

sh-4.3# GST_DEBUG=*:3 gst-launch-1.0 filesrc location=/2.mp3 ! id3demux ! queue esinkudioparse ! beepdec ! puls
Setting pipeline to PAUSED ...
0:00:00.182555667 860 0x19c73c0 WARN pulse pulsesink.c:591:gst_pulseringbuffer_open_device:<pulsesink0> error: Failed to connect: Connection refused
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0: Failed to connect: Connection refused
Additional debug info:
pulsesink.c(591): gst_pulseringbuffer_open_device (): /GstPipeline:pipeline0/GstPulseSink:pulsesink0
Setting pipeline to NULL ...
Freeing pipeline ...

Outcomes