From: Michael Smith Date: Tue, 24 Nov 2009 19:13:06 +0000 (-0800) Subject: multiudpsink: return error message on windows too. X-Git-Tag: 1.19.3~509^2~9411 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d6adc8f3c8d237d5bb40677b80995cdb9d7da2a;p=platform%2Fupstream%2Fgstreamer.git multiudpsink: return error message on windows too. --- diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index 9a5aaa6..27fb8b2 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -402,8 +402,20 @@ socket_last_error_code () static gchar * socket_last_error_message () { - /* TODO: windows version using FormatMessage() */ +#ifdef G_OS_WIN32 + int errorcode = WSAGetLastError (); + wchar_t buf[1024]; + DWORD result = + FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, errorcode, 0, buf, sizeof (buf) / sizeof (wchar_t), NULL); + if (FAILED (result)) { + return g_strdup ("failed to get error message from system"); + } else { + return g_convert (buf, "UTF-16", "UTF-8", NULL, NULL, NULL); + } +#else return g_strdup (g_strerror (errno)); +#endif } static GstFlowReturn