summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2018-01-22 12:24:18 +0200
committerSebastian Dröge <sebastian@centricular.com>2018-01-22 12:27:22 +0200
commit326e9549e378bcc71587ba569f73755e0abc1794 (patch)
tree5c5412575caeb50edfa35fa06a2fbed0a348dedb
parent61484db43e78c6afdc29bfd4b4d5a7e5ab57dcbc (diff)
downloadgstreamer-plugins-good-326e9549e378bcc71587ba569f73755e0abc1794.tar.gz
rtspsrc: Fix up sendonly/recvonly attribute handling
We can't handle recvonly streams, sendonly streams are perfectly fine. The direction is the one from the point of view of the SDP offerer (i.e. the RTSP server), and a recvonly stream would be one where the server expects us to send media. RFC 3264, section 5.1: If the offerer wishes to only send media on a stream to its peer, it MUST mark the stream as sendonly with the "a=sendonly" attribute. This is mixed up in the ONVIF streaming specification examples, but actual implementations and conformance tools seem to not care at all about the attributes. https://bugzilla.gnome.org/show_bug.cgi?id=792376
-rw-r--r--gst/rtsp/gstrtspsrc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 6b11eb091..dd847a9fc 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -1535,8 +1535,8 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp,
else
goto unknown_proto;
- if (gst_sdp_media_get_attribute_val (media, "sendonly") != NULL)
- goto sendonly_media;
+ if (gst_sdp_media_get_attribute_val (media, "recvonly") != NULL)
+ goto recvonly_media;
/* Parse global SDP attributes once */
global_caps = gst_caps_new_empty_simple ("application/x-unknown");
@@ -1605,9 +1605,9 @@ unknown_proto:
GST_ERROR_OBJECT (src, "unknown proto in media: '%s'", proto);
return;
}
-sendonly_media:
+recvonly_media:
{
- GST_DEBUG_OBJECT (src, "sendonly media ignored");
+ GST_DEBUG_OBJECT (src, "recvonly media ignored");
return;
}
}