wasapi: Integrate into the autotools build system

Patch based on a patch by Fabrizio Ciavatta <fabrizio.ciavatta@gmail.com>
This commit is contained in:
Sebastian Dröge 2012-11-30 11:37:37 +01:00
parent 3be147046d
commit f7f34f9f3f
3 changed files with 75 additions and 6 deletions

View file

@ -456,6 +456,54 @@ AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
AC_SUBST(HAVE_DIRECTSOUND)
])
dnl WASAPI
translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
HAVE_WASAPI="no"
save_CFLAGS="$CFLAGS"
save_LDFLAGS="$LDFLAGS"
save_LIBS="$LIBS"
CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
LIBS="$LIBS -lole32 -lwinmm -lksuser"
AC_MSG_CHECKING(for WASAPI LDFLAGS)
AC_LINK_IFELSE([
#include <windows.h>
#include <stdio.h>
#include <mmsystem.h>
#include <mmdeviceapi.h>
int main ()
{
HRESULT hr = S_OK;
hr = CoInitialize(NULL);
if (FAILED(hr)) {
printf("CoInitialize failed: hr = 0x%08x", hr);
return __LINE__;
}
int result = 0;
// result = do_everything(argc, argv);
CoUninitialize();
return result;
}
],
[HAVE_WASAPI="yes"],
[HAVE_WASAPI="no"])
AC_MSG_RESULT($HAVE_WASAPI)
CFLAGS=$save_CFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
if test "x$HAVE_WASAPI" = "xyes"; then
WASAPI_LIBS="-lole32 -lwinmm -lksuser"
AC_SUBST(WASAPI_LIBS)
fi
AC_SUBST(HAVE_WASAPI)
])
dnl Direct3D
translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [

View file

@ -28,6 +28,12 @@ endif
# CDROM_DIR=
# endif
if USE_WASAPI
WASAPI_DIR=wasapi
else
WASAPI_DIR=
endif
if USE_DIRECT3D
D3DVIDEOSINK_DIR=d3dvideosink
else
@ -148,7 +154,7 @@ else
UVCH264_DIR=
endif
SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTDRAW_DIR) $(DIRECTSOUND_DIR) $(DIRECTSHOW_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(OSX_VIDEO_DIR) $(PVR_DIR) $(QT_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR)
SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTDRAW_DIR) $(DIRECTSOUND_DIR) $(DIRECTSHOW_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(OSX_VIDEO_DIR) $(PVR_DIR) $(QT_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR)
DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia avc d3dvideosink decklink directdraw directsound dvb linsys fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
opensles osxvideo pvr2d qtwrapper shm uvch264 vcd vdpau wasapi wininet winks winscreencap

View file

@ -1,5 +1,20 @@
EXTRA_DIST = \
gstwasapi.c \
gstwasapisrc.c gstwasapisrc.h \
gstwasapisink.c gstwasapisink.h \
gstwasapiutil.c gstwasapiutil.h
plugin_LTLIBRARIES = libgstwasapi.la
libgstwasapi_la_SOURCES = gstwasapi.c \
gstwasapisrc.c \
gstwasapisink.c \
gstwasapiutil.c
libgstwasapi_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DCOBJMACROS=1
libgstwasapi_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgstaudio-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) \
$(WASAPI_LIBS)
libgstwasapi_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
if !GST_PLUGIN_BUILD_STATIC
libgstwasapi_la_LIBTOOLFLAGS = --tag=disable-static
endif
noinst_HEADERS = gstwasapisrc.h \
gstwasapisink.h \
gstwasapiutil.h