winegstreamer: Add wine GStreamer parser filter framework.
This commit is contained in:
parent
b185c6a9c3
commit
2914d65579
|
@ -618,6 +618,8 @@ FONTCONFIGINCL
|
||||||
CUPSINCL
|
CUPSINCL
|
||||||
AUDIOIOLIBS
|
AUDIOIOLIBS
|
||||||
ALSALIBS
|
ALSALIBS
|
||||||
|
GSTREAMER_INCL
|
||||||
|
GSTREAMER_LIBS
|
||||||
ESDLIBS
|
ESDLIBS
|
||||||
ESDINCL
|
ESDINCL
|
||||||
ESDCONFIG
|
ESDCONFIG
|
||||||
|
@ -779,6 +781,7 @@ with_gphoto
|
||||||
with_glu
|
with_glu
|
||||||
with_gnutls
|
with_gnutls
|
||||||
with_gsm
|
with_gsm
|
||||||
|
with_gstreamer
|
||||||
with_hal
|
with_hal
|
||||||
with_icns
|
with_icns
|
||||||
with_jack
|
with_jack
|
||||||
|
@ -1468,6 +1471,7 @@ Optional Packages:
|
||||||
--without-glu do not use the GLU library
|
--without-glu do not use the GLU library
|
||||||
--without-gnutls do not use GnuTLS (schannel support)
|
--without-gnutls do not use GnuTLS (schannel support)
|
||||||
--without-gsm do not use libgsm (GSM 06.10 codec support)
|
--without-gsm do not use libgsm (GSM 06.10 codec support)
|
||||||
|
--without-gstreamer do not use GStreamer (codecs support)
|
||||||
--without-hal do not use HAL (dynamic device support)
|
--without-hal do not use HAL (dynamic device support)
|
||||||
--without-icns do not use ICNS icon support
|
--without-icns do not use ICNS icon support
|
||||||
--without-jack do not use the Jack sound support
|
--without-jack do not use the Jack sound support
|
||||||
|
@ -2586,6 +2590,12 @@ if test "${with_gsm+set}" = set; then :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --with-gstreamer was given.
|
||||||
|
if test "${with_gstreamer+set}" = set; then :
|
||||||
|
withval=$with_gstreamer;
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Check whether --with-hal was given.
|
# Check whether --with-hal was given.
|
||||||
if test "${with_hal+set}" = set; then :
|
if test "${with_hal+set}" = set; then :
|
||||||
withval=$with_hal;
|
withval=$with_hal;
|
||||||
|
@ -10478,6 +10488,80 @@ fi
|
||||||
CFLAGS="$save_CFLAGS"
|
CFLAGS="$save_CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$with_gstreamer" != "xno"
|
||||||
|
then
|
||||||
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
if test "$PKG_CONFIG" != "false"; then
|
||||||
|
ac_gst_incl=""
|
||||||
|
for i in `$PKG_CONFIG --cflags gstreamer-app-0.10 2>/dev/null`
|
||||||
|
do
|
||||||
|
case "$i" in
|
||||||
|
-I*) ac_gst_incl="$ac_gst_incl $i";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
ac_gst_libs="`$PKG_CONFIG --libs gstreamer-app-0.10 2>/dev/null`"
|
||||||
|
CPPFLAGS="$CPPFLAGS $ac_gst_incl"
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "gst/app/gstappsink.h" "ac_cv_header_gst_app_gstappsink_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_gst_app_gstappsink_h" = x""yes; then :
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gst_app_buffer_new in -lgstapp-0.10" >&5
|
||||||
|
$as_echo_n "checking for gst_app_buffer_new in -lgstapp-0.10... " >&6; }
|
||||||
|
if test "${ac_cv_lib_gstapp_0_10_gst_app_buffer_new+set}" = set; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lgstapp-0.10 $ac_gst_libs $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 gst_app_buffer_new ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return gst_app_buffer_new ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_gstapp_0_10_gst_app_buffer_new=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_gstapp_0_10_gst_app_buffer_new=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gstapp_0_10_gst_app_buffer_new" >&5
|
||||||
|
$as_echo "$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" >&6; }
|
||||||
|
if test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" = x""yes; then :
|
||||||
|
GSTREAMER_LIBS="$ac_gst_libs"
|
||||||
|
|
||||||
|
GSTREAMER_INCL="$ac_gst_incl"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||||
|
fi
|
||||||
|
if test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" != xyes; then :
|
||||||
|
case "x$with_gstreamer" in
|
||||||
|
x) as_fn_append wine_notices "|gstreamer-0.10 ${notice_platform}development files not found, gstreamer support disabled" ;;
|
||||||
|
xno) ;;
|
||||||
|
*) as_fn_error $? "gstreamer-0.10 ${notice_platform}development files not found, gstreamer support disabled
|
||||||
|
This is an error since --with-gstreamer was requested." "$LINENO" 5 ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" = xyes || enable_winegstreamer=${enable_winegstreamer:-no}
|
||||||
|
|
||||||
ALSALIBS=""
|
ALSALIBS=""
|
||||||
|
|
||||||
if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
|
if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
|
||||||
|
@ -14941,6 +15025,7 @@ wine_fn_config_dll winecoreaudio.drv enable_winecoreaudio_drv
|
||||||
wine_fn_config_lib winecrt0
|
wine_fn_config_lib winecrt0
|
||||||
wine_fn_config_dll wined3d enable_wined3d wined3d
|
wine_fn_config_dll wined3d enable_wined3d wined3d
|
||||||
wine_fn_config_dll wineesd.drv enable_wineesd_drv
|
wine_fn_config_dll wineesd.drv enable_wineesd_drv
|
||||||
|
wine_fn_config_dll winegstreamer enable_winegstreamer
|
||||||
wine_fn_config_dll winejack.drv enable_winejack_drv
|
wine_fn_config_dll winejack.drv enable_winejack_drv
|
||||||
wine_fn_config_dll winejoystick.drv enable_winejoystick_drv
|
wine_fn_config_dll winejoystick.drv enable_winejoystick_drv
|
||||||
wine_fn_config_dll winemapi enable_winemapi
|
wine_fn_config_dll winemapi enable_winemapi
|
||||||
|
|
27
configure.ac
27
configure.ac
|
@ -54,6 +54,7 @@ AC_ARG_WITH(glu, AS_HELP_STRING([--without-glu],[do not use the GLU librar
|
||||||
AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel 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)]),
|
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])
|
[if test "x$withval" = "xno"; then ac_cv_header_gsm_h=no; ac_cv_header_gsm_gsm_h=no; fi])
|
||||||
|
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)]))
|
AC_ARG_WITH(hal, AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)]))
|
||||||
AC_ARG_WITH(icns, AS_HELP_STRING([--without-icns],[do not use ICNS icon support]),
|
AC_ARG_WITH(icns, AS_HELP_STRING([--without-icns],[do not use ICNS icon support]),
|
||||||
[if test "x$withval" = "xno"; then ac_cv_header_icns_h=no; fi])
|
[if test "x$withval" = "xno"; then ac_cv_header_icns_h=no; fi])
|
||||||
|
@ -1403,6 +1404,31 @@ then
|
||||||
CFLAGS="$save_CFLAGS"
|
CFLAGS="$save_CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl **** Check for gstreamer ****
|
||||||
|
if test "x$with_gstreamer" != "xno"
|
||||||
|
then
|
||||||
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
if test "$PKG_CONFIG" != "false"; then
|
||||||
|
ac_gst_incl=""
|
||||||
|
for i in `$PKG_CONFIG --cflags gstreamer-app-0.10 2>/dev/null`
|
||||||
|
do
|
||||||
|
case "$i" in
|
||||||
|
-I*) ac_gst_incl="$ac_gst_incl $i";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
ac_gst_libs="`$PKG_CONFIG --libs gstreamer-app-0.10 2>/dev/null`"
|
||||||
|
CPPFLAGS="$CPPFLAGS $ac_gst_incl"
|
||||||
|
AC_CHECK_HEADER([gst/app/gstappsink.h],
|
||||||
|
[AC_CHECK_LIB(gstapp-0.10,gst_app_buffer_new,
|
||||||
|
[AC_SUBST(GSTREAMER_LIBS,"$ac_gst_libs")
|
||||||
|
AC_SUBST(GSTREAMER_INCL,"$ac_gst_incl")],,[$ac_gst_libs])])
|
||||||
|
fi
|
||||||
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||||
|
fi
|
||||||
|
WINE_NOTICE_WITH(gstreamer,[test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" != xyes],
|
||||||
|
[gstreamer-0.10 ${notice_platform}development files not found, gstreamer support disabled])
|
||||||
|
test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" = xyes || enable_winegstreamer=${enable_winegstreamer:-no}
|
||||||
|
|
||||||
dnl **** Check for ALSA 1.x ****
|
dnl **** Check for ALSA 1.x ****
|
||||||
AC_SUBST(ALSALIBS,"")
|
AC_SUBST(ALSALIBS,"")
|
||||||
if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
|
if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
|
||||||
|
@ -2719,6 +2745,7 @@ WINE_CONFIG_DLL(winecoreaudio.drv)
|
||||||
WINE_CONFIG_LIB(winecrt0)
|
WINE_CONFIG_LIB(winecrt0)
|
||||||
WINE_CONFIG_DLL(wined3d,,[wined3d])
|
WINE_CONFIG_DLL(wined3d,,[wined3d])
|
||||||
WINE_CONFIG_DLL(wineesd.drv)
|
WINE_CONFIG_DLL(wineesd.drv)
|
||||||
|
WINE_CONFIG_DLL(winegstreamer)
|
||||||
WINE_CONFIG_DLL(winejack.drv)
|
WINE_CONFIG_DLL(winejack.drv)
|
||||||
WINE_CONFIG_DLL(winejoystick.drv)
|
WINE_CONFIG_DLL(winejoystick.drv)
|
||||||
WINE_CONFIG_DLL(winemapi)
|
WINE_CONFIG_DLL(winemapi)
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
TOPSRCDIR = @top_srcdir@
|
||||||
|
TOPOBJDIR = ../..
|
||||||
|
SRCDIR = @srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
MODULE = winegstreamer
|
||||||
|
IMPORTS = strmbase strmiids uuid winmm msacm32 msvfw32 ole32 oleaut32 user32 gdi32 advapi32
|
||||||
|
EXTRAINCL = @GSTREAMER_INCL@
|
||||||
|
EXTRALIBS = @GSTREAMER_LIBS@ @LIBPTHREAD@
|
||||||
|
|
||||||
|
C_SRCS = \
|
||||||
|
main.c
|
||||||
|
|
||||||
|
RC_SRCS = \
|
||||||
|
rsrc.rc
|
||||||
|
|
||||||
|
@MAKE_DLL_RULES@
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* GStreamer Guids
|
||||||
|
*
|
||||||
|
* Copyright 2010 Maarten Lankhorst for CodeWeavers
|
||||||
|
* Copyright 2010 Aric Stewart for CodeWeavers
|
||||||
|
*
|
||||||
|
* This file contains the (internal) driver registration functions,
|
||||||
|
* driver enumeration APIs and DirectDraw creation functions.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
DEFINE_GUID(WINESUBTYPE_Gstreamer, 0xffffffff, 0x128f, 0x4dd1, 0xad, 0x22, 0xbe, 0xcf, 0xa6, 0x6c, 0xe7, 0xaa);
|
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
* GStreamer splitter + decoder, adapted from parser.c
|
||||||
|
*
|
||||||
|
* Copyright 2010 Maarten Lankhorst for CodeWeavers
|
||||||
|
*
|
||||||
|
* This file contains the (internal) driver registration functions,
|
||||||
|
* driver enumeration APIs and DirectDraw creation functions.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_PRIVATE_INCLUDED__
|
||||||
|
#define __GST_PRIVATE_INCLUDED__
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#define COBJMACROS
|
||||||
|
#include "windef.h"
|
||||||
|
#include "winbase.h"
|
||||||
|
#include "wtypes.h"
|
||||||
|
#include "winuser.h"
|
||||||
|
#include "dshow.h"
|
||||||
|
#include "strmif.h"
|
||||||
|
#include "wine/strmbase.h"
|
||||||
|
|
||||||
|
/* enum media */
|
||||||
|
void dump_AM_MEDIA_TYPE(const AM_MEDIA_TYPE * pmt);
|
||||||
|
#endif /* __GST_PRIVATE_INCLUDED__ */
|
|
@ -0,0 +1,154 @@
|
||||||
|
/* Gstreamer Base Functions
|
||||||
|
*
|
||||||
|
* Copyright 2002 Lionel Ulmer
|
||||||
|
* Copyright 2010 Aric Stewart, CodeWeavers
|
||||||
|
*
|
||||||
|
* 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 <stdarg.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <gst/app/gstappsink.h>
|
||||||
|
#include <gst/app/gstappsrc.h>
|
||||||
|
#include <gst/app/gstappbuffer.h>
|
||||||
|
|
||||||
|
#include "initguid.h"
|
||||||
|
#include "windef.h"
|
||||||
|
#include "winbase.h"
|
||||||
|
#include "winuser.h"
|
||||||
|
#include "winreg.h"
|
||||||
|
#include "winerror.h"
|
||||||
|
#include "advpub.h"
|
||||||
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
#include "wine/unicode.h"
|
||||||
|
#include "gst_private.h"
|
||||||
|
#include "gst_guids.h"
|
||||||
|
|
||||||
|
static HINSTANCE hInst = NULL;
|
||||||
|
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(gstreamer);
|
||||||
|
|
||||||
|
FactoryTemplate const g_Templates[] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const int g_cTemplates = 0;
|
||||||
|
|
||||||
|
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
|
||||||
|
{
|
||||||
|
if (fdwReason == DLL_PROCESS_ATTACH)
|
||||||
|
hInst = hInstDLL;
|
||||||
|
return STRMBASE_DllMain(hInstDLL, fdwReason, lpv);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GStreamer common functions */
|
||||||
|
|
||||||
|
void dump_AM_MEDIA_TYPE(const AM_MEDIA_TYPE * pmt)
|
||||||
|
{
|
||||||
|
if (!pmt)
|
||||||
|
return;
|
||||||
|
TRACE("\t%s\n\t%s\n\t...\n\t%s\n", debugstr_guid(&pmt->majortype), debugstr_guid(&pmt->subtype), debugstr_guid(&pmt->formattype));
|
||||||
|
}
|
||||||
|
|
||||||
|
#define INF_SET_ID(id) \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
static CHAR name[] = #id; \
|
||||||
|
\
|
||||||
|
pse[i].pszName = name; \
|
||||||
|
clsids[i++] = &id; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define INF_SET_CLSID(clsid) INF_SET_ID(CLSID_ ## clsid)
|
||||||
|
|
||||||
|
static HRESULT register_server(BOOL do_register)
|
||||||
|
{
|
||||||
|
HRESULT hres;
|
||||||
|
HMODULE hAdvpack;
|
||||||
|
HRESULT (WINAPI *pRegInstall)(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable);
|
||||||
|
STRTABLEA strtable;
|
||||||
|
STRENTRYA pse[3];
|
||||||
|
static CLSID const *clsids[3];
|
||||||
|
unsigned int i = 0;
|
||||||
|
|
||||||
|
static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0};
|
||||||
|
|
||||||
|
TRACE("(%x)\n", do_register);
|
||||||
|
|
||||||
|
INF_SET_CLSID(AsyncReader);
|
||||||
|
INF_SET_ID(MEDIATYPE_Stream);
|
||||||
|
INF_SET_ID(WINESUBTYPE_Gstreamer);
|
||||||
|
|
||||||
|
for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) {
|
||||||
|
pse[i].pszValue = HeapAlloc(GetProcessHeap(),0,39);
|
||||||
|
sprintf(pse[i].pszValue, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
|
||||||
|
clsids[i]->Data1, clsids[i]->Data2, clsids[i]->Data3, clsids[i]->Data4[0],
|
||||||
|
clsids[i]->Data4[1], clsids[i]->Data4[2], clsids[i]->Data4[3], clsids[i]->Data4[4],
|
||||||
|
clsids[i]->Data4[5], clsids[i]->Data4[6], clsids[i]->Data4[7]);
|
||||||
|
}
|
||||||
|
|
||||||
|
strtable.cEntries = sizeof(pse)/sizeof(pse[0]);
|
||||||
|
strtable.pse = pse;
|
||||||
|
|
||||||
|
hAdvpack = LoadLibraryW(wszAdvpack);
|
||||||
|
pRegInstall = (void *)GetProcAddress(hAdvpack, "RegInstall");
|
||||||
|
|
||||||
|
hres = pRegInstall(hInst, do_register ? "RegisterDll" : "UnregisterDll", &strtable);
|
||||||
|
|
||||||
|
for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++)
|
||||||
|
HeapFree(GetProcessHeap(),0,pse[i].pszValue);
|
||||||
|
|
||||||
|
if(FAILED(hres)) {
|
||||||
|
ERR("RegInstall failed: %08x\n", hres);
|
||||||
|
return hres;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hres;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef INF_SET_CLSID
|
||||||
|
#undef INF_SET_ID
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DllRegisterServer
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI DllRegisterServer(void)
|
||||||
|
{
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("\n");
|
||||||
|
|
||||||
|
hr = AMovieDllRegisterServer2(TRUE);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = register_server(TRUE);
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DllUnregisterServer
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI DllUnregisterServer(void)
|
||||||
|
{
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("\n");
|
||||||
|
|
||||||
|
hr = AMovieDllRegisterServer2(FALSE);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = register_server(FALSE);
|
||||||
|
return hr;
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define WINE_OLESELFREGISTER
|
||||||
|
#define WINE_FILEDESCRIPTION_STR "Wine GStreamer"
|
||||||
|
#define WINE_FILENAME_STR "winegstreamer.dll"
|
||||||
|
#define WINE_FILEVERSION 0,0,1,0
|
||||||
|
#define WINE_FILEVERSION_STR "0.0.1.0"
|
||||||
|
#define WINE_PRODUCTVERSION 0,0,1,0
|
||||||
|
#define WINE_PRODUCTVERSION_STR "1.0.1.0"
|
||||||
|
|
||||||
|
#include "wine/wine_common_ver.rc"
|
||||||
|
|
||||||
|
/* @makedep: winegstreamer.inf */
|
||||||
|
REGINST REGINST winegstreamer.inf
|
|
@ -0,0 +1,12 @@
|
||||||
|
[version]
|
||||||
|
Signature="$CHICAGO$"
|
||||||
|
|
||||||
|
[RegisterDll]
|
||||||
|
AddReg=MediaParsing.Reg
|
||||||
|
|
||||||
|
[UnregisterDll]
|
||||||
|
DelReg=MediaParsing.Reg
|
||||||
|
|
||||||
|
[MediaParsing.Reg]
|
||||||
|
HKCR,"Media Type\%MEDIATYPE_Stream%\%WINESUBTYPE_Gstreamer%","0",,"0,1,00,0"
|
||||||
|
HKCR,"Media Type\%MEDIATYPE_Stream%\%WINESUBTYPE_Gstreamer%","Source Filter",,"%CLSID_AsyncReader%"
|
|
@ -0,0 +1,5 @@
|
||||||
|
@ stdcall -private DllMain(long long ptr)
|
||||||
|
@ stdcall -private DllCanUnloadNow() STRMBASE_DllCanUnloadNow
|
||||||
|
@ stdcall -private DllGetClassObject(ptr ptr ptr) STRMBASE_DllGetClassObject
|
||||||
|
@ stdcall -private DllRegisterServer()
|
||||||
|
@ stdcall -private DllUnregisterServer()
|
|
@ -2551,6 +2551,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
|
||||||
11,,wbemprox.dll,1
|
11,,wbemprox.dll,1
|
||||||
11,,wiaservc.dll,1
|
11,,wiaservc.dll,1
|
||||||
11,,windowscodecs.dll,1
|
11,,windowscodecs.dll,1
|
||||||
|
11,,winegstreamer.dll,1
|
||||||
11,,wintrust.dll,1
|
11,,wintrust.dll,1
|
||||||
11,,wmiutils.dll,1
|
11,,wmiutils.dll,1
|
||||||
11,,wuapi.dll,1
|
11,,wuapi.dll,1
|
||||||
|
|
Loading…
Reference in New Issue