From: Wim Taymans Date: Fri, 10 Apr 2009 19:31:06 +0000 (+0200) Subject: pulsesink: handle NULL timing info X-Git-Tag: RELEASE-0.10.15~309 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=776b0ae8cb588308e4a74c6a8b0cb80e151be23d;p=platform%2Fupstream%2Fgst-plugins-good.git pulsesink: handle NULL timing info Don't crash when the timing info is not yet available. --- diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c index 92b618840..8f8805f6e 100644 --- a/ext/pulse/pulsesink.c +++ b/ext/pulse/pulsesink.c @@ -1092,17 +1092,21 @@ gst_pulseringbuffer_commit (GstRingBuffer * buf, guint64 * sample, /* check if we need to uncork after writing the samples */ if (pbuf->corked) { - const pa_timing_info *info = pa_stream_get_timing_info (pbuf->stream); - - GST_LOG_OBJECT (psink, - "read_index at %" G_GUINT64_FORMAT ", offset %" G_GINT64_FORMAT, - info->read_index, offset); - - /* we uncork when the read_index is too far behind the offset we need - * to write to. */ - if (info->read_index + bufsize <= offset) { - if (!gst_pulsering_set_corked (pbuf, FALSE, FALSE)) - goto uncork_failed; + const pa_timing_info *info; + + if ((info = pa_stream_get_timing_info (pbuf->stream))) { + GST_LOG_OBJECT (psink, + "read_index at %" G_GUINT64_FORMAT ", offset %" G_GINT64_FORMAT, + info->read_index, offset); + + /* we uncork when the read_index is too far behind the offset we need + * to write to. */ + if (info->read_index + bufsize <= offset) { + if (!gst_pulsering_set_corked (pbuf, FALSE, FALSE)) + goto uncork_failed; + } + } else { + GST_LOG_OBJECT (psink, "no timing info available yet"); } } }