[Bug 662199] [capsfilter] behavior has changed

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Nov 30 04:11:53 PST 2011


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

--- Comment #18 from Sebastian Dröge <slomo at circular-chaos.org> 2011-11-30 12:11:48 UTC ---
Ok, some details now finally :)

The problem here is, that capsfilter gets video/x-raw-rgb as caps and pad_alloc
on the capsfilter returns a buffer with exactly these caps for the first buffer
after Sjoerd's change. This zero-sized buffer of size 0 is then confusing
ffmpegcolorspace, which is understandable. It can't calculate the real size of
buffers with these caps because the caps are simply wrong.

This happens after Sjoerd's change because the caps are suggested to
basetransform immediately although no buffer flow has happened yet. In
gst_base_transform_buffer_alloc() this will cause the first buffer to be
allocated with the suggested caps then, the suggested caps are then taken as is
(in gst_base_transform_find_transform()) and not intersected with the peer caps
because they're fixed and then returned immediately on the buffer.
Without Sjoerd's change there would be no suggested caps and the correct caps
would be sorted out during the gst_base_transform_transform_caps() calls, which
then takes the peercaps and everything into account.


Not sure how to fix this though, maybe find_transform() should always intersect
with the peercaps, even if the caps are already fixed.

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