From: Thibault Saunier Date: Thu, 6 Jun 2019 14:16:50 +0000 (-0400) Subject: plugin: Make use of G_DECLARE X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cf43d9b6d4757f53e62ce460f65710d61fe4d9a2;p=platform%2Fupstream%2Fgst-editing-services.git plugin: Make use of G_DECLARE And remove useless .h files --- diff --git a/plugins/ges/gesdemux.c b/plugins/ges/gesdemux.c index 4993b2a..0dd20e8 100644 --- a/plugins/ges/gesdemux.c +++ b/plugins/ges/gesdemux.c @@ -39,7 +39,9 @@ #include #include #include -#include "gesdemux.h" +#include +#include +#include GST_DEBUG_CATEGORY_STATIC (gesdemux); #define GST_CAT_DEFAULT gesdemux @@ -61,7 +63,20 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_ALWAYS, GST_STATIC_CAPS ("application/xges")); +G_DECLARE_FINAL_TYPE (GESDemux, ges_demux, GES, Demux, GstBin); + +struct _GESDemux +{ + GstBin parent; + + GESTimeline *timeline; + GstPad *sinkpad; + + GstAdapter *input_adapter; +}; + G_DEFINE_TYPE (GESDemux, ges_demux, GST_TYPE_BIN); +#define GES_DEMUX(obj) ((GESDemux*)obj) enum { diff --git a/plugins/ges/gesdemux.h b/plugins/ges/gesdemux.h deleted file mode 100644 index eaa2b43..0000000 --- a/plugins/ges/gesdemux.h +++ /dev/null @@ -1,58 +0,0 @@ -/* GStreamer GES plugin - * - * Copyright (C) 2019 Thibault Saunier - * - * gesdemux.h - * - * 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 __GES_DEMUX_H__ -#define __GES_DEMUX_H__ - -#include -#include -#include - -G_BEGIN_DECLS - -GType ges_demux_get_type (void); - -#define GES_DEMUX_TYPE (ges_demux_get_type ()) -#define GES_DEMUX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_DEMUX_TYPE, GESDemux)) -#define GES_DEMUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_DEMUX_TYPE, GESDemuxClass)) -#define GES_IS_DEMUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_DEMUX_TYPE)) -#define GES_IS_DEMUX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_DEMUX_TYPE)) -#define GES_DEMUX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_DEMUX_TYPE, GESDemuxClass)) - -typedef struct { - GstBin parent; - - GESTimeline *timeline; - GstPad *sinkpad; - - GstAdapter *input_adapter; -} GESDemux; - -typedef struct { - GstBinClass parent; - -} GESDemuxClass; - -G_END_DECLS -#endif /* __GES_DEMUX_H__ */ - diff --git a/plugins/ges/gesplugin.c b/plugins/ges/gesplugin.c index a12d6b7..fe5d27e 100644 --- a/plugins/ges/gesplugin.c +++ b/plugins/ges/gesplugin.c @@ -27,18 +27,20 @@ #include -#include "gessrc.h" -#include "gesdemux.h" +extern GType ges_demux_get_type (); +extern GType ges_src_get_type (); static gboolean plugin_init (GstPlugin * plugin) { gboolean res = 1; - res |= gst_element_register (plugin, "gessrc", GST_RANK_NONE, GES_SRC_TYPE); + res |= + gst_element_register (plugin, "gessrc", GST_RANK_NONE, + ges_src_get_type ()); res |= gst_element_register (plugin, "gesdemux", GST_RANK_PRIMARY, - GES_DEMUX_TYPE); + ges_demux_get_type ()); return res; } diff --git a/plugins/ges/gessrc.c b/plugins/ges/gessrc.c index 89c9543..29dc897 100644 --- a/plugins/ges/gessrc.c +++ b/plugins/ges/gessrc.c @@ -28,16 +28,16 @@ * The gessrc is a bin that will simply expose the track src pads * and implements the GstUriHandler interface using a custom `ges://` * uri scheme. - * + * * NOTE: That to use it inside playbin and friends you **need** to * set gessrc::timeline property yourself. - * + * * Example with #playbin: - * + * * {{../../examples/c/gessrc.c}} - * + * * Example with #GstPlayer: - * + * * {{../../examples/python/gst-player.py}} **/ @@ -46,7 +46,7 @@ #endif #include -#include "gessrc.h" +#include GST_DEBUG_CATEGORY_STATIC (gessrc); #define GST_CAT_DEFAULT gessrc @@ -63,6 +63,15 @@ static GstStaticPadTemplate audio_src_template = GST_PAD_SOMETIMES, GST_STATIC_CAPS ("audio/x-raw(ANY);")); +G_DECLARE_FINAL_TYPE (GESSrc, ges_src, GES, SRC, GstBin); +struct _GESSrc +{ + GstBin parent; + + GESTimeline *timeline; +}; +#define GES_SRC(obj) ((GESSrc*) obj) + enum { PROP_0, diff --git a/plugins/ges/gessrc.h b/plugins/ges/gessrc.h deleted file mode 100644 index 976321a..0000000 --- a/plugins/ges/gessrc.h +++ /dev/null @@ -1,53 +0,0 @@ -/* GStreamer GES plugin - * - * Copyright (C) 2019 Thibault Saunier - * - * gstges.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. - * - */ - -#ifndef __GES_SRC_H__ -#define __GES_SRC_H__ - -#include -#include - -G_BEGIN_DECLS - -GType ges_src_get_type (void); - -#define GES_SRC_TYPE (ges_src_get_type ()) -#define GES_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_SRC_TYPE, GESSrc)) -#define GES_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_SRC_TYPE, GESSrcClass)) -#define GES_IS_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_SRC_TYPE)) -#define GES_IS_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_SRC_TYPE)) -#define GES_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_SRC_TYPE, GESSrcClass)) - -typedef struct { - GstBin parent; - - GESTimeline *timeline; -} GESSrc; - -typedef struct { - GstBinClass parent; - -} GESSrcClass; - -G_END_DECLS -#endif /* __GES_SRC_H__ */