Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
58b5a3f6
Commit
58b5a3f6
authored
Aug 03, 2009
by
Maarten Lankhorst
Committed by
Alexandre Julliard
Aug 04, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msgsm32.acm: Implement a stub dll.
parent
b8e97560
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
348 additions
and
0 deletions
+348
-0
configure
configure
+117
-0
configure.ac
configure.ac
+12
-0
Makefile.in
dlls/msgsm32.acm/Makefile.in
+12
-0
msgsm32.acm.spec
dlls/msgsm32.acm/msgsm32.acm.spec
+1
-0
msgsm32.c
dlls/msgsm32.acm/msgsm32.c
+198
-0
config.h.in
include/config.h.in
+6
-0
wine.inf.in
tools/wine.inf.in
+2
-0
No files found.
configure
View file @
58b5a3f6
...
...
@@ -826,6 +826,7 @@ with_freetype
with_gphoto
with_glu
with_gnutls
with_libgsm
with_hal
with_jack
with_jpeg
...
...
@@ -1516,6 +1517,7 @@ Optional Packages:
--without-gphoto do not use gphoto (Digital Camera support)
--without-glu do not use the GLU library
--without-gnutls do not use GnuTLS (schannel support)
--without-libgsm do not use libgsm (GSM 06.10 codec support)
--without-hal do not use HAL (dynamic device support)
--without-jack do not use the Jack sound support
--without-jpeg do not use JPEG
...
...
@@ -2141,6 +2143,12 @@ if test "${with_gnutls+set}" = set; then
fi
# Check whether --with-libgsm was given.
if
test
"
${
with_libgsm
+set
}
"
=
set
;
then
withval
=
$with_libgsm
;
if
test
"x
$withval
"
=
"xno"
;
then
ac_cv_header_gsm_h
=
no
;
fi
fi
# Check whether --with-hal was given.
if
test
"
${
with_hal
+set
}
"
=
set
;
then
withval
=
$with_hal
;
...
...
@@ -5741,6 +5749,7 @@ done
for
ac_header
in
\
AudioUnit/AudioUnit.h
\
Carbon/Carbon.h
\
...
...
@@ -5764,6 +5773,7 @@ for ac_header in \
fontconfig/fontconfig.h
\
getopt.h
\
grp.h
\
gsm.h
\
ieeefp.h
\
inet/mib2.h
\
io.h
\
...
...
@@ -16644,6 +16654,104 @@ esac
fi
if
test
"
$ac_cv_header_gsm_h
"
=
"yes"
then
{
$as_echo
"
$as_me
:
$LINENO
: checking for -lgsm"
>
&5
$as_echo_n
"checking for -lgsm... "
>
&6
;
}
if
test
"
${
ac_cv_lib_soname_gsm
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
ac_check_soname_save_LIBS
=
$LIBS
LIBS
=
"-lgsm
$LIBS
"
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char gsm_create ();
int
main ()
{
return gsm_create ();
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
conftest
$ac_exeext
if
{
(
ac_try
=
"
$ac_link
"
case
"((
$ac_try
"
in
*
\"
*
|
*
\`
*
|
*
\\
*
)
ac_try_echo
=
\$
ac_try
;;
*
)
ac_try_echo
=
$ac_try
;;
esac
eval
ac_try_echo
=
"
\"\$
as_me:
$LINENO
:
$ac_try_echo
\"
"
$as_echo
"
$ac_try_echo
"
)
>
&5
(
eval
"
$ac_link
"
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
$as_echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
test
-z
"
$ac_c_werror_flag
"
||
test
!
-s
conftest.err
}
&&
test
-s
conftest
$ac_exeext
&&
{
test
"
$cross_compiling
"
=
yes
||
$as_test_x
conftest
$ac_exeext
}
;
then
case
"
$LIBEXT
"
in
dll
)
;;
dylib
)
ac_cv_lib_soname_gsm
=
`
otool
-L
conftest
$ac_exeext
|
grep
"libgsm
\\
.[0-9A-Za-z.]*dylib"
|
sed
-e
"s/^.*
\/\(
libgsm
\.
[0-9A-Za-z.]*dylib
\)
.*
$/
\1
/"
';2,$d'
`
;;
*
)
ac_cv_lib_soname_gsm
=
`
$ac_cv_path_LDD
conftest
$ac_exeext
|
grep
"libgsm
\\
.
$LIBEXT
"
|
sed
-e
"s/^.*
\(
libgsm
\.
$LIBEXT
[^ ]*
\)
.*
$/
\1
/"
';2,$d'
`
;;
esac
else
$as_echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
fi
rm
-rf
conftest.dSYM
rm
-f
core conftest.err conftest.
$ac_objext
conftest_ipa8_conftest.oo
\
conftest
$ac_exeext
conftest.
$ac_ext
LIBS
=
$ac_check_soname_save_LIBS
fi
if
test
"x
$ac_cv_lib_soname_gsm
"
=
"x"
;
then
{
$as_echo
"
$as_me
:
$LINENO
: result: not found"
>
&5
$as_echo
"not found"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
$LINENO
: result:
$ac_cv_lib_soname_gsm
"
>
&5
$as_echo
"
$ac_cv_lib_soname_gsm
"
>
&6
;
}
cat
>>
confdefs.h
<<
_ACEOF
#define SONAME_LIBGSM "
$ac_cv_lib_soname_gsm
"
_ACEOF
fi
fi
if
test
"x
$ac_cv_lib_soname_gsm
"
=
"x"
;
then
case
"x
$with_libgsm
"
in
x
)
wine_warnings
=
"
$wine_warnings
|libgsm
${
notice_platform
}
development files not found, gsm 06.10 codec won't be supported."
;;
xno
)
;;
*
)
{
{
$as_echo
"
$as_me
:
$LINENO
: error: libgsm
${
notice_platform
}
development files not found, gsm 06.10 codec won't be supported.
This is an error since --with-libgsm was requested."
>
&5
$as_echo
"
$as_me
: error: libgsm
${
notice_platform
}
development files not found, gsm 06.10 codec won't be supported.
This is an error since --with-libgsm was requested."
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
;;
esac
fi
if
test
"
$ac_cv_header_jpeglib_h
"
=
"yes"
then
{
$as_echo
"
$as_me
:
$LINENO
: checking for -ljpeg"
>
&5
...
...
@@ -26361,6 +26469,14 @@ dlls/msg711.acm/Makefile: dlls/msg711.acm/Makefile.in dlls/Makedll.rules"
ac_config_files
=
"
$ac_config_files
dlls/msg711.acm/Makefile"
ALL_MAKEFILES
=
"
$ALL_MAKEFILES
\\
dlls/msgsm32.acm/Makefile"
test
"x
$enable_msgsm32_acm
"
!=
xno
&&
ALL_DLL_DIRS
=
"
$ALL_DLL_DIRS
\\
msgsm32.acm"
ALL_MAKEFILE_DEPENDS
=
"
$ALL_MAKEFILE_DEPENDS
dlls/msgsm32.acm/Makefile: dlls/msgsm32.acm/Makefile.in dlls/Makedll.rules"
ac_config_files
=
"
$ac_config_files
dlls/msgsm32.acm/Makefile"
ALL_MAKEFILES
=
"
$ALL_MAKEFILES
\\
dlls/mshtml.tlb/Makefile"
test
"x
$enable_mshtml_tlb
"
!=
xno
&&
ALL_DLL_DIRS
=
"
$ALL_DLL_DIRS
\\
mshtml.tlb"
...
...
@@ -29605,6 +29721,7 @@ do
"dlls/msdmo/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/msdmo/Makefile" ;;
"dlls/msftedit/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/msftedit/Makefile" ;;
"dlls/msg711.acm/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/msg711.acm/Makefile" ;;
"dlls/msgsm32.acm/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/msgsm32.acm/Makefile" ;;
"dlls/mshtml.tlb/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/mshtml.tlb/Makefile" ;;
"dlls/mshtml/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/mshtml/Makefile" ;;
"dlls/mshtml/tests/Makefile") CONFIG_FILES="
$CONFIG_FILES
dlls/mshtml/tests/Makefile" ;;
...
...
configure.ac
View file @
58b5a3f6
...
...
@@ -40,6 +40,8 @@ AC_ARG_WITH(gphoto, AS_HELP_STRING([--without-gphoto],[do not use gphoto (Dig
AC_ARG_WITH(glu, AS_HELP_STRING([--without-glu],[do not use the GLU library]),
[if test "x$withval" = "xno"; then ac_cv_header_GL_glu_h=no; fi])
AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel support)]))
AC_ARG_WITH(libgsm, AS_HELP_STRING([--without-libgsm],[do not use libgsm (GSM 06.10 codec support)]),
[if test "x$withval" = "xno"; then ac_cv_header_gsm_h=no; fi])
AC_ARG_WITH(hal, AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)]))
AC_ARG_WITH(jack, AS_HELP_STRING([--without-jack],[do not use the Jack sound support]),
[if test "x$withval" = "xno"; then ac_cv_header_jack_jack_h=no; fi])
...
...
@@ -286,6 +288,7 @@ AC_CHECK_HEADERS(\
fontconfig/fontconfig.h \
getopt.h \
grp.h \
gsm.h \
ieeefp.h \
inet/mib2.h \
io.h \
...
...
@@ -1338,6 +1341,14 @@ fi
WINE_WARNING_WITH(openssl,[test "x$ac_cv_lib_soname_ssl" = "x" -o "x$ac_cv_lib_soname_crypto" = "x"],
[OpenSSL ${notice_platform}development files not found, SSL won't be supported.])
dnl **** Check for gsm codec ****
if test "$ac_cv_header_gsm_h" = "yes"
then
WINE_CHECK_SONAME(gsm,gsm_create)
fi
WINE_WARNING_WITH(libgsm,[test "x$ac_cv_lib_soname_gsm" = "x"],
[libgsm ${notice_platform}development files not found, gsm 06.10 codec won't be supported.])
dnl **** Check for libjpeg ****
if test "$ac_cv_header_jpeglib_h" = "yes"
then
...
...
@@ -2226,6 +2237,7 @@ WINE_CONFIG_MAKEFILE([dlls/msdaps/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL
WINE_CONFIG_MAKEFILE([dlls/msdmo/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/msftedit/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/msg711.acm/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/msgsm32.acm/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/mshtml.tlb/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/mshtml/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/mshtml/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
...
...
dlls/msgsm32.acm/Makefile.in
0 → 100644
View file @
58b5a3f6
TOPSRCDIR
=
@top_srcdir@
TOPOBJDIR
=
../..
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
MODULE
=
msgsm32.acm
IMPORTS
=
winmm user32 kernel32
C_SRCS
=
msgsm32.c
@MAKE_DLL_RULES@
@DEPENDENCIES@
# everything below this line is overwritten by make depend
dlls/msgsm32.acm/msgsm32.acm.spec
0 → 100644
View file @
58b5a3f6
@ stdcall -private DriverProc(long long long long long) GSM_DriverProc
dlls/msgsm32.acm/msgsm32.c
0 → 100644
View file @
58b5a3f6
/*
* GSM 06.10 codec handling
* Copyright (C) 2009 Maarten Lankhorst
*
* Based on msg711.acm
* Copyright (C) 2002 Eric Pouech
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <wine/port.h>
#include <assert.h>
#include <stdarg.h>
#include <string.h>
#ifdef HAVE_GSM_H
#include <gsm.h>
#endif
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winnls.h"
#include "mmsystem.h"
#include "mmreg.h"
#include "msacm.h"
#include "msacmdrv.h"
#include "wine/library.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
gsm
);
#ifdef SONAME_LIBGSM
static
void
*
libgsm_handle
;
#define FUNCPTR(f) static typeof(f) * p##f
FUNCPTR
(
gsm_create
);
FUNCPTR
(
gsm_destroy
);
FUNCPTR
(
gsm_option
);
FUNCPTR
(
gsm_encode
);
FUNCPTR
(
gsm_decode
);
#define LOAD_FUNCPTR(f) \
if((p##f = wine_dlsym(libgsm_handle, #f, NULL, 0)) == NULL) { \
wine_dlclose(libgsm_handle, NULL, 0); \
libgsm_handle = NULL; \
return 0; \
}
/***********************************************************************
* GSM_drvLoad
*/
static
LRESULT
GSM_drvLoad
(
void
)
{
char
error
[
128
];
libgsm_handle
=
wine_dlopen
(
SONAME_LIBGSM
,
RTLD_NOW
,
error
,
sizeof
(
error
));
if
(
libgsm_handle
)
{
LOAD_FUNCPTR
(
gsm_create
);
LOAD_FUNCPTR
(
gsm_destroy
);
LOAD_FUNCPTR
(
gsm_option
);
LOAD_FUNCPTR
(
gsm_encode
);
LOAD_FUNCPTR
(
gsm_decode
);
return
1
;
}
else
{
ERR
(
"Couldn't load "
SONAME_LIBGSM
": %s
\n
"
,
error
);
return
0
;
}
}
/***********************************************************************
* GSM_drvFree
*/
static
LRESULT
GSM_drvFree
(
void
)
{
if
(
libgsm_handle
)
wine_dlclose
(
libgsm_handle
,
NULL
,
0
);
return
1
;
}
#else
static
LRESULT
GSM_drvLoad
(
void
)
{
return
1
;
}
static
LRESULT
GSM_drvFree
(
void
)
{
return
1
;
}
#endif
/***********************************************************************
* GSM_DriverDetails
*
*/
static
LRESULT
GSM_DriverDetails
(
PACMDRIVERDETAILSW
add
)
{
add
->
fccType
=
ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC
;
add
->
fccComp
=
ACMDRIVERDETAILS_FCCCOMP_UNDEFINED
;
/* Details found from probing native msgsm32.acm */
add
->
wMid
=
MM_MICROSOFT
;
add
->
wPid
=
36
;
add
->
vdwACM
=
0x3320000
;
add
->
vdwDriver
=
0x4000000
;
add
->
fdwSupport
=
ACMDRIVERDETAILS_SUPPORTF_CODEC
;
add
->
cFormatTags
=
2
;
add
->
cFilterTags
=
0
;
add
->
hicon
=
NULL
;
MultiByteToWideChar
(
CP_ACP
,
0
,
"Wine GSM 6.10"
,
-
1
,
add
->
szShortName
,
sizeof
(
add
->
szShortName
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
"Wine GSM 6.10 libgsm codec"
,
-
1
,
add
->
szLongName
,
sizeof
(
add
->
szLongName
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
"Brought to you by the Wine team..."
,
-
1
,
add
->
szCopyright
,
sizeof
(
add
->
szCopyright
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
"Refer to LICENSE file"
,
-
1
,
add
->
szLicensing
,
sizeof
(
add
->
szLicensing
)
/
sizeof
(
WCHAR
)
);
add
->
szFeatures
[
0
]
=
0
;
return
MMSYSERR_NOERROR
;
}
/**************************************************************************
* GSM_DriverProc [exported]
*/
LRESULT
CALLBACK
GSM_DriverProc
(
DWORD_PTR
dwDevID
,
HDRVR
hDriv
,
UINT
wMsg
,
LPARAM
dwParam1
,
LPARAM
dwParam2
)
{
TRACE
(
"(%08lx %p %04x %08lx %08lx);
\n
"
,
dwDevID
,
hDriv
,
wMsg
,
dwParam1
,
dwParam2
);
switch
(
wMsg
)
{
case
DRV_LOAD
:
return
GSM_drvLoad
();
case
DRV_FREE
:
return
GSM_drvFree
();
case
DRV_OPEN
:
return
1
;
case
DRV_CLOSE
:
return
1
;
case
DRV_ENABLE
:
return
1
;
case
DRV_DISABLE
:
return
1
;
case
DRV_QUERYCONFIGURE
:
return
1
;
case
DRV_CONFIGURE
:
MessageBoxA
(
0
,
"GSM 06.10 codec"
,
"Wine Driver"
,
MB_OK
);
return
1
;
case
DRV_INSTALL
:
return
DRVCNF_RESTART
;
case
DRV_REMOVE
:
return
DRVCNF_RESTART
;
case
ACMDM_DRIVER_NOTIFY
:
/* no caching from other ACM drivers is done so far */
return
MMSYSERR_NOERROR
;
case
ACMDM_DRIVER_DETAILS
:
return
GSM_DriverDetails
((
PACMDRIVERDETAILSW
)
dwParam1
);
/* Not implemented yet */
case
ACMDM_FORMATTAG_DETAILS
:
case
ACMDM_FORMAT_DETAILS
:
case
ACMDM_FORMAT_SUGGEST
:
case
ACMDM_STREAM_OPEN
:
case
ACMDM_STREAM_CLOSE
:
case
ACMDM_STREAM_SIZE
:
case
ACMDM_STREAM_CONVERT
:
return
MMSYSERR_NOTSUPPORTED
;
case
ACMDM_HARDWARE_WAVE_CAPS_INPUT
:
case
ACMDM_HARDWARE_WAVE_CAPS_OUTPUT
:
/* this converter is not a hardware driver */
case
ACMDM_FILTERTAG_DETAILS
:
case
ACMDM_FILTER_DETAILS
:
/* this converter is not a filter */
case
ACMDM_STREAM_RESET
:
/* only needed for asynchronous driver... we aren't, so just say it */
return
MMSYSERR_NOTSUPPORTED
;
case
ACMDM_STREAM_PREPARE
:
case
ACMDM_STREAM_UNPREPARE
:
/* nothing special to do here... so don't do anything */
return
MMSYSERR_NOERROR
;
default:
return
DefDriverProc
(
dwDevID
,
hDriv
,
wMsg
,
dwParam1
,
dwParam2
);
}
}
include/config.h.in
View file @
58b5a3f6
...
...
@@ -234,6 +234,9 @@
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
/* Define to 1 if you have the <gsm.h> header file. */
#undef HAVE_GSM_H
/* Define to 1 if you have the <hal/libhal.h> header file. */
#undef HAVE_HAL_LIBHAL_H
...
...
@@ -1128,6 +1131,9 @@
/* Define to the soname of the libgnutls library. */
#undef SONAME_LIBGNUTLS
/* Define to the soname of the libgsm library. */
#undef SONAME_LIBGSM
/* Define to the soname of the libhal library. */
#undef SONAME_LIBHAL
...
...
tools/wine.inf.in
View file @
58b5a3f6
...
...
@@ -2481,6 +2481,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,mapi32.dll
11,,msadp32.acm
11,,msg711.acm
11,,msgsm32.acm
11,,mshtml.dll
11,,msi.dll
11,,msiexec.exe
...
...
@@ -2543,6 +2544,7 @@ system.ini, drivers32,,"msacm.imaadpcm=imaadp32.acm"
system.ini, drivers32,,"msacm.msadpcm=msadp32.acm"
system.ini, drivers32,,"msacm.msg711=msg711.acm"
system.ini, drivers32,,"msacm.winemp3=winemp3.acm"
system.ini, drivers32,,"msacm.msgsm610=msgsm32.acm"
system.ini, drivers32,,"vidc.mrle=msrle32.dll"
system.ini, drivers32,,"vidc.msvc=msvidc32.dll"
system.ini, drivers32,,"vidc.cvid=iccvid.dll"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment