After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 585361 - [gstwaveformsink.c] 'byte' is not defined in MSVCRT
[gstwaveformsink.c] 'byte' is not defined in MSVCRT
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.15
Other Windows
: Normal normal
: 0.10.16
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 578166 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-06-10 17:17 UTC by Andoni Morales
Modified: 2009-08-09 10:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andoni Morales 2009-06-10 17:17:14 UTC
'byte' is not defined in MSVCRT. Needs to apply this patch:

#ifdef _MSC_VER
#include <windows.h>
#define byte BYTE
#endif
Comment 1 Tim-Philipp Müller 2009-06-15 20:14:07 UTC
The windows.h include is already in the header file, so I guess all that's needed is a define or typedef. However, since this obviously compiled fine with other versions of MSVC, could you tell us for the record what version you're using?
Comment 2 Andoni Morales 2009-06-25 16:57:57 UTC
I'm sorry about the late reply. 
Indead replacing byte with BYTE should solve the issue.
I'm using the Visual Studio 8 compiler  linking against the CRT provided by the Windows Driver Kit (mvctr.dll), the same CRT used by mingw.
Comment 3 Tim-Philipp Müller 2009-06-25 17:55:26 UTC
Let's just use guint8 I say. Hope it works, please re-open if not, thanks:

 commit 2e13b85a016330729a3c6ac39d006d06fc1db996
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Thu Jun 25 18:51:12 2009 +0100

    waveformsink: use 'guint8' instead of 'byte' to fix compilation with MSVC8

    We need a cast here for pointer arithmetic to work correctly, but some
    MSVC versions don't seem to like 'byte', so use guint8 here. Hopefully
    fixes #585361.
Comment 4 LRN 2009-06-25 17:59:04 UTC
All Microsoft types are written in caps, i.e. DWORD, WORD, BYTE, HANDLE.
"byte" is an exception - it is defined in Microsoft header <rpcndr.h>, seems to be related to MIDL.
Anyway, you shouldn't rely on it, use BYTE instead.
Comment 5 Sebastian Dröge (slomo) 2009-08-09 10:55:44 UTC
*** Bug 578166 has been marked as a duplicate of this bug. ***