mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-14 05:12:09 +00:00
x264: 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-ugly/-/merge_requests/79>
This commit is contained in:
parent
e3a35c127f
commit
62d914b5b4
2 changed files with 11 additions and 4 deletions
|
@ -724,6 +724,7 @@ static void gst_x264_enc_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec);
|
const GValue * value, GParamSpec * pspec);
|
||||||
static void gst_x264_enc_get_property (GObject * object, guint prop_id,
|
static void gst_x264_enc_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * pspec);
|
GValue * value, GParamSpec * pspec);
|
||||||
|
static gboolean x264_element_init (GstPlugin * plugin);
|
||||||
|
|
||||||
typedef gboolean (*LoadPresetFunc) (GstPreset * preset, const gchar * name);
|
typedef gboolean (*LoadPresetFunc) (GstPreset * preset, const gchar * name);
|
||||||
|
|
||||||
|
@ -755,10 +756,9 @@ gst_x264_enc_preset_interface_init (GstPresetInterface * iface)
|
||||||
G_DEFINE_TYPE_WITH_CODE (GstX264Enc, gst_x264_enc, GST_TYPE_VIDEO_ENCODER,
|
G_DEFINE_TYPE_WITH_CODE (GstX264Enc, gst_x264_enc, GST_TYPE_VIDEO_ENCODER,
|
||||||
G_IMPLEMENT_INTERFACE (GST_TYPE_PRESET,
|
G_IMPLEMENT_INTERFACE (GST_TYPE_PRESET,
|
||||||
gst_x264_enc_preset_interface_init));
|
gst_x264_enc_preset_interface_init));
|
||||||
|
GST_ELEMENT_REGISTER_DEFINE_CUSTOM (x264enc, x264_element_init)
|
||||||
/* don't forget to free the string after use */
|
/* don't forget to free the string after use */
|
||||||
static const gchar *
|
static const gchar *gst_x264_enc_build_partitions (gint analyse)
|
||||||
gst_x264_enc_build_partitions (gint analyse)
|
|
||||||
{
|
{
|
||||||
GString *string;
|
GString *string;
|
||||||
|
|
||||||
|
@ -2988,7 +2988,7 @@ gst_x264_enc_get_property (GObject * object, guint prop_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
plugin_init (GstPlugin * plugin)
|
x264_element_init (GstPlugin * plugin)
|
||||||
{
|
{
|
||||||
GST_DEBUG_CATEGORY_INIT (x264_enc_debug, "x264enc", 0,
|
GST_DEBUG_CATEGORY_INIT (x264_enc_debug, "x264enc", 0,
|
||||||
"h264 encoding element");
|
"h264 encoding element");
|
||||||
|
@ -3026,6 +3026,12 @@ plugin_init (GstPlugin * plugin)
|
||||||
GST_RANK_PRIMARY, GST_TYPE_X264_ENC);
|
GST_RANK_PRIMARY, GST_TYPE_X264_ENC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
plugin_init (GstPlugin * plugin)
|
||||||
|
{
|
||||||
|
return GST_ELEMENT_REGISTER (x264enc, plugin);
|
||||||
|
}
|
||||||
|
|
||||||
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
||||||
GST_VERSION_MINOR,
|
GST_VERSION_MINOR,
|
||||||
x264,
|
x264,
|
||||||
|
|
|
@ -137,6 +137,7 @@ struct _GstX264EncClass
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gst_x264_enc_get_type (void);
|
GType gst_x264_enc_get_type (void);
|
||||||
|
GST_ELEMENT_REGISTER_DECLARE (x264enc);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue