gst-rtsp-server merge requestshttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests2020-09-24T23:49:09Zhttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/141rtsp-stream: explicitly set caps on udpsrc elements2020-09-24T23:49:09ZMathieu Duponchellertsp-stream: explicitly set caps on udpsrc elementsThis causes them to send caps events before data flow, which is
usually a pretty correct thing to do!
Not doing so manifested in a bug where ssrcdemux wouldn't forward
the caps it had received with an extra ssrc field, as it hadn't
...This causes them to send caps events before data flow, which is
usually a pretty correct thing to do!
Not doing so manifested in a bug where ssrcdemux wouldn't forward
the caps it had received with an extra ssrc field, as it hadn't
received any caps event.
Fixes #851.17.90GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/112rtsp-stream: use mcast_udpsink[0] last-sample if available for rtpinfo2020-09-24T23:49:07ZMichael Olbrichrtsp-stream: use mcast_udpsink[0] last-sample if available for rtpinfoOtherwise no sink is found for multicast sreams and the less accurate
fallback is used to determine the current sequence number and timestamp.Otherwise no sink is found for multicast sreams and the less accurate
fallback is used to determine the current sequence number and timestamp.1.17.1GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/31rtspclientsink: Use write_messages() API to send buffer lists in one go2020-09-21T12:09:15ZSebastian Drögertspclientsink: Use write_messages() API to send buffer lists in one goAnd to write messages with multiple memories also via writev().
----
And another bugfix:
rtspclientsink: Set async-handling=false for the internal bins
Without this we can easily run into a race condition with async state...And to write messages with multiple memories also via writev().
----
And another bugfix:
rtspclientsink: Set async-handling=false for the internal bins
Without this we can easily run into a race condition with async state changes:
- the pipeline is doing an async state change
- we set the internal bins to PLAYING but that's ignored because an
async state change is currently pending
- the async state change finishes but does not change the state of the
internal bins because of locked_state==TRUE
- the internal bins stay in PAUSED forever1.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/111rtsp-auth: Fix NULL pointer dereference when handling an invalid basic Author...2020-06-16T02:00:25ZSebastian Drögertsp-auth: Fix NULL pointer dereference when handling an invalid basic Authorization headerWhen using the basic authentication scheme, we wouldn't validate that
the authorization field of the credentials is not NULL and pass it on
to g_hash_table_lookup(). g_str_hash() however is not NULL-safe and will
dereference the NULL poi...When using the basic authentication scheme, we wouldn't validate that
the authorization field of the credentials is not NULL and pass it on
to g_hash_table_lookup(). g_str_hash() however is not NULL-safe and will
dereference the NULL pointer and crash.
A specially crafted (read: invalid) RTSP header can cause this to
happen.
As a solution, check for the authorization to be not NULL before
continuing processing it and if it is simply fail authentication.
This fixes CVE-2020-6095 and TALOS-2020-1018.
Discovered by Peter Wang of Cisco ASIG.1.17.1Sebastian DrögeSebastian Drögehttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/103rtsp-latency-bin: replace G_TYPE_INSTANCE_GET_PRIVATE as it's been deprecated2020-06-16T02:00:10ZJordan Petridіsrtsp-latency-bin: replace G_TYPE_INSTANCE_GET_PRIVATE as it's been deprecated1.17.1GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/97rtsp-auth: fix default token leak2020-06-16T02:00:04ZNicolartsp-auth: fix default token leak1.17.1GStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orgGStreamer Marge Botgitlab-merge-bot@gstreamer-foundation.orghttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/70rtsp-media: Use lock in gst_rtsp_media_is_receive_only2020-06-16T01:59:59Zjohanadamnilssonrtsp-media: Use lock in gst_rtsp_media_is_receive_only1.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/68rtsp-client: RTP Info when completed_sender2020-06-16T01:59:58ZKristoferrtsp-client: RTP Info when completed_senderChange condition that should be fulfilled regarding RTPInfo.
Replace !gst_rtsp_media_is_receive_only with
gst_rtsp_media_has_completed_sender. It is more correct to actually look
for a sender pipeline that is complete. Only then a RTPInf...Change condition that should be fulfilled regarding RTPInfo.
Replace !gst_rtsp_media_is_receive_only with
gst_rtsp_media_has_completed_sender. It is more correct to actually look
for a sender pipeline that is complete. Only then a RTPInfo should
exist.1.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/74rtsp-client.c: fix location uri-format by getting uri directly from context i...2020-06-16T01:59:56ZMuhammet Ilendemlirtsp-client.c: fix location uri-format by getting uri directly from context insteadFollow [#84](https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/84) for further informations.Follow [#84](https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/84) for further informations.1.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/66rtsp-client: RTP Info exists conditionally in PLAY; possible issue with RECOR...2020-06-16T01:59:48ZKristoferrtsp-client: RTP Info exists conditionally in PLAY; possible issue with RECORD and onvif backchannelIf RTP Info is missing and it is not a receiver only, eg. audio
backchannel. Then return GST_RTSP_STS_INTERNAL_SERVER_ERROR.
In rfc2326 it says RTP-info is req. but in RFC7826 it is conditional.
Since 1.14 there is audio backchannel...If RTP Info is missing and it is not a receiver only, eg. audio
backchannel. Then return GST_RTSP_STS_INTERNAL_SERVER_ERROR.
In rfc2326 it says RTP-info is req. but in RFC7826 it is conditional.
Since 1.14 there is audio backchannel support. Thus RTP-info is
conditional now. So when audio backchannel only mode, there is no RTP-info.
Fixes #821.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/60rtsp-client: RTP Info must exist in PLAY response2020-06-16T01:59:48ZKristoferrtsp-client: RTP Info must exist in PLAY responseIf RTP Info is missing. Then return GST_RTSP_STS_INTERNAL_SERVER_ERROR
Fixes #76If RTP Info is missing. Then return GST_RTSP_STS_INTERNAL_SERVER_ERROR
Fixes #761.17.1https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/42onvif-media: fix "void function returning a value" compiler warning2020-06-16T01:59:40ZTim-Philipp Müllertim@centricular.comonvif-media: fix "void function returning a value" compiler warning1.17.1Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/32Add various Since: 1.16 markers2020-06-16T01:59:39ZSebastian DrögeAdd various Since: 1.16 markers1.17.1