From f29fe76d7e9e7e602cdb09e053640849d670b32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 1 Mar 2018 18:13:20 +0200 Subject: [PATCH] rtspsrc: Ignore sendonly/recvonly attributes unless a backchannel is configured This works around a bug in various ONVIF cameras that implement the attributes the wrong way around. They still won't work with a backchannel but at least normal playback will work for the time being. It restores pre-1.14 behaviour where we would fail to preroll on any SDP that lists a recvonly stream. For 1.16 a better solution should be found. The problem here is that the ONVIF spec has the meaning of the two attributes the wrong way around in the examples, compared to RFC4566. https://bugzilla.gnome.org/show_bug.cgi?id=793715 --- gst/rtsp/gstrtspsrc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 7143d78707..ce17a0e4d3 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -1774,7 +1774,7 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp, if (gst_sdp_media_get_attribute_val (media, "recvonly") != NULL && /* We want to setup caps for streams configured as backchannel */ - !stream->is_backchannel) + !stream->is_backchannel && src->backchannel != BACKCHANNEL_NONE) goto recvonly_media; /* Parse global SDP attributes once */