[Bug 664750] [gstmpeg4videoparse] src caps should not be fixed

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 25 04:39:35 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=664750
  GStreamer | gst-plugins-bad | 0.11.x

--- Comment #2 from Matej Knopp <matej.knopp at gmail.com> 2011-11-25 12:39:29 UTC ---
Okay, this doesn't work. Once decodebin instantiates the mpeg4parser, the src
caps are fixed so it doesn't bother pushing any data to it. That means when
next element is linked, only template caps are taken into account. 

mpeg4videoparser template caps are video/mpeg,
mpegversion=(int)4,systemstream=(boolean)false

So autoplug-continue is called with caps video/mpeg,
mpegversion=(int)4,systemstream=(boolean)false

ffdec_mp4 has however template sink caps video/mpeg,
mpegversion=(int)4,width=(int)[ 16, 4096 ],height=(int)[ 16, 4096
],framerate=(fraction)[ 0/1, 2147483647/1 ] so when decodebin searches for
plugin that than handle src caps from mp4videoparser it skips the ffmpeg.

It goes like this:
Autoplug continue: video/x-msvideo
Autoplug continue: video/mpeg, mpegversion=(int)4,
framerate=(fraction)5000000/208541, width=(int)640, height=(int)352 // This is
from demuxer
Autoplug continue: video/mpeg, mpegversion=(int)4, parsed=(boolean)true,
systemstream=(boolean)false // This is from parser. No framerate, width or
height as decodebin didn't push any data to it because of fixed caps

When the parser doesn't have fixed caps everything works as it should:

Autoplug continue: video/x-msvideo
Autoplug continue: video/mpeg, mpegversion=(int)4,
framerate=(fraction)5000000/208541, width=(int)640, height=(int)352 // demuer

Autoplug continue: video/mpeg, mpegversion=(int)4,
framerate=(fraction)65534/2733, width=(int)640, height=(int)352,
systemstream=(boolean)false, parsed=(boolean)true,
codec_data=(buffer)000001b0f5000001b50900000100000001200886c7fffb0aad8a02160a4c7f000001b25876694430303530,
pixel-aspect-ratio=(fraction)1/1 // parser

Now maybe the problem is not in the parser itself but in decodebin, but I
thought the check for fixed caps is there for a reason.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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