[Bug 771525] gst-rtsp-server: poor performance while streaming RTP over RTSP

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Dec 12 17:41:38 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=771525

Tim-Philipp Müller <t.i.m at zen.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #335699|none                        |needs-work
             status|                            |

--- Comment #4 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
Comment on attachment 335699
  --> https://bugzilla.gnome.org/attachment.cgi?id=335699
Use buffer list functionality

Hi,

Thanks for the patch!

>diff --git a/gst/rtsp-server/rtsp-stream-transport.h b/gst/rtsp-server/rtsp-stream-transport.h
>index 8e2d366..2a83de5 100644
>--- a/gst/rtsp-server/rtsp-stream-transport.h
>+++ b/gst/rtsp-server/rtsp-stream-transport.h
>@@ -53,7 +53,7 @@ typedef struct _GstRTSPStreamTransportPrivate GstRTSPStreamTransportPrivate;
>  *
>  * Returns: %TRUE on success
>  */
>-typedef gboolean (*GstRTSPSendFunc)      (GstBuffer *buffer, guint8 channel, gpointer user_data);
>+typedef gboolean (*GstRTSPSendFunc)      (GstMiniObject *obj, guint8 channel, gpointer user_data);

I am not sure if this is something we can do. Not because of the type change in
the header file, but is it possible that someone subclassed this externally and
overrode this vfunc? And now they might suddenly get passed a buffer list
instead of a buffer. Also, it makes things difficult for bindings, which don't
know that GstBuffer and GstBufferList are mini objects. Don't know if that
would ever make sense in practice, but it is a public header if I'm not
mistaken.

I think the best would be to add a new SendListFunc + vfunc, and make
gst_rtsp_stream_transport_send_rtp_list() iterate using ->send() if the
->send_list() vfunc is NULL.

Does that make sense?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list