Check if ringbuffer is NULL in baseaudiosink's setcaps(). This happened when I swapped the sink on a pipeline. --- gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosink.c | 3 +++ 1 files changed, 3 insertions(+) Index: src/gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosink.c =================================================================== --- src.orig/gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosink.c +++ src/gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosink.c @@ -316,6 +316,9 @@ gst_base_audio_sink_setcaps (GstBaseSink GstBaseAudioSink *sink = GST_BASE_AUDIO_SINK (bsink); GstRingBufferSpec *spec; + if (sink->ringbuffer == NULL) + return FALSE; + spec = &sink->ringbuffer->spec; GST_DEBUG_OBJECT (sink, "release old ringbuffer"); -- Ville Syrjälä ville.syrjala@movial.fi