summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2020-11-25 22:21:35 -0300
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-02-26 15:37:23 +0000
commit7cf6e4d8f237d5ead7d6932ab2ea9f01887358d2 (patch)
tree5dd8d61599b6effb567748322bec82c7902f6f7c
parent0a1dcc9546bd45b542966c54940f56f2959c4fde (diff)
downloadgstreamer-plugins-bad-7cf6e4d8f237d5ead7d6932ab2ea9f01887358d2.tar.gz
transcoder: Automatically generate enums GTypes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1840>
-rw-r--r--gst-libs/gst/transcoder/gsttranscoder.c21
-rw-r--r--gst-libs/gst/transcoder/gsttranscoder.h4
-rw-r--r--gst-libs/gst/transcoder/meson.build21
-rw-r--r--gst-libs/gst/transcoder/transcoder-prelude.h2
4 files changed, 21 insertions, 27 deletions
diff --git a/gst-libs/gst/transcoder/gsttranscoder.c b/gst-libs/gst/transcoder/gsttranscoder.c
index 1083616a1..ec7041237 100644
--- a/gst-libs/gst/transcoder/gsttranscoder.c
+++ b/gst-libs/gst/transcoder/gsttranscoder.c
@@ -1352,27 +1352,6 @@ gst_transcoder_set_avoid_reencoding (GstTranscoder * self,
g_object_set (self->transcodebin, "avoid-reencoding", avoid_reencoding, NULL);
}
-#define C_ENUM(v) ((gint) v)
-#define C_FLAGS(v) ((guint) v)
-
-GType
-gst_transcoder_error_get_type (void)
-{
- static gsize id = 0;
- static const GEnumValue values[] = {
- {C_ENUM (GST_TRANSCODER_ERROR_FAILED), "GST_TRANSCODER_ERROR_FAILED",
- "failed"},
- {0, NULL, NULL}
- };
-
- if (g_once_init_enter (&id)) {
- GType tmp = g_enum_register_static ("GstTranscoderError", values);
- g_once_init_leave (&id, tmp);
- }
-
- return (GType) id;
-}
-
/**
* gst_transcoder_error_get_name:
* @error: a #GstTranscoderError
diff --git a/gst-libs/gst/transcoder/gsttranscoder.h b/gst-libs/gst/transcoder/gsttranscoder.h
index c7542a57d..ccc3dd7fa 100644
--- a/gst-libs/gst/transcoder/gsttranscoder.h
+++ b/gst-libs/gst/transcoder/gsttranscoder.h
@@ -8,6 +8,7 @@
#include <gst/gst.h>
#include <gst/pbutils/pbutils.h>
#include "transcoder-prelude.h"
+#include "transcoder-enumtypes.h"
G_BEGIN_DECLS
@@ -16,7 +17,6 @@ typedef struct _GstTranscoderSignalDispatcherInterface GstTranscoderSignalDispat
/*********** Error definitions ************/
#define GST_TRANSCODER_ERROR (gst_transcoder_error_quark ())
-#define GST_TYPE_TRANSCODER_ERROR (gst_transcoder_error_get_type ())
/**
* GstTranscoderError:
@@ -29,8 +29,6 @@ typedef enum {
GST_TRANSCODER_API
GQuark gst_transcoder_error_quark (void);
GST_TRANSCODER_API
-GType gst_transcoder_error_get_type (void);
-GST_TRANSCODER_API
const gchar * gst_transcoder_error_get_name (GstTranscoderError error);
/*********** GstTranscoder definition ************/
diff --git a/gst-libs/gst/transcoder/meson.build b/gst-libs/gst/transcoder/meson.build
index 67323a23f..4381efa9e 100644
--- a/gst-libs/gst/transcoder/meson.build
+++ b/gst-libs/gst/transcoder/meson.build
@@ -3,8 +3,21 @@ headers = files(['gsttranscoder.h', 'transcoder-prelude.h'])
install_headers(headers, subdir : 'gstreamer-' + api_version + '/gst/transcoder')
+transcoder_enums = gnome.mkenums_simple('transcoder-enumtypes',
+ sources : headers,
+ body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
+ header_prefix : '#include <gst/transcoder/transcoder-prelude.h>',
+ decorator: 'GST_TRANSCODER_API',
+ install_header: true,
+ install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/transcoder'))
+
+gsttranscoder_c = transcoder_enums[0]
+gsttranscoder_h = transcoder_enums[1]
+
+transcoder_gen_sources = [gsttranscoder_h]
+
gst_transcoder = library('gsttranscoder-' + api_version,
- sources,
+ sources + [gsttranscoder_c] + transcoder_gen_sources,
install: true,
include_directories : [configinc, libsinc],
dependencies: [gst_dep, gstpbutils_dep],
@@ -22,7 +35,7 @@ pkgconfig.generate(gst_transcoder,
if build_gir
transcoder_gir = gnome.generate_gir(gst_transcoder,
- sources : sources + headers,
+ sources : sources + headers + [gsttranscoder_h],
nsversion : api_version,
namespace : 'GstTranscoder',
identifier_prefix : 'Gst',
@@ -34,11 +47,13 @@ if build_gir
install : true,
extra_args : gir_init_section
)
+ transcoder_gen_sources += transcoder_gir
endif
gst_transcoder_dep = declare_dependency(link_with: gst_transcoder,
dependencies : [gst_dep, gstpbutils_dep],
- include_directories : [libsinc]
+ include_directories : [libsinc],
+ sources: transcoder_gen_sources,
)
meson.override_dependency('gstreamer-transcoder-1.0', gst_transcoder_dep)
diff --git a/gst-libs/gst/transcoder/transcoder-prelude.h b/gst-libs/gst/transcoder/transcoder-prelude.h
index ba153dd16..4745db504 100644
--- a/gst-libs/gst/transcoder/transcoder-prelude.h
+++ b/gst-libs/gst/transcoder/transcoder-prelude.h
@@ -33,4 +33,6 @@
# endif
#endif
+#include <gst/transcoder/transcoder-enumtypes.h>
+
#endif /* __GST_TRANSCODER_PRELUDE_H__ */