gstreamer/ext/srt
Jan Alexander Steffens (heftig) 470e6989d2 srt: Don't take object lock calling gst_srt_object_get_stats
This function takes the sock lock. This can result in a deadlock when
another thread holding the sock lock is trying to take the object lock.

Thread A (Holds object lock, wants sock lock):

    #2  gst_srt_object_get_stats at gst-plugins-bad/ext/srt/gstsrtobject.c:1753
    #3  gst_srt_object_get_property_helper at gst-plugins-bad/ext/srt/gstsrtobject.c:409
    #4  gst_srt_sink_get_property at gst-plugins-bad/ext/srt/gstsrtsink.c:95
    #5  g_object_get_property from libgobject-2.0.so.0

Thread B (Holds sock lock, wants object lock):

    #2  gst_element_post_message_default at gstreamer/gst/gstelement.c:2069
    #3  gst_element_post_message at gstreamer/gst/gstelement.c:2123
    #4  gst_element_message_full_with_details at gstreamer/gst/gstelement.c:2259
    #5  gst_element_message_full at gstreamer/gst/gstelement.c:2298
    #6  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1407
    #7  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
    #8  gst_srt_object_write_to_callers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
    #9  gst_srt_object_write at gst-plugins-bad/ext/srt/gstsrtobject.c:1598
    #10 gst_srt_sink_render at gst-plugins-bad/ext/srt/gstsrtsink.c:179

Fixes d2d00e07ac.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1861>
2020-12-07 17:59:09 +00:00
..
gstsrt-enums.h srt: re-enable passphrase 2019-02-11 23:40:02 +00:00
gstsrt.c srt: Register a log handler 2020-10-06 12:39:04 +02:00
gstsrtobject.c srt: Don't take object lock calling gst_srt_object_get_stats 2020-12-07 17:59:09 +00:00
gstsrtobject.h srtsrc: Fix timestamping 2020-10-08 21:12:17 +00:00
gstsrtsink.c srt: Consume the error from gst_srt_object_write 2020-10-09 07:47:47 +00:00
gstsrtsink.h srt: Remove trailing whitespace 2020-04-15 10:42:47 +02:00
gstsrtsrc.c srtsrc: Prevent delay from being negative 2020-10-12 12:58:22 +00:00
gstsrtsrc.h srtsrc: Fix timestamping 2020-10-08 21:12:17 +00:00
meson.build srt: Move off deprecated srt_socket(). 2020-10-06 13:56:32 +02:00