AC_PROG_CC
AM_PROG_CC_C_O
+AC_ARG_VAR([GIT], [Path to git program, if any])
+AC_PATH_PROG([GIT], [git])
+AM_CONDITIONAL([HAVE_GIT], [test -n "$GIT"])
+
dnl Initialize libtool
LT_PREREQ([2.2])
LT_INIT
gstvaapiobject_priv.h \
gstvaapisurface_priv.h \
gstvaapiutils.h \
+ gstvaapiversion.h \
gstvaapiworkarounds.h \
sysdeps.h \
$(NULL)
$(GST_VAAPI_LT_LDFLAGS) \
$(NULL)
+VERSION_FILE = .VERSION
+OLD_VERSION_FILE = $(VERSION_FILE).old
+NEW_VERSION_FILE = $(VERSION_FILE).new
+PKG_VERSION_FILE = $(VERSION_FILE).pkg
+
+gstvaapiversion.h: gen-version
+ $(AM_V_GEN) \
+ OV=`[ -f $(OLD_VERSION_FILE) ] && cat $(OLD_VERSION_FILE) || :`; \
+ NV=`cat $(NEW_VERSION_FILE)`; \
+ if [ "$$OV" != "$$NV" -o ! -f gstvaapiversion.h ]; then \
+ cp -f $(NEW_VERSION_FILE) $(OLD_VERSION_FILE); \
+ $(SED) -e "s|\@GST_VAAPI_VERSION_ID\@|$${NV}|" \
+ $(srcdir)/gstvaapiversion.h.in > gstvaapiversion.h; \
+ fi
+
+gen-version:
+ @echo $(VERSION) > $(NEW_VERSION_FILE)
+if HAVE_GIT
+ @[ -d $(top_srcdir)/.git ] && \
+ (cd $(top_srcdir) && $(GIT) describe --tags) > $(NEW_VERSION_FILE) || :
+endif
+ @[ -f $(srcdir)/$(PKG_VERSION_FILE) ] && \
+ cp -f $(srcdir)/$(PKG_VERSION_FILE) $(NEW_VERSION_FILE) || :
+
+$(PKG_VERSION_FILE): $(NEW_VERSION_FILE)
+ @cp -f $< $@
+
+BUILT_SOURCES = gstvaapiversion.h
+EXTRA_DIST = gstvaapiversion.h.in $(PKG_VERSION_FILE)
+
+CLEANFILES = \
+ $(OLD_VERSION_FILE) \
+ $(NEW_VERSION_FILE) \
+ $(PKG_VERSION_FILE) \
+ $(NULL)
+
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in
#include "gstvaapidisplay.h"
#include "gstvaapidisplay_priv.h"
#include "gstvaapiworkarounds.h"
+#include "gstvaapiversion.h"
#define DEBUG 1
#include "gstvaapidebug.h"
static gboolean
set_color_balance(GstVaapiDisplay *display, guint prop_id, gfloat v);
+static void
+dump_version(void)
+{
+ static gsize g_once = FALSE;
+
+ if (!g_once_init_enter(&g_once))
+ return;
+
+ /* Dump gstreamer-vaapi version for debugging purposes */
+ GST_INFO("gstreamer-vaapi version %s", GST_VAAPI_VERSION_ID);
+
+ g_once_init_leave(&g_once, TRUE);
+}
+
static inline GstVaapiDisplayCache *
get_display_cache(void)
{
GST_DEBUG_CATEGORY_INIT(gst_debug_vaapi, "vaapi", 0, "VA-API helper");
+ dump_version();
+
g_type_class_add_private(klass, sizeof(GstVaapiDisplayPrivate));
object_class->finalize = gst_vaapi_display_finalize;
--- /dev/null
+/*
+ * gstvaapiversion.h - Versioning
+ *
+ * Copyright (C) 2013 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GST_VAAPI_VERSION_H
+#define GST_VAAPI_VERSION_H
+
+/**
+ * GST_VAAPI_VERSION_ID:
+ *
+ * The full version identifier of gstreamer-vaapi, in string form
+ * (suitable for string concatenation).
+ */
+#define GST_VAAPI_VERSION_ID "@GST_VAAPI_VERSION_ID@"
+
+#endif /* GST_VAAPI_VERSION_H */