Hi guys!
It seems there is a problem with the latest GSTRTSPServer. It doesn't listen on a socket or establish a connection. Firstly in rtsp-server.c there is an ifdef missing (line 615...): gst_rtsp_server_get_io_channel(...){ ... /* create IO channel for the socket */ #ifdef G_OS_WIN32 channel = g_io_channel_win32_new_socket (sockfd); #else channel = g_io_channel_unix_new (sockfd); #endif ... Then the client connects but the server doesn't react on the client's OPTIONS request. Any ideas? I guess it must be something with polling the socket. Cheers, mat _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
The problem is in glib. Don't allow multiple watches on the same socket and we have one for the server and another for each client.
https://bugzilla.gnome.org/show_bug.cgi?id=338943 Cheers, Jose El mar, 11-10-2011 a las 18:12 +0200, Matthias Dodt escribió: Hi guys! It seems there is a problem with the latest GSTRTSPServer. It doesn't listen on a socket or establish a connection. Firstly in rtsp-server.c there is an ifdef missing (line 615...): gst_rtsp_server_get_io_channel(...){ ... /* create IO channel for the socket */ #ifdef G_OS_WIN32 channel = g_io_channel_win32_new_socket (sockfd); #else channel = g_io_channel_unix_new (sockfd); #endif ... Then the client connects but the server doesn't react on the client's OPTIONS request. Any ideas? I guess it must be something with polling the socket. Cheers, mat _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hola Jose;-)!
Did you submit a bug report for the RTSPServer about this? I guess this means a lot of code-changes for the RTSP Server. Probably it wouldn't make sense to wait for GLib to get updated because the error got reported in 2006 and still is not fixed. Cheers, Mat ________________________________ Von: gstreamer-devel-bounces+mdodt=[hidden email] [mailto:gstreamer-devel-bounces+mdodt=[hidden email]] Im Auftrag von listas Gesendet: 11 October 2011 19:47 An: [hidden email] Betreff: Re: Latest RTSPServer broken on windows The problem is in glib. Don't allow multiple watches on the same socket and we have one for the server and another for each client. https://bugzilla.gnome.org/show_bug.cgi?id=338943 Cheers, Jose El mar, 11-10-2011 a las 18:12 +0200, Matthias Dodt escribió: Hi guys! It seems there is a problem with the latest GSTRTSPServer. It doesn't listen on a socket or establish a connection. Firstly in rtsp-server.c there is an ifdef missing (line 615...): gst_rtsp_server_get_io_channel(...){ ... /* create IO channel for the socket */ #ifdef G_OS_WIN32 channel = g_io_channel_win32_new_socket (sockfd); #else channel = g_io_channel_unix_new (sockfd); #endif ... Then the client connects but the server doesn't react on the client's OPTIONS request. Any ideas? I guess it must be something with polling the socket. Cheers, mat _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hallo Mat,
I just fire a bug about this. https://bugzilla.gnome.org/show_bug.cgi?id=661530 Regards, Jose El mié, 12-10-2011 a las 09:20 +0200, Matthias Dodt escribió: Hola Jose;-)! Did you submit a bug report for the RTSPServer about this? I guess this means a lot of code-changes for the RTSP Server. Probably it wouldn't make sense to wait for GLib to get updated because the error got reported in 2006 and still is not fixed. Cheers, Mat ________________________________ Von: [hidden email] [[hidden email]] Im Auftrag von listas Gesendet: 11 October 2011 19:47 An: [hidden email] Betreff: Re: Latest RTSPServer broken on windows The problem is in glib. Don't allow multiple watches on the same socket and we have one for the server and another for each client. https://bugzilla.gnome.org/show_bug.cgi?id=338943 Cheers, Jose El mar, 11-10-2011 a las 18:12 +0200, Matthias Dodt escribió: Hi guys! It seems there is a problem with the latest GSTRTSPServer. It doesn't listen on a socket or establish a connection. Firstly in rtsp-server.c there is an ifdef missing (line 615...): gst_rtsp_server_get_io_channel(...){ ... /* create IO channel for the socket */ #ifdef G_OS_WIN32 channel = g_io_channel_win32_new_socket (sockfd); #else channel = g_io_channel_unix_new (sockfd); #endif ... Then the client connects but the server doesn't react on the client's OPTIONS request. Any ideas? I guess it must be something with polling the socket. Cheers, mat _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by listas
Hi Jose!
We found a workaround for the RTSPServer problem on windows. Besides
the changes mentioned before the following method gst_rtsp_source_chek(GSource *
source) in gstrtspconnection.c (in
plugins-base\gst-libs\gst\rtsp):
static gboolean
gst_rtsp_source_check (GSource * source) { GstRTSPWatch *watch = (GstRTSPWatch *) source; #ifdef G_OS_WIN32
gboolean rv=FALSE; watch->readfd.revents=0; watch->writefd.revents=0; gst_poll_wait(watch->conn->fdset,0); if(gst_poll_fd_can_read(watch->conn->fdset,watch->conn->readfd)){ watch->readfd.revents |= G_IO_IN; rv=TRUE; } if(gst_poll_fd_can_write(watch->conn->fdset,watch->conn->writefd)){ watch->writefd.revents |= G_IO_OUT; rv=TRUE; } return rv; #else
if (watch->readfd.revents &
READ_COND)
return TRUE; if (watch->writefd.revents &
WRITE_COND)
return TRUE; return FALSE;
#end if
} I am
not sure if this is the best solution- would be nice if somebody could evaluate
this approach and crosscheck if it works-
Thanks!
best,
mat
Von: gstreamer-devel-bounces+mdodt=[hidden email] [mailto:gstreamer-devel-bounces+mdodt=[hidden email]] Im Auftrag von listas Gesendet: 11 October 2011 19:47 An: [hidden email] Betreff: Re: Latest RTSPServer broken on windows https://bugzilla.gnome.org/show_bug.cgi?id=338943 Cheers, Jose El mar, 11-10-2011 a las 18:12 +0200, Matthias Dodt escribió: Hi guys! It seems there is a problem with the latest GSTRTSPServer. It doesn't listen on a socket or establish a connection. Firstly in rtsp-server.c there is an ifdef missing (line 615...): gst_rtsp_server_get_io_channel(...){ ... /* create IO channel for the socket */ #ifdef G_OS_WIN32 channel = g_io_channel_win32_new_socket (sockfd); #else channel = g_io_channel_unix_new (sockfd); #endif ... Then the client connects but the server doesn't react on the client's OPTIONS request. Any ideas? I guess it must be something with polling the socket. Cheers, mat _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |