[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:24:15 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=665989
GStreamer | gst-plugins-ugly | git
--- Comment #7 from Sebastian Dröge <slomo at circular-chaos.org> 2011-12-12 13:24:09 UTC ---
(In reply to comment #6)
> (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).
Yes, if the _set_caps() variant is used that's true. If it isn't the caller has
to do this.
> >
> > 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.
Agreed, fortunately this is gone in 0.11 and replaced by something better ;)
--
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