diff --git a/gst/rtsp-server/rtsp-client.c b/gst/rtsp-server/rtsp-client.c index b00993ae35..2b5895bb24 100644 --- a/gst/rtsp-server/rtsp-client.c +++ b/gst/rtsp-server/rtsp-client.c @@ -1833,6 +1833,8 @@ handle_setup_request (GstRTSPClient * client, GstRTSPContext * ctx) /* set in the session media transport */ trans = gst_rtsp_session_media_set_transport (sessmedia, stream, ct); + ctx->trans = trans; + /* configure the url used to set this transport, this we will use when * generating the response for the PLAY request */ gst_rtsp_stream_transport_set_url (trans, uri); diff --git a/gst/rtsp-server/rtsp-context.h b/gst/rtsp-server/rtsp-context.h index c2be87edc5..d21c31ae55 100644 --- a/gst/rtsp-server/rtsp-context.h +++ b/gst/rtsp-server/rtsp-context.h @@ -53,27 +53,29 @@ typedef struct _GstRTSPContext GstRTSPContext; * @media: the media for the url can be %NULL * @stream: the stream for the url can be %NULL * @response: the response + * @trans: the stream transport, can be %NULL * * Information passed around containing the context of a request. */ struct _GstRTSPContext { - GstRTSPServer *server; - GstRTSPConnection *conn; - GstRTSPClient *client; - GstRTSPMessage *request; - GstRTSPUrl *uri; - GstRTSPMethod method; - GstRTSPAuth *auth; - GstRTSPToken *token; - GstRTSPSession *session; - GstRTSPSessionMedia *sessmedia; - GstRTSPMediaFactory *factory; - GstRTSPMedia *media; - GstRTSPStream *stream; - GstRTSPMessage *response; + GstRTSPServer *server; + GstRTSPConnection *conn; + GstRTSPClient *client; + GstRTSPMessage *request; + GstRTSPUrl *uri; + GstRTSPMethod method; + GstRTSPAuth *auth; + GstRTSPToken *token; + GstRTSPSession *session; + GstRTSPSessionMedia *sessmedia; + GstRTSPMediaFactory *factory; + GstRTSPMedia *media; + GstRTSPStream *stream; + GstRTSPMessage *response; + GstRTSPStreamTransport *trans; /*< private >*/ - gpointer _gst_reserved[GST_PADDING]; + gpointer _gst_reserved[GST_PADDING - 1]; }; GType gst_rtsp_context_get_type (void);