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

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

/* 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 if an old libdts is used */
#undef DTS_OLD

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

/* The x in 2.x */
#undef FAAD2_MINOR_VERSION

/* Define if AAC is using new api prefix */
#undef FAAD_IS_NEAAC

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

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

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

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

/* Define if GSM header in gsm/ subdir */
#undef GSM_HEADER_IN_SUBDIR

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

/* Extra platform specific plugin suffix */
#undef GST_EXTRA_MODULE_SUFFIX

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

/* EGL module name */
#undef GST_GL_LIBEGL_MODULE_NAME

/* GLES2 module name */
#undef GST_GL_LIBGLESV2_MODULE_NAME

/* OpenGL module name */
#undef GST_GL_LIBGL_MODULE_NAME

/* Defined when registry scanning through fork is unsafe */
#undef GST_HAVE_UNSAFE_FORK

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

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

/* mjpegtools API evolution */
#undef GST_MJPEGTOOLS_API

/* package name in plugins */
#define GST_PACKAGE_NAME "GStreamer Bad 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-08-19"

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

/* Define to enable Windows ACM library (used by acm). */
#undef HAVE_ACM

/* Define to enable Android Media (used by androidmedia). */
#undef HAVE_ANDROID_MEDIA

/* Define to enable AirPort Express Wireless sink (used by apexsink). */
#undef HAVE_APEXSINK

/* Define to enable Apple video (used by applemedia). */
#undef HAVE_APPLE_MEDIA

/* Define to enable ASS/SSA renderer (used by assrender). */
#undef HAVE_ASSRENDER

/* Define to enable AVC Video Services (used by avcsrc). */
#undef HAVE_AVC

/* Define if building with AVFoundation */
#undef HAVE_AVFOUNDATION

/* Define to enable Bluez (used by bluez). */
#undef HAVE_BLUEZ

/* Bluez5 detected */
#undef HAVE_BLUEZ5

/* Define to enable bs2b (used by bs2b). */
#undef HAVE_BS2B

/* Define to enable bz2 library (used by bz2). */
#undef HAVE_BZ2

/* 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 enable chromaprint (used by chromaprint). */
#undef HAVE_CHROMAPRINT

/* 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 to enable Curl plugin (used by curl). */
#undef HAVE_CURL

/* Define to enable daala (used by daala). */
#undef HAVE_DAALA

/* Define to enable DASH plug-in (used by dash). */
#undef HAVE_DASH

/* Define to enable libdc1394 (used by dc1394). */
#undef HAVE_DC1394

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

/* Define to enable decklink (used by decklink). */
#undef HAVE_DECKLINK

/* Define to enable Direct3D plug-in (used by direct3dsink). */
#undef HAVE_DIRECT3D

/* Define to enable directfb (used by dfbvideosink ). */
#undef HAVE_DIRECTFB

/* Define to enable DirectSound (used by directsoundsrc). */
#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 DTLS plugin (used by dtls). */
#undef HAVE_DTLS

/* Define to enable dts library (used by dtsdec). */
#undef HAVE_DTS

/* Define to enable DVB Source (used by dvb). */
#undef HAVE_DVB

/* 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 enable AAC encoder plug-in (used by faac). */
#undef HAVE_FAAC

/* Define to enable AAC decoder plug-in (used by faad). */
#undef HAVE_FAAD

/* Define to enable linux framebuffer (used by fbdevsink). */
#undef HAVE_FBDEV

/* 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 Flite plugin (used by flite). */
#undef HAVE_FLITE

/* Define to enable fluidsynth (used by fluidsynth). */
#undef HAVE_FLUIDSYNTH

/* 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 gl elements (used by gl). */
#undef HAVE_GL

/* Define to 1 if the system has the type `GLchar'. */
#undef HAVE_GLCHAR

/* Define to 1 if the system has the type `GLeglImageOES'. */
#undef HAVE_GLEGLIMAGEOES

/* Define to 1 if the system has the type `GLintptr'. */
#undef HAVE_GLINTPTR

/* Define to 1 if the system has the type `GLsizeiptr'. */
#undef HAVE_GLSIZEIPTR

/* Define to 1 if the system has the type `GLsync'. */
#undef HAVE_GLSYNC

/* Define to 1 if the system has the type `GLuint64'. */
#undef HAVE_GLUINT64

/* Define to enable gme decoder (used by gme). */
#undef HAVE_GME

/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R

/* Use graphene */
#undef HAVE_GRAPHENE

/* Define to enable GSettings plugin (used by gsettings). */
#undef HAVE_GSETTINGS

/* Define to enable GSM library (used by gsmenc gsmdec). */
#undef HAVE_GSM

/* Define to enable Gtk+ elements (used by gtk). */
#undef HAVE_GTK3

/* Define if Gtk+ 3.0 GL is installed */
#undef HAVE_GTK3_GL

/* Define if gudev is installed */
#undef HAVE_GUDEV

/* Define to enable http live streaming plugin (used by hls). */
#undef HAVE_HLS

/* 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

/* Define if building for Apple iOS */
#undef HAVE_IOS

/* Use libjpeg */
#undef HAVE_JPEG

/* Define to enable Kate (used by kate). */
#undef HAVE_KATE

/* Define to enable ladspa (used by ladspa). */
#undef HAVE_LADSPA

/* Define to enable libde265 HEVC/H.265 decoder (used by libde265). */
#undef HAVE_LIBDE265

/* Define if libgcrypt is available */
#undef HAVE_LIBGCRYPT

/* Define if gme 0.5.6 or newer is available */
#undef HAVE_LIBGME_ACCURACY

/* Define to enable mms protocol library (used by libmms). */
#undef HAVE_LIBMMS

/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL

/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET

/* Define if libusb 1.x is installed */
#undef HAVE_LIBUSB

/* Define to enable libvisual visualization library (used by libvisual). */
#undef HAVE_LIBVISUAL

/* Define to enable Linear Systems SDI plugin (used by linsys). */
#undef HAVE_LINSYS

/* Define if we have liblrdf */
#undef HAVE_LRDF

/* Define to enable lv2 (used by lv2). */
#undef HAVE_LV2

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

/* Define to enable libmimic library (used by mimic). */
#undef HAVE_MIMIC

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

/* Define to enable modplug (used by modplug). */
#undef HAVE_MODPLUG

/* Define to enable mpeg2enc (used by mpeg2enc). */
#undef HAVE_MPEG2ENC

/* Define to enable mpg123 audio decoder (used by mpg123). */
#undef HAVE_MPG123

/* Define to enable mplex (used by mplex). */
#undef HAVE_MPLEX

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

/* Define to enable musepackdec (used by musepack). */
#undef HAVE_MUSEPACK

/* Define to enable nas plug-in (used by nassink). */
#undef HAVE_NAS

/* Define to enable neon http client plugins (used by neonhttpsrc). */
#undef HAVE_NEON

/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H

/* Define to 1 if you have the <netinet/ip.h> header file. */
#undef HAVE_NETINET_IP_H

/* Define to 1 if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H

/* Define if nettle is available */
#undef HAVE_NETTLE

/* Define to enable ofa plugins (used by ofa). */
#undef HAVE_OFA

/* Define to enable OpenAL plugin (used by openal). */
#undef HAVE_OPENAL

/* Define to enable opencv plugins (used by opencv). */
#undef HAVE_OPENCV

/* Define to 1 if you have the <opencv2/contrib/contrib.hpp> header file. */
#undef HAVE_OPENCV2_CONTRIB_CONTRIB_HPP

/* Define to 1 if you have the <opencv2/core/core_c.h> header file. */
#undef HAVE_OPENCV2_CORE_CORE_C_H

/* Define to 1 if you have the <opencv2/core/types_c.h> header file. */
#undef HAVE_OPENCV2_CORE_TYPES_C_H

/* Define to 1 if you have the <opencv2/core/version.hpp> header file. */
#undef HAVE_OPENCV2_CORE_VERSION_HPP

/* Define to 1 if you have the <opencv2/highgui/highgui_c.h> header file. */
#undef HAVE_OPENCV2_HIGHGUI_HIGHGUI_C_H

/* Define to 1 if you have the <opencv2/imgproc/imgproc_c.h> header file. */
#undef HAVE_OPENCV2_IMGPROC_IMGPROC_C_H

/* Define to 1 if you have the <opencv2/imgproc/imgproc.hpp> header file. */
#undef HAVE_OPENCV2_IMGPROC_IMGPROC_HPP

/* Define to 1 if you have the <opencv2/legacy/compat.hpp> header file. */
#undef HAVE_OPENCV2_LEGACY_COMPAT_HPP

/* Define to 1 if you have the <opencv2/legacy/legacy.hpp> header file. */
#undef HAVE_OPENCV2_LEGACY_LEGACY_HPP

/* Define to 1 if you have the <opencv2/objdetect/objdetect.hpp> header file.
   */
#undef HAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP

/* Define to 1 if you have the <opencv2/video/background_segm.hpp> header
   file. */
#undef HAVE_OPENCV2_VIDEO_BACKGROUND_SEGM_HPP

/* Define to enable openexr library (used by openexr). */
#undef HAVE_OPENEXR

/* Define to enable openh264 library (used by openh264). */
#undef HAVE_OPENH264

/* Define to enable openjpeg library (used by openjpeg). */
#undef HAVE_OPENJPEG

/* Define if OpenJPEG 1 is used */
#undef HAVE_OPENJPEG_1

/* Define to enable openni2 library (used by openni2). */
#undef HAVE_OPENNI2

/* Define to enable OpenSL ES (used by opensl). */
#undef HAVE_OPENSLES

/* Define if openssl is available */
#undef HAVE_OPENSSL

/* Define to enable opus (used by opus). */
#undef HAVE_OPUS

/* Use Orc */
#undef HAVE_ORC

/* Apple Mac OS X operating system detected */
#undef HAVE_OSX

/* Use libpng */
#undef HAVE_PNG

/* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD

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

/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT

/* Define to enable pvrvideosink (used by pvr). */
#undef HAVE_PVR

/* Define to enable Qt elements (used by qt). */
#undef HAVE_QT

/* Define if Qt X11 integration is installed */
#undef HAVE_QT_X11

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

/* Define to enable resindvd plugin (used by resindvd). */
#undef HAVE_RESINDVD

/* Define to enable rsvg decoder (used by rsvg). */
#undef HAVE_RSVG

/* Have RSVG 2.36.2 or newer */
#undef HAVE_RSVG_2_36_2

/* Define to enable rtmp library (used by rtmp). */
#undef HAVE_RTMP

/* Define to enable SBC bluetooth audio codec (used by sbc). */
#undef HAVE_SBC

/* Define to enable Schroedinger video codec (used by schro). */
#undef HAVE_SCHRO

/* Define to enable SDL plug-in (used by sdlvideosink sdlaudiosink). */
#undef HAVE_SDL

/* Define to enable POSIX shared memory source and sink (used by shm). */
#undef HAVE_SHM

/* Define to enable Smooth Streaming plug-in (used by smoothstreaming). */
#undef HAVE_SMOOTHSTREAMING

/* Define to enable sndfile plug-in (used by sfdec sfenc). */
#undef HAVE_SNDFILE

/* Define to enable sndio audio (used by sndio). */
#undef HAVE_SNDIO

/* Define to enable soundtouch plug-in (used by soundtouch). */
#undef HAVE_SOUNDTOUCH

/* Defined if the available libSoundTouch is >= 1.4 */
#undef HAVE_SOUNDTOUCH_1_4

/* Define to enable Spandsp (used by spandsp). */
#undef HAVE_SPANDSP

/* Define to enable spc decoder (used by spc). */
#undef HAVE_SPC

/* Define to enable srtp library (used by srtp). */
#undef HAVE_SRTP

/* Define if libssh2 is available */
#undef HAVE_SSH2

/* 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 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 1 if you have the <sys/utsname.h> header file. */
#undef HAVE_SYS_UTSNAME_H

/* Define to enable Teletext decoder (used by teletextdec). */
#undef HAVE_TELETEXTDEC

/* Define if libtiger is available */
#undef HAVE_TIGER

/* Define to enable timidity midi soft synth plugin (used by timidity). */
#undef HAVE_TIMIDITY

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

/* Define to enable UVC H264 (used by uvch264). */
#undef HAVE_UVCH264

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

/* Define to enable Video CD (used by vcdsrc). */
#undef HAVE_VCD

/* Define to enable VDPAU (used by vdpau). */
#undef HAVE_VDPAU

/* Define if building with VideoToolbox */
#undef HAVE_VIDEOTOOLBOX

/* Define if building with VideoToolbox >= 10.9.6 */
#undef HAVE_VIDEOTOOLBOX_10_9_6

/* Define to enable vo-aacenc library (used by vo-aacenc). */
#undef HAVE_VOAACENC

/* Define to enable vo-amrwbenc library (used by vo-amrwbenc). */
#undef HAVE_VOAMRWBENC

/* Define to enable WASAPI plug-in (used by wasapi). */
#undef HAVE_WASAPI

/* Define to enable wayland sink (used by wayland ). */
#undef HAVE_WAYLAND

/* Define to enable WebP (used by webp ). */
#undef HAVE_WEBP

/* Define to enable wildmidi midi soft synth plugin (used by wildmidi). */
#undef HAVE_WILDMIDI

/* Have WildMidi 0.2.2 or earlier library */
#undef HAVE_WILDMIDI_0_2_2

/* Defined if compiling for Windows */
#define HAVE_WIN32 1

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

/* Define to enable Windows internet library (used by wininet). */
#undef HAVE_WININET

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

/* Define to enable Winks plug-in (used by winks). */
#undef HAVE_WINKS

/* Define to enable winscreencap plug-in (used by winscreencap). */
#undef HAVE_WINSCREENCAP

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

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

/* Define if you have X11 library */
#undef HAVE_X11

/* Define to enable x265 plug-in (used by x265). */
#undef HAVE_X265

/* Define to enable xvid plugins (used by xvid). */
#undef HAVE_XVID

/* Define to enable ZBar barcode detector (used by zbar). */
#undef HAVE_ZBAR

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

/* library dir */
#ifdef _DEBUG
#  define LIBDIR PREFIX "\\debug\\lib"
#else
#  define LIBDIR PREFIX "\\lib"
#endif

/* directory in which the detected libvisual's plugins are located */
#undef LIBVISUAL_PLUGINSBASEDIR

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

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

/* Define if the old MusePack API is used */
#undef MPC_IS_OLD_API

/* OpenCV path name */
#undef OPENCV_PATH_NAME

/* opencv install prefix */
#undef OPENCV_PREFIX

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

/* 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 Bad Plug-ins"

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

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

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

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

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

/* Define to necessary symbol if this constant uses a non-standard name on
   your system. */
#undef PTHREAD_CREATE_JOINABLE

/* 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

/* Define location of timidity.cfg */
#undef TIMIDITY_CFG

/* Use Mali FB EGL platform */
#undef USE_EGL_MALI_FB

/* Use RPi platform */
#undef USE_EGL_RPI

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

/* 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

/* We need at least WinXP SP2 for __stat64 */
#undef __MSVCRT_VERSION__
