GNOME Bugzilla – Bug 739773
mpeg4videoparse doesn't add profile in caps
Last modified: 2014-11-09 09:52:59 UTC
When the video is xvid and the container is avi you don't have any *profile* /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0: caps = "video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, framerate=(fraction)24000/1001, width=(int)640, height=(int)272" /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0 Same video xvid remuxed in mp4 (ffmpeg -c copy) has profile set. /GstMultiQueue:multiqueue0.GstPad:src_0: caps = "video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)advanced-simple, level=(string)5, codec_data=(buffer)000001b0f5000001b5090000010000000120088685770307d31404221463000001b244697658353033623133393370000001b25876694430303634, width=(int)640, height=(int)272, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1" FaF_SaMple.avi 5.7 MB https://mega.co.nz/#!XF0VCaDY!kOK16NqBakVukJlCZcnFZBlbIz7_S-Re5ezpXHnMWWU
The profile was missing because dvbmediasink caps didn't require one. After adding profile = (string) { simple, advanced-simple } to dvbmediasink caps profile and codec_data are inserted to caps.
Ah yes, without requesting parsed caps in the sink, decodebin will believe your sink just supports every kind MPEG4 Part 2 video and will not plug a parser.