diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2018-03-01 18:13:20 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2018-03-01 20:27:10 +0200 |
commit | f29fe76d7e9e7e602cdb09e053640849d670b32c (patch) | |
tree | 7ab3d9e2f60fdf491489711b90c5b9923387a910 | |
parent | 43e758cdb1fae78cd7072c70197800f3eef0ab71 (diff) |
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
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 7143d7870..ce17a0e4d 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 */ |