Commit f90dac8d authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

rtsp-connection: Make use of new GstRTSPMessage API for directly storing a...

rtsp-connection: Make use of new GstRTSPMessage API for directly storing a body buffer and add API for writing multiple messages

By doing so we can send a whole GstBufferList and each memory in the
contained buffers without copying into a single memory area and with a
single writev() call. This improves performance considerably for
high-packet-rate streams.

This depends on
to be efficient, otherwise each chunk of memory is a separate write()

parent b3c0d8b8
...@@ -1840,6 +1840,7 @@ gst_rtsp_connection_write ...@@ -1840,6 +1840,7 @@ gst_rtsp_connection_write
gst_rtsp_connection_poll gst_rtsp_connection_poll
gst_rtsp_connection_send gst_rtsp_connection_send
gst_rtsp_connection_receive gst_rtsp_connection_receive
gst_rtsp_connection_next_timeout gst_rtsp_connection_next_timeout
...@@ -1892,6 +1893,7 @@ gst_rtsp_watch_unref ...@@ -1892,6 +1893,7 @@ gst_rtsp_watch_unref
gst_rtsp_watch_attach gst_rtsp_watch_attach
gst_rtsp_watch_reset gst_rtsp_watch_reset
gst_rtsp_watch_send_message gst_rtsp_watch_send_message
gst_rtsp_watch_write_data gst_rtsp_watch_write_data
gst_rtsp_watch_get_send_backlog gst_rtsp_watch_get_send_backlog
gst_rtsp_watch_set_send_backlog gst_rtsp_watch_set_send_backlog
This diff is collapsed.
...@@ -136,6 +136,10 @@ GST_RTSP_API ...@@ -136,6 +136,10 @@ GST_RTSP_API
GstRTSPResult gst_rtsp_connection_send (GstRTSPConnection *conn, GstRTSPMessage *message, GstRTSPResult gst_rtsp_connection_send (GstRTSPConnection *conn, GstRTSPMessage *message,
GTimeVal *timeout); GTimeVal *timeout);
GstRTSPResult gst_rtsp_connection_send_messages (GstRTSPConnection *conn, GstRTSPMessage *messages, guint n_messages,
GTimeVal *timeout);
GstRTSPResult gst_rtsp_connection_receive (GstRTSPConnection *conn, GstRTSPMessage *message, GstRTSPResult gst_rtsp_connection_receive (GstRTSPConnection *conn, GstRTSPMessage *message,
GTimeVal *timeout); GTimeVal *timeout);
...@@ -313,6 +317,12 @@ GstRTSPResult gst_rtsp_watch_send_message (GstRTSPWatch *watch, ...@@ -313,6 +317,12 @@ GstRTSPResult gst_rtsp_watch_send_message (GstRTSPWatch *watch,
GstRTSPMessage *message, GstRTSPMessage *message,
guint *id); guint *id);
GstRTSPResult gst_rtsp_watch_send_messages (GstRTSPWatch *watch,
GstRTSPMessage *messages,
guint n_messages,
guint *id);
GstRTSPResult gst_rtsp_watch_wait_backlog (GstRTSPWatch * watch, GstRTSPResult gst_rtsp_watch_wait_backlog (GstRTSPWatch * watch,
GTimeVal *timeout); GTimeVal *timeout);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment