From c747711ac5562e53f90ed96e87776a2e6b9806ba Mon Sep 17 00:00:00 2001 From: Guiqin Zou Date: Fri, 11 Sep 2020 15:46:41 +0200 Subject: [PATCH] rtsp-media: Get rates only on sender streams When play a media with both sender and receiver stream, like ONVIF back channel audio in, gst_rtsp_media_get_rates call gst_rtsp_stream_get_rates for each stream to set the rates. But gst_rtsp_stream_get_rates return false for the receiver steam, which lead a g_assert crash. Instead to get rates on all streams, now just get rates on sender streams. Part-of: --- gst/rtsp-server/rtsp-media.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst/rtsp-server/rtsp-media.c b/gst/rtsp-server/rtsp-media.c index 8159697c8e..7a7a2f12e6 100644 --- a/gst/rtsp-server/rtsp-media.c +++ b/gst/rtsp-server/rtsp-media.c @@ -2709,7 +2709,8 @@ gst_rtsp_media_get_rates (GstRTSPMedia * media, gdouble * rate, g_assert (priv->streams->len > 0); for (i = 0; i < priv->streams->len; i++) { stream = g_ptr_array_index (priv->streams, i); - if (gst_rtsp_stream_is_complete (stream)) { + if (gst_rtsp_stream_is_complete (stream) + && gst_rtsp_stream_is_sender (stream)) { if (gst_rtsp_stream_get_rates (stream, rate, applied_rate)) { if (first_stream) { save_rate = *rate;