diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2018-01-22 12:24:18 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2018-01-22 12:27:22 +0200 |
commit | 326e9549e378bcc71587ba569f73755e0abc1794 (patch) | |
tree | 5c5412575caeb50edfa35fa06a2fbed0a348dedb | |
parent | 61484db43e78c6afdc29bfd4b4d5a7e5ab57dcbc (diff) | |
download | gstreamer-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.c | 8 |
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; } } |