/* Autogenerated config.h created for win32 Visual Studio builds */

/* PREFIX -- specifically added for Windows for easier moving */
#define PREFIX "C:\\gstreamer"

#define GST_INSTALL_PLUGINS_HELPER PREFIX "\\libexec\\gst-install-plugins-helper.exe"

/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD

/* Default audio sink */
#define DEFAULT_AUDIOSINK "directsoundsink"

/* Default audio source */
#define DEFAULT_AUDIOSRC "audiotestsrc"

/* Default video sink */
#undef DEFAULT_VIDEOSINK

/* Default video source */
#define DEFAULT_VIDEOSRC "videotestsrc"

/* Default visualizer */
#define DEFAULT_VISUALIZER "goom"

/* Disable Orc */
#undef DISABLE_ORC

/* Define to 1 if translation of program messages to the user's native
   language is requested. */
#undef ENABLE_NLS

/* gettext package name */
#define GETTEXT_PACKAGE "gst-plugins-good-1.0"

/* The GIO library directory. */
#undef GIO_LIBDIR

/* The GIO modules directory. */
#undef GIO_MODULE_DIR

/* The GIO install prefix. */
#undef GIO_PREFIX

/* GStreamer API Version */
#define GST_API_VERSION "1.0"

/* Defined if gcov is enabled to force a rebuild due to config.h changing */
#undef GST_GCOV_ENABLED

/* Default errorlevel to use */
#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR

/* GStreamer license */
#define GST_LICENSE "LGPL"

/* package name in plugins */
#define GST_PACKAGE_NAME "GStreamer Good Plug-ins source release"

/* package origin */
#define GST_PACKAGE_ORIGIN "Unknown package origin"

/* GStreamer package release date/time for plugins as YYYY-MM-DD */
#define GST_PACKAGE_RELEASE_DATETIME "2015-10-30"

/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC

/* Define to enable aalib ASCII Art library (used by aasink). */
#undef HAVE_AALIB

/* Define to 1 if you have the `asinh' function. */
#undef HAVE_ASINH

/* Define to enable bz2 library for matroska . */
#undef HAVE_BZ2

/* Define to enable Cairo graphics rendering and gobject bindings (used by
   cairo). */
#undef HAVE_CAIRO

/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
   CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT

/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
   the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE

/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME

/* Define to 1 if you have the `cosh' function. */
#undef HAVE_COSH

/* Define if the target CPU is AARCH64 */
#undef HAVE_CPU_AARCH64

/* Define if the target CPU is an Alpha */
#undef HAVE_CPU_ALPHA

/* Define if the target CPU is an ARC */
#undef HAVE_CPU_ARC

/* Define if the target CPU is an ARM */
#undef HAVE_CPU_ARM

/* Define if the target CPU is a CRIS */
#undef HAVE_CPU_CRIS

/* Define if the target CPU is a CRISv32 */
#undef HAVE_CPU_CRISV32

/* Define if the target CPU is a HPPA */
#undef HAVE_CPU_HPPA

/* Define if the target CPU is an x86 */
#define HAVE_CPU_I386 1

/* Define if the target CPU is a IA64 */
#undef HAVE_CPU_IA64

/* Define if the target CPU is a M68K */
#undef HAVE_CPU_M68K

/* Define if the target CPU is a MIPS */
#undef HAVE_CPU_MIPS

/* Define if the target CPU is a PowerPC */
#undef HAVE_CPU_PPC

/* Define if the target CPU is a 64 bit PowerPC */
#undef HAVE_CPU_PPC64

/* Define if the target CPU is a S390 */
#undef HAVE_CPU_S390

/* Define if the target CPU is a SPARC */
#undef HAVE_CPU_SPARC

/* Define if the target CPU is a x86_64 */
#undef HAVE_CPU_X86_64

/* Define if the GNU dcgettext() function is already present or preinstalled.
   */
#undef HAVE_DCGETTEXT

/* Define to enable DirectSound plug-in (used by directsoundsink). */
#undef HAVE_DIRECTSOUND

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* define for working do while(0) macros */
#undef HAVE_DOWHILE_MACROS

/* Define to enable raw1394 and avc1394 library (used by 1394). */
#undef HAVE_DV1394

/* Define to enable building of experimental plug-ins. */
#undef HAVE_EXPERIMENTAL

/* Define to enable building of plug-ins with external deps. */
#undef HAVE_EXTERNAL

/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H

/* FIONREAD ioctl found in sys/filio.h */
#undef HAVE_FIONREAD_IN_SYS_FILIO

/* FIONREAD ioctl found in sys/ioclt.h */
#undef HAVE_FIONREAD_IN_SYS_IOCTL

/* Define to enable FLAC lossless audio (used by flac). */
#undef HAVE_FLAC

/* Define to 1 if you have the `fpclass' function. */
#undef HAVE_FPCLASS

/* Define if compiler supports gcc inline assembly */
#undef HAVE_GCC_ASM

/* Define to enable GDK pixbuf (used by gdkpixbuf). */
#undef HAVE_GDK_PIXBUF

/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE

/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT

/* Define to enable Video 4 Linux 2 (used by video4linux2). */
#undef HAVE_GST_V4L2

/* Whether gudev is available for device detection */
#undef HAVE_GUDEV

/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* building for iOS platofrm */
#undef HAVE_IOS

/* Define if we have struct ip_mreqn */
#undef HAVE_IP_MREQN

/* Define to 1 if you have the `isinf' function. */
#undef HAVE_ISINF

/* Define to enable Jack (used by jack). */
#undef HAVE_JACK

/* defined if jack >= 0.120.1 is available */
#undef HAVE_JACK_0_120_1

/* defined if jack >= 1.9.7 is available */
#undef HAVE_JACK_1_9_7

/* Define to enable jpeg library (used by jpeg). */
#undef HAVE_JPEG

/* Define to enable libcaca coloured ASCII art (used by cacasink). */
#undef HAVE_LIBCACA

/* Define to enable libdv DV demuxer/decoder (used by dv). */
#undef HAVE_LIBDV

/* Define to enable Portable Network Graphics library (used by png). */
#undef HAVE_LIBPNG

/* Whether libv4l2 is available for video buffer conversion */
#undef HAVE_LIBV4L2

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP

/* Use Orc */
#undef HAVE_ORC

/* Define to enable OSS audio (used by ossaudio). */
#undef HAVE_OSS

/* Define to enable Open Sound System 4 (used by oss4). */
#undef HAVE_OSS4

/* Define if OSS includes are in /machine/ */
#undef HAVE_OSS_INCLUDE_IN_MACHINE

/* Define if OSS includes are in / */
#undef HAVE_OSS_INCLUDE_IN_ROOT

/* Define if OSS includes are in /sys/ */
#undef HAVE_OSS_INCLUDE_IN_SYS

/* Define to enable OSX audio (used by osxaudio). */
#undef HAVE_OSX_AUDIO

/* Define to enable OSX video (used by osxvideosink). */
#undef HAVE_OSX_VIDEO

/* Define to 1 if you have the <process.h> header file. */
#define HAVE_PROCESS_H 1

/* Define to enable pulseaudio plug-in (used by pulseaudio). */
#undef HAVE_PULSE

/* Define if RDTSC is available */
#undef HAVE_RDTSC

/* Define to 1 if you have the `rint' function. */
#undef HAVE_RINT

/* Define to enable Shoutcast/Icecast client library (used by shout2). */
#undef HAVE_SHOUT2

/* Define to 1 if you have the `sinh' function. */
#undef HAVE_SINH

/* Define to enable soup http client plugin (2.4) (used by souphttpsrc). */
#undef HAVE_SOUP

/* Define to enable speex speech codec (used by speex). */
#undef HAVE_SPEEX

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to enable Sun Audio (used by sunaudio). */
#undef HAVE_SUNAUDIO

/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H

/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H

/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to enable taglib tagging library (used by taglib). */
#undef HAVE_TAGLIB

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define if valgrind should be used */
#undef HAVE_VALGRIND

/* Defined if the VP8 decoder is available */
#undef HAVE_VP8_DECODER

/* Defined if the VP8 encoder is available */
#undef HAVE_VP8_ENCODER

/* Defined if the VP9 decoder is available */
#undef HAVE_VP9_DECODER

/* Defined if the VP9 encoder is available */
#undef HAVE_VP9_ENCODER

/* Define to enable VPX decoder (used by vpx). */
#undef HAVE_VPX

/* Define to enable Win32 WaveForm (used by waveformsink). */
#undef HAVE_WAVEFORM

/* Define to enable wavpack plug-in (used by wavpack). */
#undef HAVE_WAVPACK

/* Define to enable X libraries and plugins (used by ximagesrc). */
#undef HAVE_X

/* Defined if Xdamage is available */
#undef HAVE_XDAMAGE

/* Defined if Xfixes is available */
#undef HAVE_XFIXES

/* Defined if XShm is available */
#undef HAVE_XSHM

/* Define to enable zlib support for qtdemux/matroska. */
#undef HAVE_ZLIB

/* the host CPU */
#define HOST_CPU "i686"

/* gettext locale dir */
#define LOCALEDIR PREFIX "\\share\\locale"

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Name of package */
#define PACKAGE "gst-plugins-good"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer"

/* Define to the full name of this package. */
#define PACKAGE_NAME "GStreamer Good Plug-ins"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GStreamer Good Plug-ins 1.6.1"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-good"

/* Define to the home page for this package. */
#undef PACKAGE_URL

/* Define to the version of this package. */
#define PACKAGE_VERSION "1.6.1"

/* directory where plugins are located */
#ifdef _DEBUG
#  define PLUGINDIR PREFIX "\\debug\\lib\\gstreamer-0.11"
#else
#  define PLUGINDIR PREFIX "\\lib\\gstreamer-0.11"
#endif

/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR

/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT

/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG

/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT

/* The size of `void*', as computed by sizeof. */
#undef SIZEOF_VOIDP

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* the target CPU */
#undef TARGET_CPU

/* Version number of package */
#define VERSION "1.6.1"

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
   significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
#  define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
#  undef WORDS_BIGENDIAN
# endif
#endif
