mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 23:06:49 +00:00
srt: don't pass SRT socket ID to "caller-added,removed" signals
The caller's IP and port is enough for unique identification. Don't leak the socket handle since using it in unadvised libsrt calls from the application could break the SRT element. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1772>
This commit is contained in:
parent
4a58af4352
commit
327ad84e35
3 changed files with 16 additions and 20 deletions
|
@ -126,7 +126,7 @@ srt_caller_signal_removed (SRTCaller * caller, GstSRTObject * srtobject)
|
|||
* socket. Deliver the stats to the app before we throw them away. */
|
||||
gst_structure_free (stats);
|
||||
|
||||
g_signal_emit_by_name (srtobject->element, "caller-removed", caller->sock,
|
||||
g_signal_emit_by_name (srtobject->element, "caller-removed",
|
||||
caller->sockaddr);
|
||||
}
|
||||
|
||||
|
@ -990,7 +990,7 @@ thread_func (gpointer data)
|
|||
g_mutex_unlock (&srtobject->sock_lock);
|
||||
|
||||
/* notifying caller-added */
|
||||
g_signal_emit_by_name (srtobject->element, "caller-added", caller->sock,
|
||||
g_signal_emit_by_name (srtobject->element, "caller-added",
|
||||
caller->sockaddr);
|
||||
|
||||
if (gst_uri_handler_get_uri_type (GST_URI_HANDLER (srtobject->element)) ==
|
||||
|
|
|
@ -305,29 +305,27 @@ gst_srt_sink_class_init (GstSRTSinkClass * klass)
|
|||
/**
|
||||
* GstSRTSink::caller-added:
|
||||
* @gstsrtsink: the srtsink element that emitted this signal
|
||||
* @sock: the client socket descriptor that was added to srtsink
|
||||
* @addr: the #GSocketAddress that describes the @sock
|
||||
*
|
||||
* The given socket descriptor was added to srtsink.
|
||||
* @addr: the #GSocketAddress of the new caller
|
||||
*
|
||||
* A new caller has connected to @gstsrtsink.
|
||||
*/
|
||||
signals[SIG_CALLER_ADDED] =
|
||||
g_signal_new ("caller-added", G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstSRTSinkClass, caller_added),
|
||||
NULL, NULL, NULL, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_SOCKET_ADDRESS);
|
||||
NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_SOCKET_ADDRESS);
|
||||
|
||||
/**
|
||||
* GstSRTSink::caller-removed:
|
||||
* @gstsrtsink: the srtsink element that emitted this signal
|
||||
* @sock: the client socket descriptor that was added to srtsink
|
||||
* @addr: the #GSocketAddress that describes the @sock
|
||||
* @addr: the #GSocketAddress of the caller
|
||||
*
|
||||
* The given socket descriptor was removed from srtsink.
|
||||
* The given caller has disconnected.
|
||||
*/
|
||||
signals[SIG_CALLER_REMOVED] =
|
||||
g_signal_new ("caller-removed", G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstSRTSinkClass,
|
||||
caller_added), NULL, NULL, NULL, G_TYPE_NONE,
|
||||
2, G_TYPE_INT, G_TYPE_SOCKET_ADDRESS);
|
||||
1, G_TYPE_SOCKET_ADDRESS);
|
||||
|
||||
/**
|
||||
* GstSRTSink::caller-rejected:
|
||||
|
|
|
@ -362,29 +362,27 @@ gst_srt_src_class_init (GstSRTSrcClass * klass)
|
|||
/**
|
||||
* GstSRTSrc::caller-added:
|
||||
* @gstsrtsrc: the srtsrc element that emitted this signal
|
||||
* @sock: the client socket descriptor that was added to srtsrc
|
||||
* @addr: the #GSocketAddress that describes the @sock
|
||||
*
|
||||
* The given socket descriptor was added to srtsink.
|
||||
* @addr: the #GSocketAddress of the new caller
|
||||
*
|
||||
* A new caller has connected to srtsrc.
|
||||
*/
|
||||
signals[SIG_CALLER_ADDED] =
|
||||
g_signal_new ("caller-added", G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstSRTSrcClass, caller_added),
|
||||
NULL, NULL, NULL, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_SOCKET_ADDRESS);
|
||||
NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_SOCKET_ADDRESS);
|
||||
|
||||
/**
|
||||
* GstSRTSrc::caller-removed:
|
||||
* @gstsrtsrc: the srtsrc element that emitted this signal
|
||||
* @sock: the client socket descriptor that was added to srtsrc
|
||||
* @addr: the #GSocketAddress that describes the @sock
|
||||
* @addr: the #GSocketAddress of the caller
|
||||
*
|
||||
* The given socket descriptor was removed from srtsrc.
|
||||
* The given caller has disconnected.
|
||||
*/
|
||||
signals[SIG_CALLER_REMOVED] =
|
||||
g_signal_new ("caller-removed", G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstSRTSrcClass,
|
||||
caller_added), NULL, NULL, NULL, G_TYPE_NONE,
|
||||
2, G_TYPE_INT, G_TYPE_SOCKET_ADDRESS);
|
||||
1, G_TYPE_SOCKET_ADDRESS);
|
||||
|
||||
/**
|
||||
* GstSRTSrc::caller-rejected:
|
||||
|
|
Loading…
Reference in a new issue