After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 647498 - xvidenc not forwarding caps
xvidenc not forwarding caps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal major
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-11 20:24 UTC by Christian Fredrik Kalager Schaller
Modified: 2011-04-13 18:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pipeline graph (576.08 KB, image/png)
2011-04-13 17:53 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2011-04-11 20:24:17 UTC
xvidenc breaks the pipeline when you try to set caps of encodebin since it
doesn't forward the caps. This means that when I try to get encodebin to resize a video the pipeline hangs as the new size never reaches videoscale from the capsfilter found after xvidenc in the encodebin pipeline
Comment 1 Sebastian Dröge (slomo) 2011-04-13 14:54:10 UTC
What do you mean by forwarding caps? Do you have a testcase?

xvidenc forwards the caps (i.e. the framerate, width, height, PAR) the same way as x264enc from what I see. The only thing that could be improved here is implementing a getcaps function that converts the downstream and upstream caps. Is this what you mean and do you need the same for x264enc?
Comment 2 Christian Fredrik Kalager Schaller 2011-04-13 17:53:59 UTC
Created attachment 185896 [details]
pipeline graph

As you can see in attached pipeline dump from Transmageddon the caps set on the last caps filter never reaches the videoscale in the pipeline, seeming stopping behind the xvidenc element.
Comment 3 Sebastian Dröge (slomo) 2011-04-13 17:59:24 UTC
Ah yes, for that a getcaps function has to be implemented in xvidenc (and x264enc and probably others). Will look at this later
Comment 4 Sebastian Dröge (slomo) 2011-04-13 18:28:14 UTC
Here's the change for xvidenc. Please test this with other encoders too, I'll add this to x264enc now but I'm sure other encoders have the same problem :)

commit d309cd5771615c11fd0a02c3191f41c8bbafbed6
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Apr 13 20:26:11 2011 +0200

    xvidenc: Implement getcaps function
    
    This allows to set width/height/etc restrictions to be set downstream.
    
    Fixes bug #647498.