xvimage: allow per feature 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/gst-plugins-base/-/merge_requests/1089>
This commit is contained in:
Stéphane Cerveau 2021-03-29 14:10:12 +02:00
parent fa416b08b7
commit 141b8c4399
5 changed files with 14 additions and 18 deletions

View file

@ -33,7 +33,7 @@
/* for XkbKeycodeToKeysym */
#include <X11/XKBlib.h>
GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_context);
GST_DEBUG_CATEGORY (gst_debug_xv_context);
#define GST_CAT_DEFAULT gst_debug_xv_context
void

View file

@ -23,25 +23,11 @@
#include "xvimagesink.h"
GST_DEBUG_CATEGORY (gst_debug_xv_context);
GST_DEBUG_CATEGORY (gst_debug_xv_image_pool);
GST_DEBUG_CATEGORY (gst_debug_xv_image_sink);
static gboolean
plugin_init (GstPlugin * plugin)
{
if (!gst_element_register (plugin, "xvimagesink",
GST_RANK_PRIMARY, GST_TYPE_XV_IMAGE_SINK))
return FALSE;
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_context, "xcontext", 0,
"xcontext miniobject");
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_sink, "xvimagesink", 0,
"xvimagesink element");
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_pool, "xvimagepool", 0,
"xvimagepool object");
return TRUE;
return GST_ELEMENT_REGISTER (xvimagesink, plugin);;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,

View file

@ -34,7 +34,7 @@
#include <gst/video/gstvideopool.h>
GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_image_pool);
GST_DEBUG_CATEGORY (gst_debug_xv_image_pool);
#define GST_CAT_DEFAULT gst_debug_xv_image_pool
/* bufferpool */

View file

@ -132,7 +132,10 @@
/* for XkbKeycodeToKeysym */
#include <X11/XKBlib.h>
GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_image_sink);
GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_context);
GST_DEBUG_CATEGORY_EXTERN (gst_debug_xv_image_pool);
GST_DEBUG_CATEGORY (gst_debug_xv_image_sink);
#define GST_CAT_DEFAULT gst_debug_xv_image_sink
GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
@ -213,7 +216,13 @@ G_DEFINE_TYPE_WITH_CODE (GstXvImageSink, gst_xv_image_sink, GST_TYPE_VIDEO_SINK,
gst_xv_image_sink_video_overlay_init);
G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE,
gst_xv_image_sink_colorbalance_init));
#define _do_init \
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_context, "xcontext", 0, "xcontext miniobject");\
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_sink, "xvimagesink", 0, "ximagesink element");\
GST_DEBUG_CATEGORY_INIT (gst_debug_xv_image_pool, "xvimagepool", 0, "ximagepool object");\
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (xvimagesink, "xvimagesink",
GST_RANK_PRIMARY, GST_TYPE_XV_IMAGE_SINK, _do_init);
/* ============================================================= */
/* */

View file

@ -132,6 +132,7 @@ struct _GstXvImageSinkClass
};
GType gst_xv_image_sink_get_type (void);
GST_ELEMENT_REGISTER_DECLARE (xvimagesink);
G_END_DECLS
#endif /* __GST_XV_IMAGE_SINK_H__ */