parsing matroska file with gstreame on imx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

parsing matroska file with gstreame on imx6

1,752 Views
ieio
Contributor IV

Hi.

I need to play  matroska files and it seems that there is a seeking issue with freescale gstreamer for imx6.

Command used is:gst-launch  playbin2 uri=file:///test.mkv

As far as I understood Freescale gstreamer uses  lib_mkv_parser_arm11_elinux.so.3.1, instead of the one coming with gstreamer.

Here is the output I get:

Core: MKVPARSER_01.04.02  build on Mar  1 2013 14:38:20

  mime: video/x-matroska ; video/webm

  file: /usr/lib/imx-mm/parser/lib_mkv_parser_arm11_elinux.so.3.1

Content Info:

        URI:

              file:///test.mkv

        Idx File:

              /root/.aiur/.test.aidx

        Seekable  : Yes

        Size(byte): 1351578

Movie Info:

        Seekable  : Yes

        Live      : No

        Duration  : 0:01:03.563000000

        ReadMode  : Track

        Track     : 1

Track 00 [video_000000] Enabled

        Duration: 0:00:27.956000000

        Language: eng

        Mime:

              video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(in

              t)480, framerate=(fraction)30/1, codec_data=(buffer)000001b003000001b2464d5f5047

              204d6f6465000001b509000001000000012000c48881f4514043c1463f

The problem is that it takes around 40 second before displaying the content.

The same command on my Ubuntu machine works correctly displaying immediately the content.

I suspect the problem could be that the Movie Duration  is more than Track 00 Duration, and the parser is not able to jump to the content as the one that runs on Ubuntu.

How can I fix it?

Labels (3)
0 Kudos
6 Replies

898 Views
LeonardoSandova
Specialist I

What do you mean by movie > track_0 durations? You mean track 1? Movie duration should be always >= first track, right?

Leo

0 Kudos

898 Views
ieio
Contributor IV

If I well understand the logs, the movie is made of 1 track that is track 00.

Now the movie is 1:03 sec while track 00, the only track in the movie, is 27.95 second; anyway if I try to play this clip in Totem, or playbin2 on my ubuntu machine it jump immediately to the 27.95 second content.

Moreover if I use  AVI container I have no problems.

i.

0 Kudos

898 Views
LeonardoSandova
Specialist I

Strange. So the AVI container works fine on the target? Does the matroska playback produce any errors/warnigns? (--gst-debug=*:2).

Leo

0 Kudos

898 Views
ieio
Contributor IV

Yes AVI works fine on the target.

here is the log of matroska playback with --gst-debug=*:2

<h --gst-debug=*:2  playbin2 uri=file:///root/2013-10-03-17-06-22.mkv  
0:00:00.687421001  25650x17050 WARN        GST_REGISTRY gstregistry.c:1178:gst_registry_scan_path_level:<registry0> ignoring old plugin /usr/lib/gstreamer-0.10/libgstvalve.so which has been merged into the corelements plugin
0:00:00.711314001  25650x17050 WARN        GST_REGISTRY gstregistry.c:1178:gst_registry_scan_path_level:<registry0> ignoring old plugin /usr/lib/gstreamer-0.10/libgstselector.so which has been merged into the corelements plugin

Setting pipeline to PAUSED ...

(gst-launch-0.10:2565): GStreamer-CRITICAL **: gst_debug_log_valist: assertion `category != NULL' failed

Pipeline is PREROLLING ...

Aiur: 3.0.7

Core: MKVPARSER_01.04.02  build on Mar  1 2013 14:38:20

  mime: video/x-matroska ; video/webm

  file: /usr/lib/imx-mm/parser/lib_mkv_parser_arm11_elinux.so.3.1

Content Info:

        URI:

              file:///root/2013-10-03-17-06-22.mkv

        Idx File:

              /root/.aiur/.root.2013-10-03-17-06-22.mkv.aidx

        Seekable  : Yes

        Size(byte): 1351578

0:00:03.286612001  2565   0x120358 WARN               aiurdemux aiurdemux.c:3676:aiurdemux_loop_state_header: Warning: API[getNumPrograms] not implement!

Movie Info:

        Seekable  : Yes

        Live      : No

        Duration  : 0:01:03.563000000

        ReadMode  : Track

        Track     : 1

Track 00 [video_000000] Enabled

        Duration: 0:00:27.956000000

        Language: eng

        Mime:

              video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(in

              t)480, framerate=(fraction)30/1, codec_data=(buffer)000001b003000001b2464d5f5047

              204d6f6465000001b509000001000000012000c48881f4514043c1463f

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

vpudec versions :smileyhappy:

        plugin: 3.0.7

        wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on May 17 2013 12:39:55)

        vpulib: 5.4.12

        firmware: 2.1.9.36350

0:00:03.544840667  2565   0x120358 WARN               aiurdemux aiurdemux.c:1276:aiurdemux_send_stream_newsegment: Timestamp unexpect, maybe a core parser bug!

0:00:03.544936001  2565   0x120358 WARN               aiurdemux aiurdemux.c:1287:aiurdemux_send_stream_newsegment: Pad video: Send newseg 0:00:00.000000000 first buffer 0:00:35.607000000

ERROR: v4l2 capture: slave not found!

0:00:04.295030334  2565   0x14f638 WARN             mfw_v4lsink mfw_gst_v4lsink.c:303:mfw_gst_v4l2sink_query_support_formats: unrecognized format:[Y444]YUV444

MFW_GST_V4LSINK_PLUGIN 3.0.7 build on Sep 19 2013 14:35:30.

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

[WARN]  VPU iram is less than needed, some parts don't use iram

>>V4L_SINK: Actually buffer status:

        hardware buffer : 10

        software buffer : 0

0:00:04.333431001  2565   0x14f638 WARN                  vpudec vpudec.c:1599:gst_vpudec_chain: Got EOS message with buffer not NULL!!

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

0:00:04.415223667  2565    0x17050 WARN                     bin gstbin.c:2380:gst_bin_do_latency_func:<playbin20> did not really configure latency of 0:00:00.000000000

full screen size:800x480

0:00:04.415551001  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l.c:1422:mfw_gst_v4l2_display_init: Wrong display width information

0:00:04.415633001  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l.c:1426:mfw_gst_v4l2_display_init: Wrong display height information

[V4L Update Display]: left=0, top=0, width=800, height=480

New clock: GstSystemClock

usb 2-1.1: USB disconnect, device number 4

usb 2-1.1: new low speed USB device number 5 using fsl-ehci

input: PIXART USB OPTICAL MOUSE as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1:1.0/input/input3

generic-usb 0003:093A:2510.0003: input,hidraw0: USB HID v1.11 Mouse [PIXART USB OPTICAL MOUSE] on usb-fsl-ehci.1-1.1/input0

0:01:06.079403674  2565   0x120358 WARN               aiurdemux aiurdemux.c:1325:aiurdemux_send_stream_eos: Pad video: Send eos.

0:01:06.079575341  2565   0x120358 WARN               aiurdemux aiurdemux.c:4312:aiurdemux_pull_task: pausing task, reason unexpected

Got EOS from element "playbin20".

Execution ended after 63527063341 ns.

Setting pipeline to PAUSED ...

Running time 0:01:03.530693008 render fps 10.420

Setting pipeline to READY ...

Total rendered:662

0:01:07.980685009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 0 at state 2

0:01:07.980784342  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 1 at state 2

0:01:07.980829009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 2 at state 2

0:01:07.980870009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 3 at state 2

0:01:07.980910009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 4 at state 3

0:01:07.980950675  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 5 at state 2

0:01:07.980989342  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 6 at state 2

0:01:07.981028009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 7 at state 2

0:01:07.981066342  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 8 at state 2

0:01:07.981104009  2565    0x17050 WARN             mfw_v4lsink mfw_gst_v4l_buffer.c:764:mfw_gst_v4l2_free_buffers: try to free buffer 9 at state 2

Setting pipeline to NULL ...

[--->FINALIZE v4l_sink

[--->FINALIZE aiurdemux

Freeing pipeline ...

i.

0 Kudos

898 Views
mingzhou
NXP Employee
NXP Employee

Could you please provide the version of mkv parser in Ubuntu and share the file?

0 Kudos

898 Views
ieio
Contributor IV

Here is the output of UBUNTU:

user@ubuntu:~$ gst-launch -v playbin2 uri=file:///home/user/2013-10-03-17-06-22.mkv

Setting pipeline to PAUSED ...

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "file:///home/user/2013-10-03-17-06-22.mkv"

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstFileSrc) source

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = video/x-matroska

Pipeline is PREROLLING ...

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0.GstPad:sink: caps = video/x-matroska

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b003000001b2464d5f5047204d6f6465000001b509000001000000012000c48881f4514043c1463f, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: always-ok = FALSE

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0: active-pad = (GstPlaybin2SelectorPad) sink0

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: tags = ((GstTagList*) 0x8e0dea8)

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: tags = ((GstTagList*) 0x8e16f38)

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b003000001b2464d5f5047204d6f6465000001b509000001000000012000c48881f4514043c1463f, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b003000001b2464d5f5047204d6f6465000001b509000001000000012000c48881f4514043c1463f, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0.GstProxyPad:proxypad4: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0.GstProxyPad:proxypad3: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin.GstGhostPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:video_raw_sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:video_raw_sink.GstProxyPad:proxypad5: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad7: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:src: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:sink: caps = video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstVideoScale:vscale.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstVideoScale:vscale.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink.GstProxyPad:proxypad6: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)1699999997/56666666, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

Got EOS from element "playbin20".

Execution ended after 27956465856 ns.

Setting pipeline to PAUSED ...

Setting pipeline to READY ...

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstVideoScale:vscale.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstVideoScale:vscale.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin.GstGhostPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:video_raw_sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: caps = NULL

/GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0.GstPad:video_00: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMatroskaDemux:matroskademux0.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL

Setting pipeline to NULL ...

Freeing pipeline ...

As you can see it uses matroskademux:

user@ubuntu:~$ gst-inspect matroskademux

Factory Details:

  Long name:    Matroska demuxer

  Class:    Codec/Demuxer

  Description:    Demuxes a Matroska Stream into video/audio/subtitles

  Author(s):    GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>

  Rank:        primary (256)

Plugin Details:

  Name:            matroska

  Description:        Matroska stream handling

  Filename:        /usr/lib/gstreamer-0.10/libgstmatroska.so

  Version:        0.10.21

  License:        LGPL

  Source module:    gst-plugins-good

  Binary package:    GStreamer Good Plugins (Ubuntu)

  Origin URL:        https://launchpad.net/distros/ubuntu/+source/gst-plugins-good0.10

Here is the output of IMX6:

root@freescale ~$

< playbin2 uri=file:///root/2013-10-03-17-06-22.mkv

Setting pipeline to PAUSED ...

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "file:///root/2013-10-03-17-06-22.mkv"

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstFileSrc) source

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = video/x-matroska

Pipeline is PREROLLING ...

Aiur: 3.0.7

Core: MKVPARSER_01.04.02  build on Mar  1 2013 14:38:20

  mime: video/x-matroska ; video/webm

  file: /usr/lib/imx-mm/parser/lib_mkv_parser_arm11_elinux.so.3.1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstAiurDemux:aiurdemux0.GstPad:sink: caps = video/x-matroska

Content Info:

        URI:

              file:///root/2013-10-03-17-06-22.mkv

        Idx File:

              /root/.aiur/.root.2013-10-03-17-06-22.mkv.aidx

        Seekable  : Yes

        Size(byte): 1351578

Movie Info:

        Seekable  : Yes

        Live      : No

        Duration  : 0:01:03.563000000

        ReadMode  : Track

        Track     : 1

Track 00 [video_000000] Enabled

        Duration: 0:00:27.956000000

        Language: eng

        Mime:

              video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(in

              t)480, framerate=(fraction)30/1, codec_data=(buffer)000001b003000001b2464d5f5047

              204d6f6465000001b509000001000000012000c48881f4514043c1463f

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

vpudec versions :smileyhappy:

        plugin: 3.0.7

        wrapper: 1.0.35(VPUWRAPPER_ARM_LINUX Build on May 17 2013 12:39:55)

        vpulib: 5.4.12

        firmware: 2.1.9.36350

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(int)480, framerate=(fraction)30/1f

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: always-ok = FALSE

ERROR: v4l2 capture: slave not found!

MFW_GST_V4LSINK_PLUGIN 3.0.7 build on Sep 19 2013 14:35:30.

/GstPlayBin2:playbin20/GstInputSelector:inputselector0: active-pad = (GstSelectorPad) sink0

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0x2e3b90)

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: tags = ((GstTagList*) 0xf1b48)

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(int)480, framerate=(fraction)30/1,f

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

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstVpuDec:vpudec0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)640, height=(int)480, framerate=(fraction)30/1, codec_df

[WARN]  VPU iram is less than needed, some parts don't use iram

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int)0, 1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstVpuDec:vpudec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0,1

>>V4L_SINK: Actually buffer status:

        hardware buffer : 10

        software buffer : 0

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(i1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0.GstProxyPad:proxypad4: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)1

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0.GstProxyPad:proxypad3: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-1

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int)0, crop1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:sink_0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-l1

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:video_raw_sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int)01

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:video_raw_sink.GstProxyPad:proxypad5: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(in1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:src_0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-le1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-right=(int1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad7: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstQueue:vqueue.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-left=(int)0, crop-1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink/MFW_GST_V4LSINK_INFO_T:videosink-actual-sink-mfw_v4l.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-asp1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, crop-top=(int)0, crop-l1

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink.GstProxyPad:proxypad6: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, c1

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

full screen size:800x480

[V4L Update Display]: left=0, top=0, width=800, height=480

New clock: GstSystemClock

i.

0 Kudos