From 14d636b224f3f00779ccb165750c29f8b69eb34d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 7 Oct 2021 13:00:10 +0300 Subject: [PATCH] rtsp-media: Unprepare suspended medias too Previously suspended medias immediately reached the UNPREPARED state without going through the media's unprepare() vfunc. This didn't allow the media subclass to do any additional cleanup, and for example the shutdown-eos property of GstRTSPMedia was ignored. Part-of: --- subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c b/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c index 0ca0d9f2b1..f78355e6e8 100644 --- a/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c +++ b/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c @@ -4108,7 +4108,8 @@ gst_rtsp_media_unprepare (GstRTSPMedia * media) set_target_state (media, GST_STATE_NULL, FALSE); success = TRUE; - if (priv->status == GST_RTSP_MEDIA_STATUS_PREPARED) { + if (priv->status == GST_RTSP_MEDIA_STATUS_PREPARED + || priv->status == GST_RTSP_MEDIA_STATUS_SUSPENDED) { GstRTSPMediaClass *klass; klass = GST_RTSP_MEDIA_GET_CLASS (media);