mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
pulsesink: handle NULL timing info
Don't crash when the timing info is not yet available.
This commit is contained in:
parent
b3d66d5e8d
commit
776b0ae8cb
1 changed files with 13 additions and 9 deletions
|
@ -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);
|
||||
const pa_timing_info *info;
|
||||
|
||||
GST_LOG_OBJECT (psink,
|
||||
"read_index at %" G_GUINT64_FORMAT ", offset %" G_GINT64_FORMAT,
|
||||
info->read_index, offset);
|
||||
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;
|
||||
/* 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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue