mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
pulsesink: handle server disconnect in get_time
When the server is disconnected or when we are shut down, make our clock return an invalid time instead of erroring out.
This commit is contained in:
parent
20a6908dfd
commit
963b343548
1 changed files with 11 additions and 0 deletions
|
@ -1338,6 +1338,8 @@ gst_pulse_sink_get_time (GstClock * clock, GstBaseAudioSink * sink)
|
|||
psink = GST_PULSESINK_CAST (GST_OBJECT_PARENT (pbuf));
|
||||
|
||||
pa_threaded_mainloop_lock (psink->mainloop);
|
||||
if (gst_pulsering_is_dead (psink, pbuf))
|
||||
goto server_dead;
|
||||
|
||||
/* if we don't have enough data to get a timestamp, just return NONE, which
|
||||
* will return the last reported time */
|
||||
|
@ -1352,6 +1354,15 @@ gst_pulse_sink_get_time (GstClock * clock, GstBaseAudioSink * sink)
|
|||
GST_TIME_ARGS (time));
|
||||
|
||||
return time;
|
||||
|
||||
/* ERRORS */
|
||||
server_dead:
|
||||
{
|
||||
GST_DEBUG_OBJECT (psink, "the server is dead");
|
||||
pa_threaded_mainloop_unlock (psink->mainloop);
|
||||
|
||||
return GST_CLOCK_TIME_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue