[Bug 665989] a52dec: segfault when copying liba52's buffer into gst's buffer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Dec 12 05:07:26 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=665989
  GStreamer | gst-plugins-ugly | git

--- Comment #6 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2011-12-12 13:07:24 UTC ---
(In reply to comment #5)
> The only difference of the _set_caps() variant is, that it automatically calls
> your srcpad's setcaps function. core doesn't do anything special for the
> non-set_caps() variant other than giving you the buffer provided by downstream.
> 

... but only after calling gst_pad_accept_caps(), which should not succeed in a
typical fixed src caps situation (for really different caps at least).

> 
> Also downstream is not required to check if the different caps it returns (and
> in the case of capsfilter the size will be 0 btw, capsfilter can't calculate
> the size of buffers from the caps) are actually supported by upstream. Upstream
> always has to check the caps and size.

Yes, upstream should check, but that could be core code, as in:

(from gst_pad_alloc_buffer_full())
  /* sanity check (only if caps are the same) */
  if (G_LIKELY (newcaps == caps) && G_UNLIKELY (GST_BUFFER_SIZE (*buf) < size))
    goto wrong_size_fallback;

In another world, it could/might always check regardless of whether caps are
the same.

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