[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