gstreamer/ext
Vincent Penquerc'h 3b2d583373 alsasink: fix occasional crash intersecting invalid values
When a pipeline using alsasink and push mode upstream fails
to preroll, the following state will be the case:
- A loop upstream will be PAUSED, pushing a first buffer
- alsasink will be READY, pending PAUSED, because async

On error, the pipeline will switch to NULL. alsasink is in
READY, so goes to NULL immediately. It zeroes its cached
caps. Meanwhile, the upstream loop can cause a caps query,
conccurent with the state change. This will use those cached
caps. If the zeroing happens between the NULL test and the
dereferencing, GStreamer will critical down in the GstValue
code.

Since it appears that such a gap between states (PAUSED
and pushing upstream, and NULL downstream) is expected, we
need to protect the read/write access to the cached caps.

This fixes the critical.

See https://bugzilla.gnome.org/show_bug.cgi?id=731121
2014-06-03 15:17:20 +01:00
..
alsa alsasink: fix occasional crash intersecting invalid values 2014-06-03 15:17:20 +01:00
cdparanoia docs: remove old 0.10 Since markers 2013-11-16 16:10:07 +00:00
libvisual ext/gst: Ensure default query/event handlers are used 2013-07-26 16:08:35 +02:00
ogg oggstream: consider all opus packets as "keyframes" 2014-06-02 12:40:27 +01:00
pango pango: Do not try to add a feature to a caps features ANY 2014-05-11 00:12:30 +02:00
theora docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
vorbis docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
Makefile.am gio: Move to gst subdirectory 2012-01-18 16:21:14 +01:00