[gstreamer-bugs] [Bug 515312] New: [RFC] Make networking elements work on windows

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Feb 8 15:29:23 PST 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=515312

  GStreamer | gstreamer (core) | Ver: HEAD CVS
           Summary: [RFC] Make networking elements work on windows
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: damien.lespiau at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


This patch tries to make networking elements actually work on Windows.

It's only a RFC quality patch, but it makes udpsrc/udpsink/rtspsrc work and
thus, streaming pipelines built upon them are working like a charm.

In fact, it's a kind of "compatibility layer" to make BSD-socket code work on
windows. This layer is in the gstreamer/gst/windows directory. It is just a
thin wrapper around winsocks calls and a bunch of defines to do the trick.

For instance, ioctl (udpsrc->sock, FIONREAD, &readsize) will be turned into an
gst_win_fd_ioctl () call on windows, a thin wrapper around ioctlsocket. You
write Unix code, it works for free on windows ! (well that's the final goal)

$ diffstat gstreamer-winsocks-v0.patch 
 configure.ac                    |   14 
 gst/Makefile.am                 |   13 
 gst/gst_private.h               |    4 
 gst/gstinfo.c                   |    8 
 gst/windows/Makefile.am         |   22 +
 gst/windows/gstwin-common.h     |  112 +++++++
 gst/windows/gstwin-fd.c         |  166 +++++++++++
 gst/windows/gstwin-fd.h         |   48 +++
 gst/windows/gstwin-libcmisc.c   |   55 +++
 gst/windows/gstwin-libcmisc.h   |   33 ++
 gst/windows/gstwin-networking.c |  594
++++++++++++++++++++++++++++++++++++++++
 gst/windows/gstwin-networking.h |  118 +++++++
 gst/windows/gstwindows.h        |   31 ++
 13 files changed, 1215 insertions(+), 3 deletions(-)

Using this base, I've cleaned-up a few elements

$ diffstat gst-base-winsocks-v0.patch 
 rtsp/gstrtspconnection.c |  127
+++++------------------------------------------
 sdp/gstsdpmessage.c      |    2 
 2 files changed, 17 insertions(+), 112 deletions(-)

$ diffstat gst-good-winsocks-v0.patch 
 Makefile.am       |    4 +-
 gstdynudpsink.c   |   10 +++----
 gstdynudpsink.h   |   17 ++++++++++-
 gstmultiudpsink.c |   17 +++++++----
 gstmultiudpsink.h |   16 ++++++++++-
 gstudp.c          |    5 ---
 gstudpnetutils.c  |   62 -------------------------------------------
 gstudpnetutils.h  |   77
------------------------------------------------------
 gstudpsink.h      |    1 
 gstudpsrc.c       |   46 ++++----------------------------
 gstudpsrc.h       |   14 ++++++++-
 11 files changed, 67 insertions(+), 202 deletions(-)

Any comments ? Are GStreamer developers interested in such a piece of code ? If
so, what can be done to make the patch become a good candidate for inclusion ?


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=515312.




More information about the Gstreamer-bugs mailing list