+dnl Media engine to use
+BUILT_ENGINES="librygel-media-engine-simple"
+
+dnl Disabling the gstreamer media_engine also disables
+dnl anything else that uses gstreamer.
+AC_ARG_WITH([media_engine],
+ AS_HELP_STRING(
+ [--with-media-engine=@<:@gstreamer|simple@:>@],
+ [Media Engine to use]),
+ [with_media_engine="$withval"],
+ [with_media_engine="gstreamer"])
+
+AS_IF([test "x$with_media_engine" = "xgstreamer"],
+ [
+ enable_gstreamer="yes"
+ BUILT_ENGINES="$BUILT_ENGINES;librygel-media-engine-gst"
+
+ PKG_CHECK_MODULES([RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS],
+ [$RYGEL_COMMON_MODULES
+ gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED
+ gstreamer-app-1.0 >= $GSTREAMER_APP_REQUIRED
+ gupnp-dlna-2.0 >= $GUPNP_DLNA_REQUIRED
+ gio-2.0 >= $GIO_REQUIRED])
+ RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-base-1.0 --pkg gstreamer-pbutils-1.0 --pkg gupnp-dlna-2.0"
+ AC_SUBST([RYGEL_MEDIA_ENGINE_GSTREAMER_DEPS_VALAFLAGS])
+
+ PKG_CHECK_MODULES([LIBRYGEL_RENDERER_GST_DEPS], [$RYGEL_COMMON_MODULES gstreamer-1.0 >= $GSTREAMER_REQUIRED gio-2.0 >= $GIO_REQUIRED])
+ LIBRYGEL_RENDERER_GST_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gstreamer-1.0"
+ AC_SUBST([LIBRYGEL_RENDERER_GST_DEPS_VALAFLAGS])
+ ],
+ [enable_gstreamer="no"])
+AM_CONDITIONAL([HAVE_GSTREAMER],[test "x$enable_gstreamer" = "xyes"])
+AC_SUBST([BUILT_ENGINES])
+
+dnl Add plugins
+RYGEL_ADD_PLUGIN([external],[MediaServer2 DBus consumer],[yes])
+AS_IF([test "x$enable_external_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_EXTERNAL_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED])
+ ])
+
+RYGEL_ADD_PLUGIN([mpris],[MPRIS2 DBus consumer],[yes])
+AS_IF([test "x$enable_mpris_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_MPRIS_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED])
+ ])
+
+RYGEL_ADD_PLUGIN([mediathek],[ZDF Mediathek],[no])
+AS_IF([test "x$enable_mediathek_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIATHEK_DEPS],
+ [$RYGEL_COMMON_MODULES
+ gio-2.0 >= $GIO_REQUIRED
+ libsoup-2.4 >= $LIBSOUP_REQUIRED
+ libxml-2.0 >= $LIBXML_REQUIRED])
+ ])
+
+AS_IF([test "x$with_media_engine" = "xgstreamer"],
+ [
+ RYGEL_ADD_PLUGIN([playbin],[GStreamer playbin],[yes])
+ AS_IF([test "x$enable_playbin_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_PLAYBIN_DEPS], [$RYGEL_COMMON_MODULES gstreamer-1.0 >= $GSTREAMER_TAG_REQUIRED])
+ ])
+
+ RYGEL_ADD_PLUGIN([media-export],[MediaExport],[yes])
+ AS_IF([test "x$enable_media_export_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS],
+ [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED
+ gupnp-dlna-2.0 >= $GUPNP_DLNA_REQUIRED
+ gupnp-dlna-gst-2.0 >= $GUPNP_DLNA_REQUIRED
+ gstreamer-app-1.0 >= $GSTREAMER_APP_REQUIRED
+ gstreamer-tag-1.0 >= $GSTREAMER_TAG_REQUIRED
+ gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED
+ libsoup-2.4 >= $LIBSOUP_REQUIRED
+ sqlite3 >= $LIBSQLITE3_REQUIRED
+ uuid])
+ RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gupnp-dlna-2.0 --pkg gupnp-dlna-gst-2.0 --pkg gstreamer-tag-1.0 --pkg gstreamer-app-1.0 --pkg gstreamer-pbutils-1.0 --pkg sqlite3"
+ AC_SUBST([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS])
+ ])
+
+ RYGEL_ADD_PLUGIN([gst-launch],[GStreamer launchline],[no])
+ AS_IF([test "x$enable_gst_launch_plugin" = "xyes"],
+ [
+ PKG_CHECK_MODULES([RYGEL_PLUGIN_GST_LAUNCH_DEPS], [$RYGEL_COMMON_MODULES])
+ RYGEL_PLUGIN_GST_LAUNCH_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS"
+ AC_SUBST([RYGEL_PLUGIN_GST_LAUNCH_DEPS_VALAFLAGS])
+ ])
+
+ RYGEL_ADD_STAMP([src/media-engines/gstreamer/librygel_media_engine_gst_la_vala.stamp])
+ RYGEL_ADD_STAMP([src/librygel-renderer-gst/librygel_renderer_gst_2_2_la_vala.stamp])
+ ],
+ [
+ RYGEL_DISABLE_PLUGIN([playbin])
+ RYGEL_DISABLE_PLUGIN([media-export])
+ RYGEL_DISABLE_PLUGIN([gst-launch])
+ ])
+
+dnl Example plugins:
+AC_ARG_ENABLE([example-plugins],
+ AS_HELP_STRING([--enable-example-plugins],[enable example plugins]),,
+ enable_example_plugins=no)
+AM_CONDITIONAL([BUILD_EXAMPLE_PLUGINS], [test "x$[]enable_example_plugins" = "xyes"])
+
+dnl Explicitly add stamp files for targets that are not plugins
+RYGEL_ADD_STAMP([src/librygel-core/librygel_core_2_2_la_vala.stamp])
+RYGEL_ADD_STAMP([src/librygel-server/librygel_server_2_2_la_vala.stamp])
+RYGEL_ADD_STAMP([src/librygel-renderer/librygel_renderer_2_2_la_vala.stamp])
+RYGEL_ADD_STAMP([src/rygel/rygel_vala.stamp])
+RYGEL_ADD_STAMP([src/ui/rygel_preferences_vala.stamp])
+RYGEL_ADD_STAMP([src/media-engines/simple/librygel_media_engine_simple_la_vala.stamp])
+
+AS_IF([test "x$with_media_engine" = "xgstreamer"],
+ [
+ RYGEL_CHECK_PACKAGES([gupnp-dlna-2.0 gstreamer-1.0
+ gstreamer-pbutils-1.0])
+ ])