[gstreamer-bugs] [Bug 621332] BaseTransform should disable proxy alloc if downstream changes caps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Aug 26 03:33:52 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=621332
  GStreamer | gstreamer (core) | git

--- Comment #5 from Wim Taymans <wim.taymans at gmail.com> 2010-08-26 10:33:49 UTC ---
This runs into Bug #614296.

In this particular case, we could improve things a little. 

The problem is that the first ffmpegcolorspace receives a buffer in yuv with
framerate 30/1 and attempts a buffer_alloc with yuv (because that is the format
it was doing before the edgetv was inserted). 

Then edgetv refuses that format (it only accepts rgb) and tries to come up with
a good suggestion for a new format. It generates this suggestion by first doing
a get_allowed_caps() upstream to get a list of allowed caps. 

Upstream reports that it can produce everything, which is false, it can produce
anything as long as it has a framerate of 30/1 (ffmpegcolorspace can convert
between all colorspaces but the framerate of the buffer it is currently
handling cannot change).

Then ffmpegcolorspace refuses the downstream suggestion and continues pushing
the yuv frame to edgetv, which refuses and ends the pipeline with
not-negotiated.

I'm not quite sure what to do. Here are some possibilities:

1) edgetv makes it suggestion by removing the unfixed fields. upstream
basetransform should then complete the suggested format by fixating/adding
fields based on the input format. 

2) edgetv simply suggests the non-fixed caps and lets the upstream
basetransform fixate. We don't currently put unfixed caps on buffers but maybe
it makes sense for upstream caps renegotiation.

-- 
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