Johan Sternerup
4b96294f19
webrtc: Fix possible use-after-free of GstWebRTCICETransport
...
Because of the asynchronous resolving of mDNS ICE candidates it is
possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs
the lifetime of the GstWebRTCNiceStream objects via refs in
nice_stream_map. Thus the GstWebRTCICETransport objects held in
GstWebRTCNiceStream may be invalid at the time they are accessed by
the _on_candidate_gathering_done() callback since GstWebRTCNiceStream
doesn't take a reference to them. Doing so would create a circular
reference, so instead this commit introduces weak references to the
transport objects and then we can check if the objects are valid before
accessing them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502 >
2022-12-02 03:37:29 +00:00
Johan Sternerup
e708543039
webrtcbin: Add settings for HTTP proxy
...
Pass this to libnice which has a simple HTTP 1.0 proxy with basic
authentication only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2867 >
2022-11-18 15:00:58 +00:00
Alba Mendez
4810008afa
webrtcbin: support adding TURN servers after pipeline start
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680
When a TURN server is added for the first time, propagate
the change to all nice streams that already exist. This
lets us add servers after the pipeline has been started
(and streams have been added).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3217 >
2022-10-19 07:23:42 +00:00
Sebastian Dröge
64c376b5b2
webrtc: Add/fix various annotations
...
And mark string parameters as const.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194 >
2022-10-18 08:56:58 +00:00
Mathieu Duponchelle
b10e0efd3a
webrtc/nice: fix small leak of split strings
...
g_strfreev previously stopped at our manual NULL-termination. Fix by
restoring the pointer after joining.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3188 >
2022-10-14 20:15:00 +00:00
Sangchul Lee
94c2cd9ddd
webrtc/nice: Make sure to return NULL when validating turn server fails
...
It affects 'add-turn-server' signal action and 'turn-server' property
of webrtcbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3120 >
2022-10-05 16:35:00 +00:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
d04a80676e
webrtc:ice: Fix candidate stats related APIs for bindings
...
null-terminated arrays of structures is not usable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2917 >
2022-08-19 10:46:01 -04:00
Thibault Saunier
b3e0205c5a
webrtc:ice: Avoid using GArray in public API
...
And use plain null terminated C arrays instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891 >
2022-08-18 08:34:36 +00:00
Philippe Normand
4bf62c788c
webrtc: nice: WeakRef access fixes
...
The GstWebRTCNiceStream::ice property getter already hands-off a full reference,
so there is no need to call g_weak_ref_get() in call sites.
Fixes #1350
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819 >
2022-08-01 13:13:16 +00:00
U. Artie Eoff
e3e98da727
meson: webrtc: ensure definition of libgstwebrtcnice_dep
...
... and skip if it's disabled.
Fixes #1344
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2797 >
2022-07-26 17:39:52 -04:00
yatinmaan
2c1e61ea16
webrtc: Split WebRTCICE into base classes and implementation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398 >
2022-07-26 13:51:11 +00:00