plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
authorMathieu Duponchelle <mathieu@centricular.com>
Fri, 29 May 2020 00:43:59 +0000 (02:43 +0200)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 4 Jun 2020 02:44:23 +0000 (22:44 -0400)
30 files changed:
ext/cdparanoia/gstcdparanoiasrc.c
ext/gl/gstglalpha.c
ext/gl/gstgldeinterlace.c
ext/gl/gstgleffects.c
ext/gl/gstglimagesink.c
ext/gl/gstglmixer.c
ext/gl/gstglmixerbin.c
ext/gl/gstglstereomix.c
ext/gl/gstgltestsrc.c
ext/gl/gstglvideoflip.c
ext/gl/gstglvideomixer.c
ext/opus/gstopusenc.c
ext/pango/gstbasetextoverlay.c
ext/pango/gsttextrender.c
ext/pango/gsttimeoverlay.c
ext/theora/gsttheoraenc.c
gst/audiomixer/gstaudiointerleave.c
gst/audiomixer/gstaudiomixer.c
gst/audioresample/gstaudioresample.c
gst/audiotestsrc/gstaudiotestsrc.c
gst/compositor/compositor.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/rawparse/gstrawaudioparse.c
gst/rawparse/gstrawaudioparse.h
gst/tcp/gstmultihandlesink.c
gst/videoscale/gstvideoscale.c
gst/videotestsrc/gstvideotestsrc.c

index dfdabdb..42b6347 100644 (file)
@@ -194,6 +194,8 @@ gst_cd_paranoia_src_class_init (GstCdParanoiaSrcClass * klass)
       G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET (GstCdParanoiaSrcClass, uncorrected_error),
       NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_INT);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_CD_PARANOIA_MODE);
 }
 
 static gboolean
index 5975a00..e994391 100644 (file)
@@ -545,6 +545,8 @@ gst_gl_alpha_class_init (GstGLAlphaClass * klass)
 
   filter_class->filter_texture =
       GST_DEBUG_FUNCPTR (gst_gl_alpha_filter_texture);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_ALPHA_METHOD);
 }
 
 static void
index b8ffa3d..dfe3644 100644 (file)
@@ -269,6 +269,8 @@ gst_gl_deinterlace_class_init (GstGLDeinterlaceClass * klass)
 
   GST_GL_BASE_FILTER_CLASS (klass)->supported_gl_api =
       GST_GL_API_OPENGL | GST_GL_API_GLES2 | GST_GL_API_OPENGL3;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_DEINTERLACE_METHODS);
 }
 
 static void
index 02c5ca2..f26880b 100644 (file)
@@ -346,6 +346,8 @@ gst_gl_effects_class_init (GstGLEffectsClass * klass)
 
   GST_GL_BASE_FILTER_CLASS (klass)->supported_gl_api =
       GST_GL_API_OPENGL | GST_GL_API_GLES2 | GST_GL_API_OPENGL3;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_EFFECTS_EFFECT);
 }
 
 static void
index 7360b1a..03b4f3b 100644 (file)
@@ -297,6 +297,8 @@ gst_gl_image_sink_bin_class_init (GstGLImageSinkBinClass * klass)
       g_signal_new ("client-reshape", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_BOOLEAN, 3,
       GST_TYPE_GL_CONTEXT, G_TYPE_UINT, G_TYPE_UINT);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_ROTATE_METHOD);
 }
 
 #define GST_GLIMAGE_SINK_GET_LOCK(glsink) \
index 49690b0..ad25736 100644 (file)
@@ -437,6 +437,8 @@ gst_gl_mixer_class_init (GstGLMixerClass * klass)
   g_type_class_ref (GST_TYPE_GL_MIXER_PAD);
 
   klass->set_caps = NULL;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_MIXER_PAD);
 }
 
 static void
index a5f155f..db6255c 100644 (file)
@@ -41,6 +41,7 @@ typedef enum
   GST_GL_MIXER_BIN_START_TIME_SELECTION_SET
 } GstGLMixerBinStartTimeSelection;
 
+#define GST_TYPE_GL_MIXER_BIN_START_TIME_SELECTION (gst_gl_mixer_bin_start_time_selection_get_type())
 static GType
 gst_gl_mixer_bin_start_time_selection_get_type (void)
 {
@@ -195,7 +196,7 @@ gst_gl_mixer_bin_class_init (GstGLMixerBinClass * klass)
   g_object_class_install_property (gobject_class, PROP_START_TIME_SELECTION,
       g_param_spec_enum ("start-time-selection", "Start Time Selection",
           "Decides which start time is output",
-          gst_gl_mixer_bin_start_time_selection_get_type (),
+          GST_TYPE_GL_MIXER_BIN_START_TIME_SELECTION,
           DEFAULT_START_TIME_SELECTION,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
@@ -234,6 +235,8 @@ gst_gl_mixer_bin_class_init (GstGLMixerBinClass * klass)
   gst_element_class_set_metadata (element_class, "OpenGL video_mixer empty bin",
       "Bin/Filter/Effect/Video/Mixer", "OpenGL video_mixer empty bin",
       "Matthew Waters <matthew@centricular.com>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_MIXER_BIN_START_TIME_SELECTION);
 }
 
 static void
index 2a66827..2c8a3bb 100644 (file)
@@ -210,6 +210,9 @@ gst_gl_stereo_mix_class_init (GstGLStereoMixClass * klass)
 
   base_mix_class->supported_gl_api =
       GST_GL_API_GLES2 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_STEREO_DOWNMIX);
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_STEREO_MIX_PAD);
 }
 
 static void
index 1148a44..a5b0b60 100644 (file)
@@ -162,6 +162,8 @@ gst_gl_test_src_class_init (GstGLTestSrcClass * klass)
   gstglbasesrc_class->gl_start = gst_gl_test_src_gl_start;
   gstglbasesrc_class->gl_stop = gst_gl_test_src_gl_stop;
   gstglbasesrc_class->fill_gl_memory = gst_gl_test_src_fill_memory;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_TEST_SRC_PATTERN);
 }
 
 static void
index d5bb2ac..37b0411 100644 (file)
@@ -156,6 +156,8 @@ gst_gl_video_flip_class_init (GstGLVideoFlipClass * klass)
   gst_element_class_set_metadata (element_class, "OpenGL video flip filter",
       "Filter/Effect/Video", "Flip video on the GPU",
       "Matthew Waters <matthew@centricular.com>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_VIDEO_FLIP_METHOD);
 }
 
 static void
index 551e206..b12039c 100644 (file)
@@ -932,6 +932,11 @@ gst_gl_video_mixer_class_init (GstGLVideoMixerClass * klass)
 
   GST_GL_BASE_MIXER_CLASS (klass)->supported_gl_api =
       GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_VIDEO_MIXER_BACKGROUND);
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_VIDEO_MIXER_PAD);
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION);
+  gst_type_mark_as_plugin_api (GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION);
 }
 
 static void
index e3ec858..78128b3 100644 (file)
@@ -344,6 +344,11 @@ gst_opus_enc_class_init (GstOpusEncClass * klass)
   gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_opus_enc_finalize);
 
   GST_DEBUG_CATEGORY_INIT (opusenc_debug, "opusenc", 0, "Opus encoder");
+
+  gst_type_mark_as_plugin_api (GST_OPUS_ENC_TYPE_AUDIO_TYPE);
+  gst_type_mark_as_plugin_api (GST_OPUS_ENC_TYPE_BANDWIDTH);
+  gst_type_mark_as_plugin_api (GST_OPUS_ENC_TYPE_BITRATE_TYPE);
+  gst_type_mark_as_plugin_api (GST_OPUS_ENC_TYPE_FRAME_SIZE);
 }
 
 static void
index 4307654..2595105 100644 (file)
@@ -630,6 +630,12 @@ gst_base_text_overlay_class_init (GstBaseTextOverlayClass * klass)
           "Pixel aspect ratio of video scale to compensate for in user scale-mode",
           1, 100, 100, 1, DEFAULT_PROP_SCALE_PAR_N, DEFAULT_PROP_SCALE_PAR_D,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_type_mark_as_plugin_api (GST_TYPE_BASE_TEXT_OVERLAY_HALIGN);
+  gst_type_mark_as_plugin_api (GST_TYPE_BASE_TEXT_OVERLAY_VALIGN);
+  gst_type_mark_as_plugin_api (GST_TYPE_BASE_TEXT_OVERLAY_LINE_ALIGN);
+  gst_type_mark_as_plugin_api (GST_TYPE_BASE_TEXT_OVERLAY_SCALE_MODE);
+  gst_type_mark_as_plugin_api (GST_TYPE_BASE_TEXT_OVERLAY_WRAP_MODE);
 }
 
 static void
index 7f3d539..bbf6a53 100644 (file)
@@ -226,6 +226,10 @@ gst_text_render_class_init (GstTextRenderClass * klass)
           "Alignment of text lines relative to each other.",
           GST_TYPE_TEXT_RENDER_LINE_ALIGN, DEFAULT_PROP_LINE_ALIGNMENT,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_type_mark_as_plugin_api (GST_TYPE_TEXT_RENDER_HALIGN);
+  gst_type_mark_as_plugin_api (GST_TYPE_TEXT_RENDER_VALIGN);
+  gst_type_mark_as_plugin_api (GST_TYPE_TEXT_RENDER_LINE_ALIGN);
 }
 
 static void
index 75e1f5a..172484e 100644 (file)
@@ -237,6 +237,8 @@ gst_time_overlay_class_init (GstTimeOverlayClass * klass)
           "Whether to display times, counted from datetime-epoch, as dates",
           DEFAULT_SHOW_TIMES_AS_DATES,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_type_mark_as_plugin_api (GST_TYPE_TIME_OVERLAY_TIME_LINE);
 }
 
 static void
index 85350da..df6dbe6 100644 (file)
@@ -301,6 +301,8 @@ gst_theora_enc_class_init (GstTheoraEncClass * klass)
           (GParamFlags) G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   GST_DEBUG_CATEGORY_INIT (theoraenc_debug, "theoraenc", 0, "Theora encoder");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_MULTIPASS_MODE);
 }
 
 static void
index 021ba32..f45ed2b 100644 (file)
@@ -620,6 +620,8 @@ gst_audio_interleave_class_init (GstAudioInterleaveClass * klass)
           "Channel positions from input",
           "Take channel positions from the input", TRUE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_INTERLEAVE_PAD);
 }
 
 static void
index a975e6c..f0a5b82 100644 (file)
@@ -238,6 +238,8 @@ gst_audiomixer_class_init (GstAudioMixerClass * klass)
       GST_DEBUG_FUNCPTR (gst_audiomixer_release_pad);
 
   aagg_class->aggregate_one_buffer = gst_audiomixer_aggregate_one_buffer;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_MIXER_PAD);
 }
 
 static void
index bfb768f..f970d34 100644 (file)
@@ -210,6 +210,10 @@ gst_audio_resample_class_init (GstAudioResampleClass * klass)
       GST_DEBUG_FUNCPTR (gst_audio_resample_submit_input_buffer);
 
   GST_BASE_TRANSFORM_CLASS (klass)->passthrough_on_same_caps = TRUE;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_RESAMPLER_METHOD);
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION);
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE);
 }
 
 static void
index 00645eb..0a5de0c 100644 (file)
@@ -307,6 +307,8 @@ gst_audio_test_src_class_init (GstAudioTestSrcClass * klass)
   gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_audio_test_src_start);
   gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_audio_test_src_stop);
   gstbasesrc_class->fill = GST_DEBUG_FUNCPTR (gst_audio_test_src_fill);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_AUDIO_TEST_SRC_WAVE);
 }
 
 static void
index 44be5dd..f717e98 100644 (file)
@@ -142,6 +142,29 @@ gst_compositor_operator_get_type (void)
   return compositor_operator_type;
 }
 
+#define GST_TYPE_COMPOSITOR_BACKGROUND (gst_compositor_background_get_type())
+static GType
+gst_compositor_background_get_type (void)
+{
+  static GType compositor_background_type = 0;
+
+  static const GEnumValue compositor_background[] = {
+    {COMPOSITOR_BACKGROUND_CHECKER, "Checker pattern", "checker"},
+    {COMPOSITOR_BACKGROUND_BLACK, "Black", "black"},
+    {COMPOSITOR_BACKGROUND_WHITE, "White", "white"},
+    {COMPOSITOR_BACKGROUND_TRANSPARENT,
+        "Transparent Background to enable further compositing", "transparent"},
+    {0, NULL, NULL},
+  };
+
+  if (!compositor_background_type) {
+    compositor_background_type =
+        g_enum_register_static ("GstCompositorBackground",
+        compositor_background);
+  }
+  return compositor_background_type;
+}
+
 #define DEFAULT_PAD_XPOS   0
 #define DEFAULT_PAD_YPOS   0
 #define DEFAULT_PAD_WIDTH  0
@@ -522,29 +545,6 @@ enum
   PROP_BACKGROUND,
 };
 
-#define GST_TYPE_COMPOSITOR_BACKGROUND (gst_compositor_background_get_type())
-static GType
-gst_compositor_background_get_type (void)
-{
-  static GType compositor_background_type = 0;
-
-  static const GEnumValue compositor_background[] = {
-    {COMPOSITOR_BACKGROUND_CHECKER, "Checker pattern", "checker"},
-    {COMPOSITOR_BACKGROUND_BLACK, "Black", "black"},
-    {COMPOSITOR_BACKGROUND_WHITE, "White", "white"},
-    {COMPOSITOR_BACKGROUND_TRANSPARENT,
-        "Transparent Background to enable further compositing", "transparent"},
-    {0, NULL, NULL},
-  };
-
-  if (!compositor_background_type) {
-    compositor_background_type =
-        g_enum_register_static ("GstCompositorBackground",
-        compositor_background);
-  }
-  return compositor_background_type;
-}
-
 static void
 gst_compositor_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec)
@@ -1116,6 +1116,10 @@ gst_compositor_class_init (GstCompositorClass * klass)
       "Filter/Editor/Video/Compositor",
       "Composite multiple video streams", "Wim Taymans <wim@fluendo.com>, "
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_COMPOSITOR_PAD);
+  gst_type_mark_as_plugin_api (GST_TYPE_COMPOSITOR_OPERATOR);
+  gst_type_mark_as_plugin_api (GST_TYPE_COMPOSITOR_BACKGROUND);
 }
 
 static void
index 62f7869..01fcdd8 100644 (file)
@@ -445,6 +445,8 @@ gst_encode_bin_class_init (GstEncodeBinClass * klass)
       "Generic/Bin/Encoder",
       "Convenience encoding/muxing element",
       "Edward Hervey <edward.hervey@collabora.co.uk>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_ENCODEBIN_FLAGS);
 }
 
 static void
index 2d8314f..c578d0e 100644 (file)
@@ -1044,6 +1044,8 @@ gst_decode_bin_class_init (GstDecodeBinClass * klass)
       GST_DEBUG_FUNCPTR (gst_decode_bin_remove_element);
 
   g_type_class_ref (GST_TYPE_DECODE_PAD);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_AUTOPLUG_SELECT_RESULT);
 }
 
 /* Must be called with factories lock! */
index abdacb6..c73929c 100644 (file)
@@ -1341,6 +1341,8 @@ gst_play_bin_class_init (GstPlayBinClass * klass)
       GST_DEBUG_FUNCPTR (gst_play_bin_handle_message);
   gstbin_klass->deep_element_added =
       GST_DEBUG_FUNCPTR (gst_play_bin_deep_element_added);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_PLAY_FLAGS);
 }
 
 static void
index ad2e27d..97be413 100644 (file)
@@ -666,6 +666,8 @@ gst_play_sink_class_init (GstPlaySinkClass * klass)
 
   g_type_class_ref (GST_TYPE_STREAM_SYNCHRONIZER);
   g_type_class_ref (GST_TYPE_COLOR_BALANCE_CHANNEL);
+
+  gst_type_mark_as_plugin_api (GST_TYPE_PLAY_SINK_SEND_EVENT_MODE);
 }
 
 static void
index fe77e2d..ca45e02 100644 (file)
@@ -225,7 +225,7 @@ gst_raw_audio_parse_class_init (GstRawAudioParseClass * klass)
       g_param_spec_enum ("format",
           "Format",
           "Format of the raw audio stream",
-          gst_raw_audio_parse_format_get_type (),
+          GST_TYPE_RAW_AUDIO_PARSE_FORMAT,
           GST_RAW_AUDIO_PARSE_FORMAT_PCM,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
       );
@@ -280,6 +280,8 @@ gst_raw_audio_parse_class_init (GstRawAudioParseClass * klass)
       "Codec/Parser/Audio",
       "Converts unformatted data streams into timestamped raw audio frames",
       "Carlos Rafael Giani <dv@pseudoterminal.org>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_RAW_AUDIO_PARSE_FORMAT);
 }
 
 static void
index 9538408..c0ef00f 100644 (file)
@@ -101,6 +101,7 @@ struct _GstRawAudioParse
   GstRawAudioParseConfig *current_config;
 };
 
+#define GST_TYPE_RAW_AUDIO_PARSE_FORMAT (gst_raw_audio_parse_format_get_type())
 GType gst_raw_audio_parse_format_get_type (void);
 
 G_END_DECLS
index d595567..93bbc68 100644 (file)
@@ -484,6 +484,10 @@ gst_multi_handle_sink_class_init (GstMultiHandleSinkClass * klass)
 
   GST_DEBUG_CATEGORY_INIT (multihandlesink_debug, "multihandlesink", 0,
       "Multi socket sink");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_RECOVER_POLICY);
+  gst_type_mark_as_plugin_api (GST_TYPE_SYNC_METHOD);
+  gst_type_mark_as_plugin_api (GST_TYPE_CLIENT_STATUS);
 }
 
 static void
index d7dd68a..97c7f90 100644 (file)
@@ -297,6 +297,8 @@ gst_video_scale_class_init (GstVideoScaleClass * klass)
 
   _size_quark = g_quark_from_static_string (GST_META_TAG_VIDEO_SIZE_STR);
   _scale_quark = gst_video_meta_transform_scale_get_quark ();
+
+  gst_type_mark_as_plugin_api (GST_TYPE_VIDEO_SCALE_METHOD);
 }
 
 static void
index 4903581..ca2afba 100644 (file)
@@ -376,6 +376,10 @@ gst_video_test_src_class_init (GstVideoTestSrcClass * klass)
   gstbasesrc_class->decide_allocation = gst_video_test_src_decide_allocation;
 
   gstpushsrc_class->fill = gst_video_test_src_fill;
+
+  gst_type_mark_as_plugin_api (GST_TYPE_VIDEO_TEST_SRC_ANIMATION_MODE);
+  gst_type_mark_as_plugin_api (GST_TYPE_VIDEO_TEST_SRC_MOTION_TYPE);
+  gst_type_mark_as_plugin_api (GST_TYPE_VIDEO_TEST_SRC_PATTERN);
 }
 
 static void