/* config.h.in.  Generated from configure.ac by autoheader.  */

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

/* Default audio sink */
#undef DEFAULT_AUDIOSINK

/* Default audio source */
#undef DEFAULT_AUDIOSRC

/* Default video sink */
#undef DEFAULT_VIDEOSINK

/* Default video source */
#undef DEFAULT_VIDEOSRC

/* Default visualizer */
#undef DEFAULT_VISUALIZER

/* 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 */
#undef GETTEXT_PACKAGE

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

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

/* GStreamer API Version */
#undef GST_API_VERSION

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

/* Default errorlevel to use */
#undef GST_LEVEL_DEFAULT

/* GStreamer license */
#undef GST_LICENSE

/* package name in plugins */
#undef GST_PACKAGE_NAME

/* package origin */
#undef GST_PACKAGE_ORIGIN

/* GStreamer package release date/time for plugins as YYYY-MM-DD */
#undef GST_PACKAGE_RELEASE_DATETIME

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

/* struct v4l2_buffer missing */
#undef GST_V4L2_MISSING_BUFDECL

/* I know the API is subject to change. */
#undef G_UDEV_API_IS_SUBJECT_TO_CHANGE

/* 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 `cosh' function. */
#undef HAVE_COSH

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

/* 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 */
#undef HAVE_CPU_I386

/* 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 v4l2src). */
#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

/* soup gnome integration */
#undef HAVE_LIBSOUP_GNOME

/* 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. */
#undef HAVE_PROCESS_H

/* 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. */
#undef HAVE_STDLIB_H

/* 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. */
#undef HAVE_STRING_H

/* 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. */
#undef HAVE_SYS_STAT_H

/* 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. */
#undef HAVE_SYS_TYPES_H

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

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

/* Define to enable X Shared Memory extension. */
#undef HAVE_XSHM

/* Define to enable X11 XVideo extensions. */
#undef HAVE_XVIDEO

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

/* the host CPU */
#undef HOST_CPU

/* gettext locale dir */
#undef LOCALEDIR

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

/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

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

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* directory where plugins are located */
#undef PLUGINDIR

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

/* defined if speex 1.0.x API detected */
#undef SPEEX_1_0

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

/* the target CPU */
#undef TARGET_CPU

/* Version number of package */
#undef VERSION

/* old wavpack API */
#undef WAVPACK_OLD_API

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

/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
