rtsp-client: add gst_rtsp_client_get_stream_transport()

This will be used in the onvif tests in order to validate the
data transmitted over TCP: for streaming to continue after a
data message has been provided to client->send_func, the client
is responsible for marking the message as sent on the relevant
stream transport.
This commit is contained in:
Mathieu Duponchelle 2018-11-05 15:34:20 +01:00
parent 52d20df0f4
commit 7640cb8f21
2 changed files with 23 additions and 0 deletions

View file

@ -4581,6 +4581,26 @@ gst_rtsp_client_send_message (GstRTSPClient * client, GstRTSPSession * session,
return GST_RTSP_OK;
}
/**
* gst_rtsp_client_get_stream_transport:
*
* This is useful when providing a send function through
* gst_rtsp_client_set_send_func() when doing RTSP over TCP:
* the send function must call gst_rtsp_stream_transport_message_sent ()
* on the appropriate transport when data has been received for streaming
* to continue.
*
* Returns: (transfer none) (nullable): the #GstRTSPStreamTransport associated with @channel.
*
* Since: 1.18
*/
GstRTSPStreamTransport *
gst_rtsp_client_get_stream_transport (GstRTSPClient * self, guint8 channel)
{
return g_hash_table_lookup (self->priv->transports,
GINT_TO_POINTER ((gint) channel));
}
static gboolean
do_send_messages (GstRTSPClient * client, GstRTSPMessage * messages,
guint n_messages, gboolean close, gpointer user_data)

View file

@ -272,6 +272,9 @@ GList * gst_rtsp_client_session_filter (GstRTSPClient *client,
GstRTSPClientSessionFilterFunc func,
gpointer user_data);
GST_RTSP_SERVER_API
GstRTSPStreamTransport * gst_rtsp_client_get_stream_transport (GstRTSPClient *client,
guint8 channel);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC