coreelements: allow per features registration

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661>
This commit is contained in:
Stéphane Cerveau 2020-10-06 14:26:30 +02:00
parent a41f37d94c
commit 783e19b04c
26 changed files with 194 additions and 138 deletions

View file

@ -42,6 +42,7 @@
#include "../../gst/gst-i18n-lib.h"
#include "gstcapsfilter.h"
#include "gstcoreelementselements.h"
enum
{
@ -93,6 +94,8 @@ gst_caps_filter_caps_change_mode_get_type (void)
G_DEFINE_TYPE_WITH_CODE (GstCapsFilter, gst_capsfilter, GST_TYPE_BASE_TRANSFORM,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (capsfilter, "capsfilter", GST_RANK_NONE,
GST_TYPE_CAPS_FILTER);
static void gst_capsfilter_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);

View file

@ -48,6 +48,7 @@
#include <gst/gst.h>
#include "gstclocksync.h"
#include "gstcoreelementselements.h"
GST_DEBUG_CATEGORY_STATIC (gst_clock_sync_debug);
#define GST_CAT_DEFAULT gst_clock_sync_debug
@ -80,6 +81,8 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
#define gst_clock_sync_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstClockSync, gst_clock_sync, GST_TYPE_ELEMENT,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (clocksync, "clocksync", GST_RANK_NONE,
GST_TYPE_CLOCKSYNC);
static void gst_clock_sync_finalize (GObject * object);

View file

@ -50,6 +50,7 @@
#endif
#include "gstconcat.h"
#include "gstcoreelementselements.h"
GST_DEBUG_CATEGORY_STATIC (gst_concat_debug);
#define GST_CAT_DEFAULT gst_concat_debug
@ -118,6 +119,7 @@ enum
GST_DEBUG_CATEGORY_INIT (gst_concat_debug, "concat", 0, "concat element");
#define gst_concat_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstConcat, gst_concat, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (concat, "concat", GST_RANK_NONE, GST_TYPE_CONCAT);
static void gst_concat_dispose (GObject * object);
static void gst_concat_finalize (GObject * object);

View file

@ -0,0 +1,54 @@
/*
* Copyright (C) 2020 Huawei Technologies Co., Ltd.
* @Author: Stéphane Cerveau <scerveau@collabora.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __GST_CORE_ELEMENTS_ELEMENTS_H__
#define __GST_CORE_ELEMENTS_ELEMENTS_H__
#include <gst/gst.h>
G_BEGIN_DECLS
GST_ELEMENT_REGISTER_DECLARE (capsfilter);
GST_ELEMENT_REGISTER_DECLARE (clocksync);
GST_ELEMENT_REGISTER_DECLARE (concat);
GST_ELEMENT_REGISTER_DECLARE (dataurisrc);
GST_ELEMENT_REGISTER_DECLARE (downloadbuffer);
GST_ELEMENT_REGISTER_DECLARE (fakesink);
GST_ELEMENT_REGISTER_DECLARE (fakesrc);
#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
GST_ELEMENT_REGISTER_DECLARE (fdsrc);
GST_ELEMENT_REGISTER_DECLARE (fdsink);
#endif
GST_ELEMENT_REGISTER_DECLARE (filesink);
GST_ELEMENT_REGISTER_DECLARE (filesrc);
GST_ELEMENT_REGISTER_DECLARE (funnel);
GST_ELEMENT_REGISTER_DECLARE (identity);
GST_ELEMENT_REGISTER_DECLARE (input_selector);
GST_ELEMENT_REGISTER_DECLARE (multiqueue);
GST_ELEMENT_REGISTER_DECLARE (output_selector);
GST_ELEMENT_REGISTER_DECLARE (queue);
GST_ELEMENT_REGISTER_DECLARE (queue2);
GST_ELEMENT_REGISTER_DECLARE (streamiddemux);
GST_ELEMENT_REGISTER_DECLARE (tee);
GST_ELEMENT_REGISTER_DECLARE (typefind);
GST_ELEMENT_REGISTER_DECLARE (valve);
G_END_DECLS
#endif /* __GST_CORE_ELEMENTS_ELEMENTS_H__ */

View file

@ -0,0 +1,72 @@
/* GStreamer
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2000 Wim Taymans <wtay@chello.be>
*
* gstelementsplugin.c:
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
/**
* plugin-coreelements:
*
* GStreamer core elements
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <gst/gst.h>
#include "gstcoreelementselements.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
gboolean ret = FALSE;
ret |= GST_ELEMENT_REGISTER (capsfilter, plugin);
ret |= GST_ELEMENT_REGISTER (clocksync, plugin);
ret |= GST_ELEMENT_REGISTER (concat, plugin);
ret |= GST_ELEMENT_REGISTER (dataurisrc, plugin);
ret |= GST_ELEMENT_REGISTER (downloadbuffer, plugin);
ret |= GST_ELEMENT_REGISTER (fakesrc, plugin);
ret |= GST_ELEMENT_REGISTER (fakesink, plugin);
#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
ret |= GST_ELEMENT_REGISTER (fdsrc, plugin);
ret |= GST_ELEMENT_REGISTER (fdsink, plugin);
#endif
ret |= GST_ELEMENT_REGISTER (filesrc, plugin);
ret |= GST_ELEMENT_REGISTER (funnel, plugin);
ret |= GST_ELEMENT_REGISTER (identity, plugin);
ret |= GST_ELEMENT_REGISTER (input_selector, plugin);
ret |= GST_ELEMENT_REGISTER (output_selector, plugin);
ret |= GST_ELEMENT_REGISTER (queue, plugin);
ret |= GST_ELEMENT_REGISTER (queue2, plugin);
ret |= GST_ELEMENT_REGISTER (filesink, plugin);
ret |= GST_ELEMENT_REGISTER (tee, plugin);
ret |= GST_ELEMENT_REGISTER (typefind, plugin);
ret |= GST_ELEMENT_REGISTER (multiqueue, plugin);
ret |= GST_ELEMENT_REGISTER (valve, plugin);
ret |= GST_ELEMENT_REGISTER (streamiddemux, plugin);
return ret;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
"GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);

View file

@ -38,6 +38,7 @@
#endif
#include "gstdataurisrc.h"
#include "gstcoreelementselements.h"
#include <string.h>
#include <gst/base/gsttypefindhelper.h>
@ -82,6 +83,8 @@ static gboolean gst_data_uri_src_set_uri (GstURIHandler * handler,
G_DEFINE_TYPE_WITH_CODE (GstDataURISrc, gst_data_uri_src, GST_TYPE_BASE_SRC,
G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER,
gst_data_uri_src_handler_init));
GST_ELEMENT_REGISTER_DEFINE (dataurisrc, "dataurisrc", GST_RANK_PRIMARY,
GST_TYPE_DATA_URI_SRC);
static void
gst_data_uri_src_class_init (GstDataURISrcClass * klass)

View file

@ -53,6 +53,7 @@
#endif
#include "gstdownloadbuffer.h"
#include "gstcoreelementselements.h"
#include <glib/gstdio.h>
@ -170,6 +171,8 @@ enum
#define gst_download_buffer_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstDownloadBuffer, gst_download_buffer,
GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (downloadbuffer, "downloadbuffer", GST_RANK_NONE,
GST_TYPE_DOWNLOAD_BUFFER);
static GstMessage *update_buffering (GstDownloadBuffer * dlbuf);

View file

@ -1,134 +0,0 @@
/* GStreamer
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
* 2000 Wim Taymans <wtay@chello.be>
*
* gstelements.c:
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
/**
* plugin-coreelements:
*
* GStreamer core elements
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <gst/gst.h>
#include "gstcapsfilter.h"
#include "gstclocksync.h"
#include "gstconcat.h"
#include "gstdataurisrc.h"
#include "gstdownloadbuffer.h"
#include "gstfakesink.h"
#include "gstfakesrc.h"
#include "gstfdsrc.h"
#include "gstfdsink.h"
#include "gstfilesink.h"
#include "gstfilesrc.h"
#include "gstfunnel.h"
#include "gstidentity.h"
#include "gstinputselector.h"
#include "gstoutputselector.h"
#include "gstmultiqueue.h"
#include "gstqueue.h"
#include "gstqueue2.h"
#include "gsttee.h"
#include "gsttypefindelement.h"
#include "gstvalve.h"
#include "gststreamiddemux.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
if (!gst_element_register (plugin, "capsfilter", GST_RANK_NONE,
gst_capsfilter_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "clocksync", GST_RANK_NONE,
gst_clock_sync_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "concat", GST_RANK_NONE,
gst_concat_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "dataurisrc", GST_RANK_PRIMARY,
gst_data_uri_src_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "downloadbuffer", GST_RANK_NONE,
gst_download_buffer_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "fakesrc", GST_RANK_NONE,
gst_fake_src_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "fakesink", GST_RANK_NONE,
gst_fake_sink_get_type ()))
return FALSE;
#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
if (!gst_element_register (plugin, "fdsrc", GST_RANK_NONE,
gst_fd_src_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "fdsink", GST_RANK_NONE,
gst_fd_sink_get_type ()))
return FALSE;
#endif
if (!gst_element_register (plugin, "filesrc", GST_RANK_PRIMARY,
gst_file_src_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "funnel", GST_RANK_NONE,
gst_funnel_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "identity", GST_RANK_NONE,
gst_identity_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "input-selector", GST_RANK_NONE,
gst_input_selector_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "output-selector", GST_RANK_NONE,
gst_output_selector_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "queue", GST_RANK_NONE,
gst_queue_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "queue2", GST_RANK_NONE,
gst_queue2_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "filesink", GST_RANK_PRIMARY,
gst_file_sink_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "tee", GST_RANK_NONE, gst_tee_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "typefind", GST_RANK_NONE,
gst_type_find_element_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "multiqueue", GST_RANK_NONE,
gst_multi_queue_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "valve", GST_RANK_NONE,
gst_valve_get_type ()))
return FALSE;
if (!gst_element_register (plugin, "streamiddemux", GST_RANK_PRIMARY,
gst_streamid_demux_get_type ()))
return FALSE;
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
"GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);

View file

@ -37,9 +37,11 @@
# include "config.h"
#endif
#include <string.h>
#include "gstelements_private.h"
#include "gstfakesink.h"
#include <string.h>
#include "gstcoreelementselements.h"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@ -116,6 +118,8 @@ gst_fake_sink_state_error_get_type (void)
#define _do_init \
GST_DEBUG_CATEGORY_INIT (gst_fake_sink_debug, "fakesink", 0, "fakesink element");
#define gst_fake_sink_parent_class parent_class
GST_ELEMENT_REGISTER_DEFINE (fakesink, "fakesink", GST_RANK_NONE,
GST_TYPE_FAKE_SINK);
G_DEFINE_TYPE_WITH_CODE (GstFakeSink, gst_fake_sink, GST_TYPE_BASE_SINK,
_do_init);

View file

@ -51,6 +51,7 @@
#include "gstelements_private.h"
#include "gstfakesrc.h"
#include "gstcoreelementselements.h"
static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
@ -203,6 +204,8 @@ gst_fake_src_filltype_get_type (void)
GST_DEBUG_CATEGORY_INIT (gst_fake_src_debug, "fakesrc", 0, "fakesrc element");
#define gst_fake_src_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFakeSrc, gst_fake_src, GST_TYPE_BASE_SRC, _do_init);
GST_ELEMENT_REGISTER_DEFINE (fakesrc, "fakesrc", GST_RANK_NONE,
GST_TYPE_FAKE_SRC);
static void gst_fake_src_finalize (GObject * object);
static void gst_fake_src_set_property (GObject * object, guint prop_id,

View file

@ -60,6 +60,7 @@
#include "gstfdsink.h"
#include "gstelements_private.h"
#include "gstcoreelementselements.h"
#ifdef G_OS_WIN32
#include <io.h> /* lseek, open, close, read */
@ -110,6 +111,9 @@ static void gst_fd_sink_uri_handler_init (gpointer g_iface,
GST_DEBUG_CATEGORY_INIT (gst_fd_sink__debug, "fdsink", 0, "fdsink element");
#define gst_fd_sink_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFdSink, gst_fd_sink, GST_TYPE_BASE_SINK, _do_init);
#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
GST_ELEMENT_REGISTER_DEFINE (fdsink, "fdsink", GST_RANK_NONE, GST_TYPE_FD_SINK);
#endif
static void gst_fd_sink_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);

View file

@ -79,6 +79,7 @@
#include <errno.h>
#include "gstfdsrc.h"
#include "gstcoreelementselements.h"
#define struct_stat struct stat
@ -119,6 +120,9 @@ static void gst_fd_src_uri_handler_init (gpointer g_iface, gpointer iface_data);
GST_DEBUG_CATEGORY_INIT (gst_fd_src_debug, "fdsrc", 0, "fdsrc element");
#define gst_fd_src_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFdSrc, gst_fd_src, GST_TYPE_PUSH_SRC, _do_init);
#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
GST_ELEMENT_REGISTER_DEFINE (fdsrc, "fdsrc", GST_RANK_NONE, GST_TYPE_FD_SRC);
#endif
static void gst_fd_src_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);

View file

@ -73,6 +73,7 @@
#include "gstelements_private.h"
#include "gstfilesink.h"
#include "gstcoreelementselements.h"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@ -214,6 +215,8 @@ static GstFlowReturn gst_file_sink_flush_buffer (GstFileSink * filesink);
#define gst_file_sink_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFileSink, gst_file_sink, GST_TYPE_BASE_SINK,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (filesink, "filesink", GST_RANK_PRIMARY,
GST_TYPE_FILE_SINK);
static void
gst_file_sink_class_init (GstFileSinkClass * klass)

View file

@ -39,6 +39,7 @@
#include <gst/gst.h>
#include "gstfilesrc.h"
#include "gstcoreelementselements.h"
#include <stdio.h>
#include <sys/types.h>
@ -168,6 +169,8 @@ static void gst_file_src_uri_handler_init (gpointer g_iface,
GST_DEBUG_CATEGORY_INIT (gst_file_src_debug, "filesrc", 0, "filesrc element");
#define gst_file_src_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFileSrc, gst_file_src, GST_TYPE_BASE_SRC, _do_init);
GST_ELEMENT_REGISTER_DEFINE (filesrc, "filesrc", GST_RANK_PRIMARY,
GST_TYPE_FILE_SRC);
static void
gst_file_src_class_init (GstFileSrcClass * klass)

View file

@ -38,6 +38,7 @@
#endif
#include "gstfunnel.h"
#include "gstcoreelementselements.h"
GST_DEBUG_CATEGORY_STATIC (gst_funnel_debug);
#define GST_CAT_DEFAULT gst_funnel_debug
@ -106,6 +107,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
GST_DEBUG_CATEGORY_INIT (gst_funnel_debug, "funnel", 0, "funnel element");
#define gst_funnel_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstFunnel, gst_funnel, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (funnel, "funnel", GST_RANK_NONE, GST_TYPE_FUNNEL);
static GstStateChangeReturn gst_funnel_change_state (GstElement * element,
GstStateChange transition);

View file

@ -38,6 +38,7 @@
#include "gstelements_private.h"
#include "../../gst/gst-i18n-lib.h"
#include "gstidentity.h"
#include "gstcoreelementselements.h"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@ -105,6 +106,8 @@ enum
#define gst_identity_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstIdentity, gst_identity, GST_TYPE_BASE_TRANSFORM,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (identity, "identity", GST_RANK_NONE,
GST_TYPE_IDENTITY);
static void gst_identity_finalize (GObject * object);
static void gst_identity_set_property (GObject * object, guint prop_id,

View file

@ -48,6 +48,7 @@
#include <string.h>
#include "gstinputselector.h"
#include "gstcoreelementselements.h"
#define DEBUG_CACHED_BUFFERS 0
@ -1213,6 +1214,8 @@ static gboolean gst_input_selector_query (GstPad * pad, GstObject * parent,
#define gst_input_selector_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstInputSelector, gst_input_selector, GST_TYPE_ELEMENT,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (input_selector, "input-selector", GST_RANK_NONE,
GST_TYPE_INPUT_SELECTOR);
static void
gst_input_selector_class_init (GstInputSelectorClass * klass)

View file

@ -95,9 +95,11 @@
#endif
#include <gst/gst.h>
#include <stdio.h>
#include "gstmultiqueue.h"
#include <gst/glib-compat-private.h>
#include <stdio.h>
#include "gstmultiqueue.h"
#include "gstcoreelementselements.h"
/* GstSingleQueue:
* @sinkpad: associated sink #GstPad
@ -629,6 +631,8 @@ static void gst_multi_queue_loop (GstPad * pad);
#define gst_multi_queue_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstMultiQueue, gst_multi_queue, GST_TYPE_ELEMENT,
_do_init);
GST_ELEMENT_REGISTER_DEFINE (multiqueue, "multiqueue", GST_RANK_NONE,
GST_TYPE_MULTI_QUEUE);
static guint gst_multi_queue_signals[LAST_SIGNAL] = { 0 };

View file

@ -32,6 +32,7 @@
#include <string.h>
#include "gstoutputselector.h"
#include "gstcoreelementselements.h"
GST_DEBUG_CATEGORY_STATIC (output_selector_debug);
#define GST_CAT_DEFAULT output_selector_debug
@ -85,6 +86,8 @@ GST_DEBUG_CATEGORY_INIT (output_selector_debug, \
#define gst_output_selector_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstOutputSelector, gst_output_selector,
GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (output_selector, "output-selector", GST_RANK_NONE,
GST_TYPE_OUTPUT_SELECTOR);
static void gst_output_selector_dispose (GObject * object);
static void gst_output_selector_set_property (GObject * object,

View file

@ -60,6 +60,7 @@
#include <gst/gst.h>
#include "gstqueue.h"
#include "gstcoreelementselements.h"
#include "../../gst/gst-i18n-lib.h"
#include "../../gst/glib-compat-private.h"
@ -187,6 +188,7 @@ enum
"dataflow inside the queue element");
#define gst_queue_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstQueue, gst_queue, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (queue, "queue", GST_RANK_NONE, GST_TYPE_QUEUE);
static void gst_queue_finalize (GObject * object);
static void gst_queue_set_property (GObject * object,

View file

@ -62,6 +62,7 @@
#endif
#include "gstqueue2.h"
#include "gstcoreelementselements.h"
#include <glib/gstdio.h>
@ -270,6 +271,7 @@ static GParamSpec *obj_props[PROP_LAST] = { NULL, };
"dataflow inside the queue element");
#define gst_queue2_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstQueue2, gst_queue2, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (queue2, "queue2", GST_RANK_NONE, GST_TYPE_QUEUE2);
static void gst_queue2_finalize (GObject * object);

View file

@ -47,6 +47,7 @@
#include <string.h>
#include "gststreamiddemux.h"
#include "gstcoreelementselements.h"
GST_DEBUG_CATEGORY_STATIC (streamid_demux_debug);
#define GST_CAT_DEFAULT streamid_demux_debug
@ -76,6 +77,8 @@ GST_DEBUG_CATEGORY_INIT (streamid_demux_debug, \
#define gst_streamid_demux_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstStreamidDemux, gst_streamid_demux,
GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (streamiddemux, "streamiddemux", GST_RANK_PRIMARY,
GST_TYPE_STREAMID_DEMUX);
static void gst_streamid_demux_dispose (GObject * object);
static void gst_streamid_demux_get_property (GObject * object, guint prop_id,

View file

@ -50,6 +50,7 @@
#endif
#include "gsttee.h"
#include "gstcoreelementselements.h"
#include "gst/glib-compat-private.h"
#include <string.h>
@ -109,6 +110,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src_%u",
GST_DEBUG_CATEGORY_INIT (gst_tee_debug, "tee", 0, "tee element");
#define gst_tee_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstTee, gst_tee, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (tee, "tee", GST_RANK_NONE, GST_TYPE_TEE);
static GParamSpec *pspec_last_message = NULL;
static GParamSpec *pspec_alloc_pad = NULL;

View file

@ -73,6 +73,7 @@
#include "gst/gst_private.h"
#include "gsttypefindelement.h"
#include "gstcoreelementselements.h"
#include "gst/gst-i18n-lib.h"
#include "gst/base/gsttypefindhelper.h"
@ -129,6 +130,8 @@ enum
#define gst_type_find_element_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstTypeFindElement, gst_type_find_element,
GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (typefind, "typefind", GST_RANK_NONE,
GST_TYPE_TYPE_FIND_ELEMENT);
static void gst_type_find_element_dispose (GObject * object);
static void gst_type_find_element_set_property (GObject * object,

View file

@ -37,6 +37,7 @@
#endif
#include "gstvalve.h"
#include "gstcoreelementselements.h"
#include <string.h>
@ -100,6 +101,7 @@ static gboolean gst_valve_query (GstPad * pad, GstObject * parent,
GST_DEBUG_CATEGORY_INIT (valve_debug, "valve", 0, "Valve");
#define gst_valve_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstValve, gst_valve, GST_TYPE_ELEMENT, _do_init);
GST_ELEMENT_REGISTER_DEFINE (valve, "valve", GST_RANK_NONE, GST_TYPE_VALVE);
static void
gst_valve_class_init (GstValveClass * klass)

View file

@ -4,7 +4,7 @@ gst_elements_sources = [
'gstconcat.c',
'gstdataurisrc.c',
'gstdownloadbuffer.c',
'gstelements.c',
'gstcoreelementsplugin.c',
'gstelements_private.c',
'gstfakesink.c',
'gstfakesrc.c',