From d96e8ca1cab5d4f27ebc2d3bf363f5eadf9edb13 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 20 Feb 2018 15:37:14 -0500 Subject: [PATCH] core/audio: Don't clear NULL audio_pipeline state Doing so can cause a deadlock somewhere deep inside gstreamer. Signed-off-by: Anna Schumaker --- core/audio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/audio.c b/core/audio.c index 5431ae4b..a551bf63 100644 --- a/core/audio.c +++ b/core/audio.c @@ -45,7 +45,8 @@ static struct track *__audio_load(struct track *track, unsigned int flags) audio_track = track; path = track_path(track); - gst_element_set_state(audio_pipeline, GST_STATE_READY); + if (audio_cur_state() != GST_STATE_NULL) + gst_element_set_state(audio_pipeline, GST_STATE_READY); g_object_set(G_OBJECT(audio_source), "location", path, NULL); gst_element_set_state(audio_pipeline, flags & LOAD_PLAYING ? GST_STATE_PLAYING : GST_STATE_PAUSED);