+dnl If GStreamer API version is to be autodetected, then always try
+dnl with the latest version first
+AC_MSG_CHECKING([for GStreamer API version])
+if test "$GST_API_VERSION" = "autodetect"; then
+ gst_pkg_versions="1.0 0.10"
+else
+ AS_VERSION_COMPARE([$GST_API_VERSION], [1.0],
+ [gst_pkg_versions="0.10"], [gst_pkg_versions="1.0"],
+ dnl GStreamer 1.2.x APIs don't have their own namespace
+ [gst_pkg_versions="1.0"])
+fi
+for gst_pkg_version in ${gst_pkg_versions}; do
+ if $PKG_CONFIG --exists "gstreamer-$gst_pkg_version"; then
+ gst_version=`$PKG_CONFIG --modversion "gstreamer-$gst_pkg_version"`
+ gst_major_version=`echo "$gst_version" | cut -d'.' -f1`
+ gst_minor_version=`echo "$gst_version" | cut -d'.' -f2`
+ GST_API_VERSION="${gst_major_version}.${gst_minor_version}"
+ GST_PKG_VERSION="$gst_pkg_version"
+ break
+ fi
+done
+if test -z "$GST_PKG_VERSION"; then
+ AC_MSG_ERROR([version $GST_API_VERSION not found])
+fi
+AC_MSG_RESULT([$GST_API_VERSION])
+
+dnl Versions for GStreamer and plugins-base
+case $GST_API_VERSION in
+0.10)
+ GST_VERSION_REQUIRED=gst0_version
+ GST_PLUGINS_BASE_VERSION_REQUIRED=gst0_plugins_base_version
+ GST_PLUGINS_BAD_VERSION_REQUIRED=gst0_plugins_bad_version
+ ;;
+1.0)
+ GST_VERSION_REQUIRED=gst1_version
+ GST_PLUGINS_BASE_VERSION_REQUIRED=gst1_plugins_base_version
+ GST_PLUGINS_BAD_VERSION_REQUIRED=gst1_plugins_bad_version
+ ;;
+1.2)
+ GST_VERSION_REQUIRED=gst12_version
+ GST_PLUGINS_BASE_VERSION_REQUIRED=gst12_plugins_base_version
+ GST_PLUGINS_BAD_VERSION_REQUIRED=gst12_plugins_bad_version
+ ;;
+1.3)
+ GST_VERSION_REQUIRED=gst14_version
+ GST_PLUGINS_BASE_VERSION_REQUIRED=gst14_plugins_base_version
+ GST_PLUGINS_BAD_VERSION_REQUIRED=gst14_plugins_bad_version
+ ;;
+*)
+ AC_MSG_ERROR([unsupported GStreamer API version $GST_API_VERSION])
+ ;;
+esac
+AC_SUBST(GST_API_VERSION)
+AC_SUBST(GST_VERSION_REQUIRED)
+AC_SUBST(GST_PLUGINS_BASE_VERSION_REQUIRED)
+AC_SUBST(GST_PLUGINS_BAD_VERSION_REQUIRED)
+
+USE_GST_API_0_10="no"
+USE_GST_API_1_0p="no"
+USE_GST_API_1_2p="no"
+AS_VERSION_COMPARE([$GST_API_VERSION], [0.10],
+ [], [USE_GST_API_0_10="yes"], [])
+AS_VERSION_COMPARE([$GST_API_VERSION], [1.0],
+ [], [USE_GST_API_1_0p="yes"], [USE_GST_API_1_0p="yes"])
+AS_VERSION_COMPARE([$GST_API_VERSION], [1.2],
+ [], [USE_GST_API_1_2p="yes"], [USE_GST_API_1_2p="yes"])
+AM_CONDITIONAL([USE_GST_API_0_10], [test "$USE_GST_API_0_10" = "yes"])
+AM_CONDITIONAL([USE_GST_API_1_0p], [test "$USE_GST_API_1_0p" = "yes"])
+AM_CONDITIONAL([USE_GST_API_1_2p], [test "$USE_GST_API_1_2p" = "yes"])
+
+dnl GStreamer 1.2.x APIs don't have their own namespace
+GST_PKG_VERSION="$GST_API_VERSION"
+if test "$USE_GST_API_1_2p" = "yes"; then
+ GST_PKG_VERSION="1.0"
+fi
+AC_SUBST([GST_PKG_VERSION])
+