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
0e7fd41a
Commit
0e7fd41a
authored
Oct 20, 2021
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msgsm32.acm: Use the bundled gsm codec and build with msvcrt.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
116ea9ce
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
16 additions
and
193 deletions
+16
-193
configure
configure
+0
-78
configure.ac
configure.ac
+0
-12
Makefile.in
dlls/msgsm32.acm/Makefile.in
+2
-3
msgsm32.c
dlls/msgsm32.acm/msgsm32.c
+14
-91
config.h.in
include/config.h.in
+0
-9
No files found.
configure
View file @
0e7fd41a
...
...
@@ -864,7 +864,6 @@ with_gettext
with_gettextpo
with_gphoto
with_gnutls
with_gsm
with_gssapi
with_gstreamer
with_hal
...
...
@@ -2653,7 +2652,6 @@ Optional Packages:
--with-gettextpo use the GetTextPO library to rebuild po files
--without-gphoto do not use gphoto (Digital Camera support)
--without-gnutls do not use GnuTLS (schannel support)
--without-gsm do not use libgsm (GSM 06.10 codec support)
--without-gssapi do not use GSSAPI (Kerberos SSP support)
--without-gstreamer do not use GStreamer (codecs support)
--without-hal do not use HAL (dynamic device support)
...
...
@@ -4078,12 +4076,6 @@ if test "${with_gnutls+set}" = set; then :
fi
# Check whether --with-gsm was given.
if
test
"
${
with_gsm
+set
}
"
=
set
;
then
:
withval
=
$with_gsm
;
if
test
"x
$withval
"
=
"xno"
;
then
ac_cv_header_gsm_h
=
no
;
ac_cv_header_gsm_gsm_h
=
no
;
fi
fi
# Check whether --with-gssapi was given.
if
test
"
${
with_gssapi
+set
}
"
=
set
;
then
:
withval
=
$with_gssapi
;
...
...
@@ -7482,8 +7474,6 @@ for ac_header in \
elf.h
\
float.h
\
gettext-po.h
\
gsm.h
\
gsm/gsm.h
\
ieeefp.h
\
libproc.h
\
link.h
\
...
...
@@ -15083,74 +15073,6 @@ esac
fi
if
test
"
$ac_cv_header_gsm_h
"
=
"yes"
-o
"
$ac_cv_header_gsm_gsm_h
"
=
"yes"
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for -lgsm"
>
&5
$as_echo_n
"checking for -lgsm... "
>
&6
;
}
if
${
ac_cv_lib_soname_gsm
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
ac_check_soname_save_LIBS
=
$LIBS
LIBS
=
"-lgsm
$LIBS
"
cat
confdefs.h -
<<
_ACEOF
>conftest.
$ac_ext
/* 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
if
ac_fn_c_try_link
"
$LINENO
"
;
then
:
case
"
$LIBEXT
"
in
dll
)
ac_cv_lib_soname_gsm
=
`
$ac_cv_path_LDD
conftest.exe |
grep
"gsm"
|
sed
-e
"s/dll.*/dll/"
';2,$d'
`
;;
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
=
`
$READELF
-d
conftest
$ac_exeext
|
grep
"NEEDED.*libgsm
\\
.
$LIBEXT
"
|
sed
-e
"s/^.*
\\
[
\\
(libgsm
\\
.
$LIBEXT
[^ ]*
\\
)
\\
].*
$/
\1
/"
';2,$d'
`
if
${
ac_cv_lib_soname_gsm
:+false
}
:
;
then
:
ac_cv_lib_soname_gsm
=
`
$LDD
conftest
$ac_exeext
|
grep
"libgsm
\\
.
$LIBEXT
"
|
sed
-e
"s/^.*
\(
libgsm
\.
$LIBEXT
[^ ]*
\)
.*
$/
\1
/"
';2,$d'
`
fi
;;
esac
else
ac_cv_lib_soname_gsm
=
fi
rm
-f
core conftest.err conftest.
$ac_objext
\
conftest
$ac_exeext
conftest.
$ac_ext
LIBS
=
$ac_check_soname_save_LIBS
fi
if
${
ac_cv_lib_soname_gsm
:+false
}
:
;
then
:
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: not found"
>
&5
$as_echo
"not found"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$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_gsm
"
in
x
)
as_fn_append wine_notices
"|libgsm
${
notice_platform
}
development files not found, gsm 06.10 codec won't be supported."
;;
xno
)
;;
*
)
as_fn_error
$?
"libgsm
${
notice_platform
}
development files not found, gsm 06.10 codec won't be supported.
This is an error since --with-gsm was requested."
"
$LINENO
"
5
;;
esac
fi
if
test
"x
$with_krb5
"
!=
"xno"
then
if
${
KRB5_CFLAGS
:+false
}
:
;
then
:
...
...
configure.ac
View file @
0e7fd41a
...
...
@@ -51,8 +51,6 @@ AC_ARG_WITH(gettextpo, AS_HELP_STRING([--with-gettextpo],[use the GetTextPO libr
[if test "x$withval" = "xno"; then ac_cv_header_gettext_po_h=no; fi])
AC_ARG_WITH(gphoto, AS_HELP_STRING([--without-gphoto],[do not use gphoto (Digital Camera support)]))
AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel support)]))
AC_ARG_WITH(gsm, AS_HELP_STRING([--without-gsm],[do not use libgsm (GSM 06.10 codec support)]),
[if test "x$withval" = "xno"; then ac_cv_header_gsm_h=no; ac_cv_header_gsm_gsm_h=no; fi])
AC_ARG_WITH(gssapi, AS_HELP_STRING([--without-gssapi],[do not use GSSAPI (Kerberos SSP support)]))
AC_ARG_WITH(gstreamer, AS_HELP_STRING([--without-gstreamer],[do not use GStreamer (codecs support)]))
AC_ARG_WITH(hal, AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)]))
...
...
@@ -444,8 +442,6 @@ AC_CHECK_HEADERS(\
elf.h \
float.h \
gettext-po.h \
gsm.h \
gsm/gsm.h \
ieeefp.h \
libproc.h \
link.h \
...
...
@@ -1675,14 +1671,6 @@ fi
WINE_NOTICE_WITH(fontconfig,[test "x$ac_cv_lib_soname_fontconfig" = "x"],
[fontconfig ${notice_platform}development files not found, fontconfig won't be supported.])
dnl **** Check for gsm codec ****
if test "$ac_cv_header_gsm_h" = "yes" -o "$ac_cv_header_gsm_gsm_h" = "yes"
then
WINE_CHECK_SONAME(gsm,gsm_create)
fi
WINE_NOTICE_WITH(gsm,[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 krb5 ****
if test "x$with_krb5" != "xno"
then
...
...
dlls/msgsm32.acm/Makefile.in
View file @
0e7fd41a
MODULE
=
msgsm32.acm
IMPORTS
=
winmm user32
EXTRADLLFLAGS
=
-mcygwin
IMPORTS
=
$(GSM_PE_LIBS)
winmm user32
EXTRAINCL
=
$(GSM_PE_CFLAGS)
C_SRCS
=
msgsm32.c
dlls/msgsm32.acm/msgsm32.c
View file @
0e7fd41a
...
...
@@ -20,18 +20,11 @@
* 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_GSM_H
#include <gsm/gsm.h>
#elif defined(HAVE_GSM_H)
#include <gsm.h>
#endif
#include "windef.h"
#include "winbase.h"
...
...
@@ -46,63 +39,6 @@
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 = dlsym(libgsm_handle, #f)) == NULL) { \
dlclose(libgsm_handle); \
libgsm_handle = NULL; \
return FALSE; \
}
/***********************************************************************
* GSM_drvLoad
*/
static
BOOL
GSM_drvLoad
(
void
)
{
libgsm_handle
=
dlopen
(
SONAME_LIBGSM
,
RTLD_NOW
);
if
(
libgsm_handle
)
{
LOAD_FUNCPTR
(
gsm_create
);
LOAD_FUNCPTR
(
gsm_destroy
);
LOAD_FUNCPTR
(
gsm_option
);
LOAD_FUNCPTR
(
gsm_encode
);
LOAD_FUNCPTR
(
gsm_decode
);
return
TRUE
;
}
else
{
ERR
(
"Couldn't load "
SONAME_LIBGSM
": %s
\n
"
,
dlerror
());
return
FALSE
;
}
}
/***********************************************************************
* GSM_drvFree
*/
static
LRESULT
GSM_drvFree
(
void
)
{
if
(
libgsm_handle
)
dlclose
(
libgsm_handle
);
return
1
;
}
#else
static
LRESULT
GSM_drvFree
(
void
)
{
return
1
;
}
#endif
/***********************************************************************
* GSM_DriverDetails
...
...
@@ -355,7 +291,6 @@ static LRESULT GSM_FormatSuggest(PACMDRVFORMATSUGGEST adfs)
return
MMSYSERR_NOERROR
;
}
#ifdef SONAME_LIBGSM
/***********************************************************************
* GSM_StreamOpen
*
...
...
@@ -373,16 +308,14 @@ static LRESULT GSM_StreamOpen(PACMDRVSTREAMINSTANCE adsi)
if
(
adsi
->
pwfxSrc
->
nSamplesPerSec
!=
adsi
->
pwfxDst
->
nSamplesPerSec
)
return
MMSYSERR_NOTSUPPORTED
;
if
(
!
GSM_drvLoad
())
return
MMSYSERR_NOTSUPPORTED
;
r
=
pgsm_create
();
r
=
gsm_create
();
if
(
!
r
)
return
MMSYSERR_NOMEM
;
if
(
p
gsm_option
(
r
,
GSM_OPT_WAV49
,
&
used
)
<
0
)
if
(
gsm_option
(
r
,
GSM_OPT_WAV49
,
&
used
)
<
0
)
{
FIXME
(
"Your libgsm library doesn't support GSM_OPT_WAV49
\n
"
);
FIXME
(
"Please recompile libgsm with WAV49 support
\n
"
);
p
gsm_destroy
(
r
);
gsm_destroy
(
r
);
return
MMSYSERR_NOTSUPPORTED
;
}
adsi
->
dwDriver
=
(
DWORD_PTR
)
r
;
...
...
@@ -395,7 +328,7 @@ static LRESULT GSM_StreamOpen(PACMDRVSTREAMINSTANCE adsi)
*/
static
LRESULT
GSM_StreamClose
(
PACMDRVSTREAMINSTANCE
adsi
)
{
p
gsm_destroy
((
gsm
)
adsi
->
dwDriver
);
gsm_destroy
((
gsm
)
adsi
->
dwDriver
);
return
MMSYSERR_NOERROR
;
}
...
...
@@ -469,7 +402,7 @@ static LRESULT GSM_StreamConvert(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMHEADER
}
/* Reset the index to 0, just to be sure */
p
gsm_option
(
r
,
GSM_OPT_FRAME_INDEX
,
&
odd
);
gsm_option
(
r
,
GSM_OPT_FRAME_INDEX
,
&
odd
);
/* The native ms codec writes 65 bytes, and this requires 2 libgsm calls.
* First 32 bytes are written, or 33 bytes read
...
...
@@ -487,12 +420,12 @@ static LRESULT GSM_StreamConvert(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMHEADER
while
(
nsrc
+
65
<=
adsh
->
cbSrcLength
)
{
/* Decode data */
if
(
p
gsm_decode
(
r
,
src
+
nsrc
,
(
gsm_signal
*
)(
dst
+
ndst
))
<
0
)
if
(
gsm_decode
(
r
,
src
+
nsrc
,
(
gsm_signal
*
)(
dst
+
ndst
))
<
0
)
FIXME
(
"Couldn't decode data
\n
"
);
ndst
+=
320
;
nsrc
+=
33
;
if
(
p
gsm_decode
(
r
,
src
+
nsrc
,
(
gsm_signal
*
)(
dst
+
ndst
))
<
0
)
if
(
gsm_decode
(
r
,
src
+
nsrc
,
(
gsm_signal
*
)(
dst
+
ndst
))
<
0
)
FIXME
(
"Couldn't decode data
\n
"
);
ndst
+=
320
;
nsrc
+=
32
;
...
...
@@ -516,10 +449,10 @@ static LRESULT GSM_StreamConvert(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMHEADER
while
(
nsrc
+
640
<=
adsh
->
cbSrcLength
)
{
/* Encode data */
p
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
nsrc
+=
320
;
ndst
+=
32
;
p
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
nsrc
+=
320
;
ndst
+=
33
;
}
...
...
@@ -533,25 +466,25 @@ static LRESULT GSM_StreamConvert(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMHEADER
if
(
todo
>
320
)
{
p
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)(
src
+
nsrc
),
dst
+
ndst
);
ndst
+=
32
;
todo
-=
320
;
nsrc
+=
320
;
memcpy
(
emptiness
,
src
+
nsrc
,
todo
);
memset
(
emptiness
+
todo
,
0
,
320
-
todo
);
p
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
ndst
+=
33
;
}
else
{
memcpy
(
emptiness
,
src
+
nsrc
,
todo
);
memset
(
emptiness
+
todo
,
0
,
320
-
todo
);
p
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
ndst
+=
32
;
memset
(
emptiness
,
0
,
todo
);
p
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
gsm_encode
(
r
,
(
gsm_signal
*
)
emptiness
,
dst
+
ndst
);
ndst
+=
33
;
}
nsrc
=
adsh
->
cbSrcLength
;
...
...
@@ -564,8 +497,6 @@ static LRESULT GSM_StreamConvert(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMHEADER
return
MMSYSERR_NOERROR
;
}
#endif
/**************************************************************************
* GSM_DriverProc [exported]
*/
...
...
@@ -578,7 +509,7 @@ LRESULT CALLBACK GSM_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
switch
(
wMsg
)
{
case
DRV_LOAD
:
return
1
;
case
DRV_FREE
:
return
GSM_drvFree
()
;
case
DRV_FREE
:
return
1
;
case
DRV_OPEN
:
return
1
;
case
DRV_CLOSE
:
return
1
;
case
DRV_ENABLE
:
return
1
;
...
...
@@ -604,7 +535,6 @@ LRESULT CALLBACK GSM_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
case
ACMDM_FORMAT_SUGGEST
:
return
GSM_FormatSuggest
((
PACMDRVFORMATSUGGEST
)
dwParam1
);
#ifdef SONAME_LIBGSM
case
ACMDM_STREAM_OPEN
:
return
GSM_StreamOpen
((
PACMDRVSTREAMINSTANCE
)
dwParam1
);
...
...
@@ -616,13 +546,6 @@ LRESULT CALLBACK GSM_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
case
ACMDM_STREAM_CONVERT
:
return
GSM_StreamConvert
((
PACMDRVSTREAMINSTANCE
)
dwParam1
,
(
PACMDRVSTREAMHEADER
)
dwParam2
);
#else
case
ACMDM_STREAM_OPEN
:
WARN
(
"libgsm support not compiled in!
\n
"
);
case
ACMDM_STREAM_CLOSE
:
case
ACMDM_STREAM_SIZE
:
case
ACMDM_STREAM_CONVERT
:
return
MMSYSERR_NOTSUPPORTED
;
#endif
case
ACMDM_HARDWARE_WAVE_CAPS_INPUT
:
case
ACMDM_HARDWARE_WAVE_CAPS_OUTPUT
:
...
...
include/config.h.in
View file @
0e7fd41a
...
...
@@ -141,12 +141,6 @@
/* Define if we have the libgphoto2_port development environment */
#undef HAVE_GPHOTO2_PORT
/* Define to 1 if you have the <gsm/gsm.h> header file. */
#undef HAVE_GSM_GSM_H
/* Define to 1 if you have the <gsm.h> header file. */
#undef HAVE_GSM_H
/* Define to 1 if you have the <gssapi/gssapi_ext.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_EXT_H
...
...
@@ -944,9 +938,6 @@
/* 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 libgssapi_krb5 library. */
#undef SONAME_LIBGSSAPI_KRB5
...
...
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