AG_GST_PKG_CHECK_MODULES(AOM, aom)
])
+dnl *** avtp ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_AVTP, true)
+AG_GST_CHECK_FEATURE(AVTP, [Audio/Video Transport Protocol], avtp, [
+ AG_GST_PKG_CHECK_MODULES(AVTP, avtp)
+])
+
dnl *** vo-amrwbenc ***
translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
AM_CONDITIONAL(USE_ASSRENDER, false)
AM_CONDITIONAL(USE_AOM, false)
+AM_CONDITIONAL(USE_AVTP, false)
AM_CONDITIONAL(USE_VOAMRWBENC, false)
AM_CONDITIONAL(USE_VOAACENC, false)
AM_CONDITIONAL(USE_BS2B, false)
ext/voaacenc/Makefile
ext/assrender/Makefile
ext/aom/Makefile
+ext/avtp/Makefile
ext/bs2b/Makefile
ext/bz2/Makefile
ext/chromaprint/Makefile
AOM_DIR=
endif
+if USE_AVTP
+AVTP_DIR=avtp
+else
+AVTP_DIR=
+endif
+
if USE_VOAMRWBENC
VOAMRWBENC_DIR = voamrwbenc
else
$(VOAACENC_DIR) \
$(ASSRENDER_DIR) \
$(AOM_DIR) \
+ $(AVTP_DIR) \
$(VOAMRWBENC_DIR) \
$(AUDIOFILE_DIR) \
$(BS2B_DIR) \
DIST_SUBDIRS = \
assrender \
aom \
+ avtp \
bs2b \
bz2 \
colormanagement \
--- /dev/null
+plugin_LTLIBRARIES = libgstavtp.la
+
+libgstavtp_la_SOURCES = gstavtp.c
+
+libgstavtp_la_CFLAGS = \
+ $(GST_PLUGINS_BASE_CFLAGS) \
+ $(GST_BASE_CFLAGS) \
+ $(GST_CFLAGS) \
+ $(AVTP_CFLAGS)
+
+libgstavtp_la_LIBADD = \
+ $(GST_PLUGINS_BASE_LIBS) \
+ $(GST_BASE_LIBS) \
+ $(GST_LIBS) \
+ $(AVTP_LIBS)
+
+libgstavtp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
--- /dev/null
+/*
+ * GStreamer AVTP Plugin
+ * Copyright (C) 2019 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
+ */
+
+/**
+ * plugin-avtp:
+ *
+ * ## Audio Video Transport Protocol (AVTP) Plugin
+ *
+ * The AVTP plugin implements typical Talker and Listener functionalities that
+ * can be leveraged by GStreamer-based applications in order to implement TSN
+ * audio/video applications.
+ *
+ * ### Dependencies
+ *
+ * The plugin uses libavtp to handle AVTP packetization. Libavtp source code can
+ * be found in https://github.com/AVnu/libavtp as well as instructions to build
+ * and install it.
+ *
+ * If libavtp isn't detected by configure, the plugin isn't built.
+ *
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gst/gst.h>
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+ return TRUE;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR,
+ avtp, "Audio/Video Transport Protocol (AVTP) plugin",
+ plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
--- /dev/null
+avtp_sources = [
+ 'gstavtp.c',
+]
+
+avtp_dep = dependency('avtp', required: get_option('avtp'))
+
+if avtp_dep.found()
+ gstavtp = library('gstavtp',
+ avtp_sources,
+ c_args : gst_plugins_bad_args,
+ include_directories : [configinc],
+ dependencies : libavtp_dep,
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+ pkgconfig.generate(gstavtp, install_dir : plugins_pkgconfig_install_dir)
+endif
subdir('assrender')
subdir('aom')
+subdir('avtp')
subdir('bs2b')
subdir('bz2')
subdir('chromaprint')
# Feature options for plugins that need external deps
option('aom', type : 'feature', value : 'auto', description : 'AOM AV1 video codec plugin')
+option('avtp', type : 'feature', value : 'auto', description : 'Audio/Video Transport Protocol (AVTP) plugin')
option('androidmedia', type : 'feature', value : 'auto', description : 'Video capture and codec plugins for Android')
option('applemedia', type : 'feature', value : 'auto', description : 'Video capture and codec access plugins for macOS and iOS')
option('assrender', type : 'feature', value : 'auto', description : 'ASS/SSA subtitle renderer plugin')