From 2cc1a6808d8963c47ca934ccc8a584b31bd92dbd Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 6 Mar 2009 16:31:29 +0100 Subject: [PATCH] rtsp: Add methods for getting the read/write fds API:gst_rtsp_connection_get_readfd() API:gst_rtsp_connection_get_writefd() --- gst-libs/gst/rtsp/gstrtspconnection.c | 41 +++++++++++++++++++++++++++ gst-libs/gst/rtsp/gstrtspconnection.h | 3 ++ win32/common/libgstrtsp.def | 2 ++ 3 files changed, 46 insertions(+) diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c index df4c4d3b4..0cdc6c619 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 cfa6c37e6..372d4af75 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 9f10b8670..75c5544ef 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 -- 2.34.1