[Bug 727305] matroskademux: complete support for A_OPUS (SeekPreRoll, CodecDelay and DiscardPadding)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 3 09:05:52 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=727305

Arjen Veenhuizen <arjen.veenhuizen at tno.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |arjen.veenhuizen at tno.nl

--- Comment #16 from Arjen Veenhuizen <arjen.veenhuizen at tno.nl> ---
It looks like I found a case where it still does not work (using GIT master of
today). The attached sample file contains VP8 video and OPUS audio:

ffprobe 2016-02-03_-_09-54-34.mkv
ffprobe version git-2016-01-22-74105fc Copyright (c) 2007-2016 the FFmpeg
developers
[...]
Input #0, matroska,webm, from
'/storage/2016-02-03_-_09-54-34_-_Medialab-6Plus.mkv':
  Metadata:
    encoder         : GStreamer matroskamux version 1.7.1.1
    creation_time   : 2016-02-03 08:54:35
  Duration: N/A, start: 0.024000, bitrate: N/A
    Stream #0:0(eng): Video: vp8, yuv420p, 1280x720, SAR 1:1 DAR 16:9, 1k tbr,
1k tbn, 1k tbc (default)
    Metadata:
      title           : Video
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : Audio

The source of the clip is a stream generated by Google's libwebrtc for Ios
received over RTP, depayloaded and muxed using matroskamux.

The file plays just fine with ffplay, but 

playbin uri=file:///storage/2016-02-03_-_09-54-34.mkv shows the following
output:

Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri =
file:///storage/2016-02-03_-_09-54-34.mkv
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstFileSrc\)\
source"
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = "NULL"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = "NULL"
Missing element: audio/x-unknown decoder
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-buffers = 5
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-time = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-bytes = 2097152
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:sink_0:
caps = "video/x-vp8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\
framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0:
caps = "video/x-vp8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\
framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVP8Dec:vp8dec0.GstPad:sink:
caps = "video/x-vp8\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\
framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVP8Dec:vp8dec0.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-buffers = 5
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No
decoder available for type 'audio/x-unknown, codec-id=(string)A_OPUS'.
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-time = 0
Additional debug info:
gsturidecodebin.c(939): unknown_type_cb ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-bytes = 2097152
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
always-ok = false
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
active = true
/GstPlayBin:playbin0/GstInputSelector:inputselector0: active-pad =
"\(GstSelectorPad\)\ sink_0"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstPad:src: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:video_sink.GstProxyPad:proxypad5:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstPad:src_0:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:sink.GstProxyPad:proxypad9:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstVideoConvert:vdconv.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin/GstDeinterlace:deinterlace.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vdbin.GstGhostPad:src: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad8:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstQueue:vqueue.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin.GstGhostPad:sink: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin.GstGhostPad:sink: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:sink.GstProxyPad:proxypad6:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:sink.GstProxyPad:proxypad6:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstXvImageSink:xvimagesink0.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:src.GstProxyPad:proxypad7:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoScale:scale.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv/GstVideoConvert:conv.GstPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstPlaySinkVideoConvert:vconv.GstGhostPad:sink:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)1280\,\
height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\
colorimetry\=\(string\)bt709\,\ framerate\=\(fraction\)0/1"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
tags = "taglist\,\ video-codec\=\(string\)\"VP8\\\ video\"\;"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
tags = "taglist\,\ video-codec\=\(string\)\"VP8\\\ video\"\,\
container-format\=\(string\)Matroska\;"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
tags = "taglist\,\ video-codec\=\(string\)\"On2\\\ VP8\"\,\
container-format\=\(string\)Matroska\;"
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

Notice the:

WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No
decoder available for type 'audio/x-unknown, codec-id=(string)A_OPUS'.

Is this an issue in matroskamux or matroskademux? I suspect the latter but
maybe something goes haywire while muxing.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list