AnsweredAssumed Answered

Failed to play mp4 clip using gstreamer using waylandsink

Question asked by JeHun Kim on Mar 4, 2016
Latest reply on Mar 9, 2016 by JeHun Kim

I'm trying to play an mp4 video back using gstreamer on the wayland backend

but I'm having trouble with playing mp4 video clip.

 

My environment is like this.

board : i.mx6q sabreauto

branch : imx-3.14.38-6QP_ga

image : bitbake fsl-image-gui

graphic backend : wayland backend

 

 

command

$export GSTL=gst-launch-1.0

$export PLAYBIN=playbin

$export GPLAY=gplay-1.0

$export GSTINSPECT=gst-inspect-1.0

$GSTL -v filesrc location=clip.mp4 typefind=true ! video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! waylandsink

 

The error message is like this.

[INFO]  Product Info: i.MX6Q/D/S

====== VPUDEC: 4.0.7 build on Mar  4 2016 19:06:40. ======

    wrapper: 1.0.61 (VPUWRAPPER_ARM_LINUX Build on Feb 18 2016 11:53:25)

    vpulib: 5.4.31

    firmware: 3.1.1.46070

Pipeline is PREROLLING ...

Got context from element 'waylandsink0': GstWaylandDisplayHandleContextType=context, handle=(gpointer)NULL;

 

 

====== AIUR: 4.0.7 build on Mar  4 2016 19:06:32. ======

    Core: MPEG4PARSER_06.09.16  build on Jun 29 2015 05:17:33

file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2

------------------------

    Track 00 [video_0] Enabled

    Duration: 0:00:30.000000000

    Language: und

    Mime:

    video/x-h264, parsed=(boolean)true, alignment=(string)au, stream-format=(string)avc, width=(int)1920, height=(int)720, framerate=(fraction)30/1, codec_data=(buffer)0142c00dffe100176742c00df403c02dd80880000003008000001e078a155001000568ce010f20

------------------------

/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = "video/x-h264\,\ parsed\=\(boolean\)true\,\ alignment\=\(string\)au\,\ stream-format\=\(string\)avc\,\ width\=\(int\)1920\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ codec_data\=\(buffer\)0142c00dffe100176742c00df403c02dd80880000003008000001e078a155001000568ce010f20"

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = "video/x-h264\,\ parsed\=\(boolean\)true\,\ alignment\=\(string\)au\,\ stream-format\=\(string\)avc\,\ width\=\(int\)1920\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ codec_data\=\(buffer\)0142c00dffe100176742c00df403c02dd80880000003008000001e078a155001000568ce010f20"

/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-h264\,\ parsed\=\(boolean\)true\,\ alignment\=\(string\)au\,\ stream-format\=\(string\)avc\,\ width\=\(int\)1920\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1\,\ codec_data\=\(buffer\)0142c00dffe100176742c00df403c02dd80880000003008000001e078a155001000568ce010f20"

[INFO]  bitstreamMode 1, chromaInterleave 1, mapType 0, tiled2LinearEnable 0

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)NV12\,\ width\=\(int\)1920\,\ height\=\(int\)720\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)30/1"

ERROR: from element /GstPipeline:pipeline0/GstAiurDemux:aiurdemux0: GStreamer encountered a general stream error.

Additional debug info:

/home/lbox/idc/bsp/build/tmp/work/imx6qsabreauto-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.7-r0/gst1.0-fsl-plugins-4.0.7/plugins/aiurdemux/aiurdemux.c(1007): aiurdemux_pull_task (): /GstPipeline:pipeline0/GstAiurDemux:aiurdemux0:

streaming stopped, reason not-negotiated, state 3

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:src: caps = "NULL"

/GstPipeline:pipeline0/GstVpuDec:vpudec0.GstPad:sink: caps = "NULL"

/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = "NULL"

/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "NULL"

/GstPipeline:pipeline0/GstAiurDemux:aiurdemux0.GstPad:video_0: caps = "NULL"

Freeing pipeline ...

 

but if i run next command

$GSTL -v filesrc location=clip.mp4 typefind=true ! video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! overlaysink

There's no problem. It's working. But the video clip is playing on the fbdev backend not the wayland.

 

Can someone please tell me what I might be doing wrong?

 

Thanks!

Outcomes