Top | ![]() |
![]() |
![]() |
![]() |
The GstRTSPStreamTransport configures the transport used by a GstRTSPStream. It is usually manages by a GstRTSPSessionMedia object.
With gst_rtsp_stream_transport_set_callbacks()
, callbacks can be configured
to handle the RTP and RTCP packets from the stream, for example when they
need to be sent over TCP.
With gst_rtsp_stream_transport_set_active()
the transports are added and
removed from the stream.
A GstRTSPStream will call gst_rtsp_stream_transport_keep_alive()
when RTCP
is received from the client. It will also call
gst_rtsp_stream_transport_set_timed_out()
when a receiver has timed out.
Last reviewed on 2013-07-16 (1.0.0)
GstRTSPStreamTransport * gst_rtsp_stream_transport_new (GstRTSPStream *stream
,GstRTSPTransport *tr
);
Create a new GstRTSPStreamTransport that can be used to manage
stream
with transport tr
.
GstRTSPStream *
gst_rtsp_stream_transport_get_stream (GstRTSPStreamTransport *trans
);
Get the GstRTSPStream used when constructing trans
.
const GstRTSPTransport *
gst_rtsp_stream_transport_get_transport
(GstRTSPStreamTransport *trans
);
Get the transport configured in trans
.
void gst_rtsp_stream_transport_set_transport (GstRTSPStreamTransport *trans
,GstRTSPTransport *tr
);
Set tr
as the client transport. This function takes ownership of the
passed tr
.
const GstRTSPUrl *
gst_rtsp_stream_transport_get_url (GstRTSPStreamTransport *trans
);
Get the url configured in trans
.
void gst_rtsp_stream_transport_set_url (GstRTSPStreamTransport *trans
,const GstRTSPUrl *url
);
Set url
as the client url.
gchar * gst_rtsp_stream_transport_get_rtpinfo (GstRTSPStreamTransport *trans
,GstClockTime start_time
);
Get the RTP-Info string for trans
and start_time
.
gboolean (*GstRTSPSendFunc) (GstBuffer *buffer
,guint8 channel
,gpointer user_data
);
Function registered with gst_rtsp_stream_transport_set_callbacks()
and
called when buffer
must be sent on channel
.
void gst_rtsp_stream_transport_set_callbacks (GstRTSPStreamTransport *trans
,GstRTSPSendFunc send_rtp
,GstRTSPSendFunc send_rtcp
,gpointer user_data
,GDestroyNotify notify
);
Install callbacks that will be called when data for a stream should be sent to a client. This is usually used when sending RTP/RTCP over TCP.
void
(*GstRTSPKeepAliveFunc) (gpointer user_data
);
Function registered with gst_rtsp_stream_transport_set_keepalive()
and called
when the stream is active.
void gst_rtsp_stream_transport_set_keepalive (GstRTSPStreamTransport *trans
,GstRTSPKeepAliveFunc keep_alive
,gpointer user_data
,GDestroyNotify notify
);
Install callbacks that will be called when RTCP packets are received from the
receiver of trans
.
void
gst_rtsp_stream_transport_keep_alive (GstRTSPStreamTransport *trans
);
Signal the installed keep_alive callback for trans
.
gboolean gst_rtsp_stream_transport_set_active (GstRTSPStreamTransport *trans
,gboolean active
);
Activate or deactivate datatransfer configured in trans
.
void gst_rtsp_stream_transport_set_timed_out (GstRTSPStreamTransport *trans
,gboolean timedout
);
Set the timed out state of trans
to timedout
gboolean
gst_rtsp_stream_transport_is_timed_out
(GstRTSPStreamTransport *trans
);
Check if trans
is timed out.
gboolean gst_rtsp_stream_transport_send_rtcp (GstRTSPStreamTransport *trans
,GstBuffer *buffer
);
Send buffer
to the installed RTCP callback for trans
.
gboolean gst_rtsp_stream_transport_send_rtp (GstRTSPStreamTransport *trans
,GstBuffer *buffer
);
Send buffer
to the installed RTP callback for trans
.