mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-11 06:11:27 +00:00
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> |
||
---|---|---|
.. | ||
nice | ||
datachannel.c | ||
datachannel.h | ||
dtlstransport.c | ||
dtlstransport.h | ||
ice.c | ||
ice.h | ||
icestream.c | ||
icestream.h | ||
icetransport.c | ||
icetransport.h | ||
meson.build | ||
rtcsessiondescription.c | ||
rtcsessiondescription.h | ||
rtpreceiver.c | ||
rtpreceiver.h | ||
rtpsender.c | ||
rtpsender.h | ||
rtptransceiver.c | ||
rtptransceiver.h | ||
sctptransport.c | ||
sctptransport.h | ||
webrtc-priv.h | ||
webrtc.c | ||
webrtc.h | ||
webrtc_fwd.h |