pad: Only inforce STREAM_START, CAPS and SEGMENT ordering

Previous patch was inforcing a complete ordering of the sticky events, while
in fact, only STREAM_START, CAPS and SEGMENT events need proper ordering.

See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
This commit is contained in:
Nicolas Dufresne 2013-05-08 18:19:48 -04:00 committed by Sebastian Dröge
parent 98f6b75cd3
commit f6aa4d85c1

View file

@ -4436,6 +4436,9 @@ store_sticky_event (GstPad * pad, GstEvent * event)
} }
if (type < GST_EVENT_TYPE (ev->event)) { if (type < GST_EVENT_TYPE (ev->event)) {
/* STREAM_START, CAPS and SEGMENT must be delivered in this order. By
* storing the sticky ordered we can check that this is respected. */
if (G_UNLIKELY (GST_EVENT_TYPE (ev->event) <= GST_EVENT_SEGMENT))
g_warning (G_STRLOC ":%s:<%s:%s> Sticky event misordering detected", g_warning (G_STRLOC ":%s:<%s:%s> Sticky event misordering detected",
G_STRFUNC, GST_DEBUG_PAD_NAME (pad)); G_STRFUNC, GST_DEBUG_PAD_NAME (pad));
break; break;