diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c index df4c4d3b47..0cdc6c619f 100644 --- a/gst-libs/gst/rtsp/gstrtspconnection.c +++ b/gst-libs/gst/rtsp/gstrtspconnection.c @@ -2394,6 +2394,47 @@ gst_rtsp_connection_set_ip (GstRTSPConnection * conn, const gchar * ip) conn->ip = g_strdup (ip); } +/** + * gst_rtsp_connection_get_readfd: + * @conn: a #GstRTSPConnection + * + * Get the file descriptor for reading. + * + * Returns: the file descriptor used for reading or -1 on error. The file + * descriptor remains valid until the connection is closed. + * + * Since: 0.10.23 + */ +gint +gst_rtsp_connection_get_readfd (const GstRTSPConnection * conn) +{ + g_return_val_if_fail (conn != NULL, -1); + g_return_val_if_fail (conn->readfd != NULL, -1); + + return conn->readfd->fd; +} + +/** + * gst_rtsp_connection_get_writefd: + * @conn: a #GstRTSPConnection + * + * Get the file descriptor for writing. + * + * Returns: the file descriptor used for writing or -1 on error. The file + * descriptor remains valid until the connection is closed. + * + * Since: 0.10.23 + */ +gint +gst_rtsp_connection_get_writefd (const GstRTSPConnection * conn) +{ + g_return_val_if_fail (conn != NULL, -1); + g_return_val_if_fail (conn->writefd != NULL, -1); + + return conn->writefd->fd; +} + + /** * gst_rtsp_connection_set_tunneled: * @conn: a #GstRTSPConnection diff --git a/gst-libs/gst/rtsp/gstrtspconnection.h b/gst-libs/gst/rtsp/gstrtspconnection.h index cfa6c37e6d..372d4af754 100644 --- a/gst-libs/gst/rtsp/gstrtspconnection.h +++ b/gst-libs/gst/rtsp/gstrtspconnection.h @@ -107,6 +107,9 @@ GstRTSPUrl * gst_rtsp_connection_get_url (const GstRTSPConnection *c const gchar * gst_rtsp_connection_get_ip (const GstRTSPConnection *conn); void gst_rtsp_connection_set_ip (GstRTSPConnection *conn, const gchar *ip); +gint gst_rtsp_connection_get_readfd (const GstRTSPConnection *conn); +gint gst_rtsp_connection_get_writefd (const GstRTSPConnection *conn); + /* tunneling */ void gst_rtsp_connection_set_tunneled (GstRTSPConnection *conn, gboolean tunneled); gboolean gst_rtsp_connection_is_tunneled (const GstRTSPConnection *conn); diff --git a/win32/common/libgstrtsp.def b/win32/common/libgstrtsp.def index 9f10b86700..75c5544ef7 100644 --- a/win32/common/libgstrtsp.def +++ b/win32/common/libgstrtsp.def @@ -11,8 +11,10 @@ EXPORTS gst_rtsp_connection_flush gst_rtsp_connection_free gst_rtsp_connection_get_ip + gst_rtsp_connection_get_readfd gst_rtsp_connection_get_tunnelid gst_rtsp_connection_get_url + gst_rtsp_connection_get_writefd gst_rtsp_connection_is_tunneled gst_rtsp_connection_next_timeout gst_rtsp_connection_poll