[gstreamer-bugs] [Bug 345336] New: modplug plugin doesn't work on AMD64
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Mon Jun 19 10:24:21 PDT 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=345336
GStreamer | gst-plugins-bad | Ver: HEAD CVS
Summary: modplug plugin doesn't work on AMD64
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: stefan at space.twc.de
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
Compiling the GStreamer modplug plugin from CVS on AMD64 produces a non-working
plugin (files can not be played correctly). Linking against the debian unstable
system supplied libmodplug instead of the version from the GStreamer CVS fixes
the problem.
I assume that the only problem is that the stdafx.h header of the version of
libmodplug in the GStreamer CVS makes assumptions on the width of certain C
types that are no longer valid on AMD64. Where stdafx.h as found in the
GStreamer CVS does unconditionally define:
typedef unsigned long DWORD;
typedef long LONG;
and others (which are 32-bit types on 32-bit systems, and 64-bit types on
AMD64), the debian supplied libmodplug/stdafx.h has:
#if defined(__x86_64__)
typedef unsigned int ULONG;
typedef unsigned int UINT;
typedef unsigned int DWORD;
typedef int LONG;
typedef long LONGLONG;
typedef int * LPLONG;
typedef unsigned int * LPDWORD;
#else
typedef unsigned long ULONG;
typedef unsigned long UINT;
typedef unsigned long DWORD;
typedef long LONG;
typedef long long LONGLONG;
typedef long * LPLONG;
typedef unsigned long * LPDWORD;
#endif
I have checked the upstream version of libmodplug (which nowerdays is 0.8,
GStreamer CVS includes 0.7), and it also contains the #ifdef specialcasing.
So I think there are three ways of solving the problem:
1. update the GStreamer CVS to libmodplug-0.8
2. link against a system-supplied libmodplug when available
(via configure check)
3. try to backfold the debian changes against libmodplug-0.7 into GStreamer
I suggest going with the first alternative. Let me know if you need a patch.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list