Latest RTSPServer broken on windows

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Latest RTSPServer broken on windows

Matthias Dodt
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
Reply | Threaded
Open this post in threaded view
|

Re: Latest RTSPServer broken on windows

listas
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
Reply | Threaded
Open this post in threaded view
|

AW: Latest RTSPServer broken on windows

Matthias Dodt
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
Reply | Threaded
Open this post in threaded view
|

Re: AW: Latest RTSPServer broken on windows

listas
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
Reply | Threaded
Open this post in threaded view
|

AW: Latest RTSPServer broken on windows >> workaround -

Matthias Dodt
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

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