X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst-element-check.m4;h=9ad421f57d9734d6be959aef2fbaacdad8797553;hb=892d36211fac3a2c663d9a1198c8a75a2dc3645e;hp=005d584978f83b3d8ed5f88c3fd573b2fd29bb71;hpb=d1525abbfc10bb8bd75f9ef453a79a993f97c8a7;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst-element-check.m4 b/gst-element-check.m4 index 005d584..9ad421f 100644 --- a/gst-element-check.m4 +++ b/gst-element-check.m4 @@ -1,20 +1,33 @@ -dnl Perform a check for a GStreamer element using gst-inspect -dnl Thomas Vander Stichele -dnl Last modification: 23/10/2002 +dnl Perform a check for a GStreamer element using gst-inspect-x.y +dnl +dnl GST_ELEMENT_CHECK(ELEMENT-NAME, MIN-VERSION, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) +dnl +dnl ELEMENT-NAME : element factory name (mandatory) +dnl MIN-VERSION : minimum version required, e.g. 1.0 or 1.0.5 (mandatory) +dnl ACTION-IF_FOUND : action if element exists and is of the desired version +dnl ACTION-IF-NOT-FOUND : action if element does not exist or is too old +dnl +dnl gstapiversion=`echo $2 | tr '.' '\n' | head -n 2 | tr '\n' '.' | sed 's/\.$//'` -dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) - -AC_DEFUN([AM_GST_ELEMENT_CHECK], +AC_DEFUN([GST_ELEMENT_CHECK], [ - AC_CHECK_PROG(GST_INSPECT, gst-inspect, gst-inspect, []) - if test "x$GST_INSPECT" != "x"; then - AC_MSG_CHECKING(GStreamer element $1) - if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then - AC_MSG_RESULT(found.) - $2 - else - AC_MSG_RESULT(not found.) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + + gstapiversion=`echo "$2" | while IFS=. read a b; do echo "$a.0"; done` + gsttoolsdir=`$PKG_CONFIG --variable=toolsdir gstreamer-$gstapiversion` + if test "x$gsttoolsdir" != "x"; then + gstinspect="$gsttoolsdir/gst-inspect-$gstapiversion" + AC_MSG_CHECKING(GStreamer $gstapiversion element $1 >= $2) + if [ $gstinspect --exists --atleast-version=$2 $1 ]; then + AC_MSG_RESULT([found]) $3 + else + if [ $gstinspect --exists $1 ]; then + AC_MSG_RESULT([found, but too old]) + else + AC_MSG_RESULT([not found]) + fi + $4 fi fi ])