diff options
Diffstat (limited to 'libgupnp-dlna/metadata-backends/gstreamer')
12 files changed, 242 insertions, 275 deletions
diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.c index 0f8a5a0..512d3e1 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.c @@ -25,12 +25,19 @@ #include "gupnp-dlna-gst-audio-information.h" #include "gupnp-dlna-gst-info-utils.h" + struct _GUPnPDLNAGstAudioInformationPrivate { GstDiscovererInfo *info; GList *stream_list; GstDiscovererAudioInfo *audio_info; GstCaps *caps; }; +typedef struct _GUPnPDLNAGstAudioInformationPrivate + GUPnPDLNAGstAudioInformationPrivate; + +struct _GUPnPDLNAGstAudioInformation { + GObject parent; +}; G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstAudioInformation, gupnp_dlna_gst_audio_information, @@ -46,7 +53,9 @@ enum static GstDiscovererAudioInfo * get_audio_info (GUPnPDLNAGstAudioInformation *gst_info) { - GUPnPDLNAGstAudioInformationPrivate *priv = gst_info->priv; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private ( + gst_info); if (!priv->audio_info) { GList *iter; @@ -103,8 +112,10 @@ get_audio_info (GUPnPDLNAGstAudioInformation *gst_info) static GstCaps * get_caps (GUPnPDLNAGstAudioInformation *gst_info) { - GUPnPDLNAGstAudioInformationPrivate *priv = gst_info->priv; GstDiscovererStreamInfo *info = GST_DISCOVERER_STREAM_INFO (get_audio_info (gst_info)); + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private ( + gst_info); if (!priv->caps) priv->caps = gst_discoverer_stream_info_get_caps (info); @@ -119,9 +130,11 @@ get_int_value (GUPnPDLNAGstAudioInformation *gst_info, GstCaps *caps = get_caps (gst_info); GstDiscovererStreamInfo *stream = GST_DISCOVERER_STREAM_INFO (get_audio_info (gst_info)); - GstDiscovererInfo *info = gst_info->priv->info; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private ( + gst_info); - return gupnp_dlna_gst_get_int_value (caps, stream, info, name); + return gupnp_dlna_gst_get_int_value (caps, stream, priv->info, name); } static GUPnPDLNAStringValue @@ -131,9 +144,11 @@ get_string_value (GUPnPDLNAGstAudioInformation *gst_info, GstCaps *caps = get_caps (gst_info); GstDiscovererStreamInfo *stream = GST_DISCOVERER_STREAM_INFO (get_audio_info (gst_info)); - GstDiscovererInfo *info = gst_info->priv->info; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private ( + gst_info); - return gupnp_dlna_gst_get_string_value (caps, stream, info, name); + return gupnp_dlna_gst_get_string_value (caps, stream, priv->info, name); } static GUPnPDLNAIntValue @@ -282,7 +297,8 @@ gupnp_dlna_gst_audio_information_dispose (GObject *object) { GUPnPDLNAGstAudioInformation *info = GUPNP_DLNA_GST_AUDIO_INFORMATION (object); - GUPnPDLNAGstAudioInformationPrivate *priv = info->priv; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private (info); GObjectClass *parent_class = G_OBJECT_CLASS (gupnp_dlna_gst_audio_information_parent_class); @@ -303,7 +319,8 @@ gupnp_dlna_gst_audio_information_set_property (GObject *object, { GUPnPDLNAGstAudioInformation *info = GUPNP_DLNA_GST_AUDIO_INFORMATION (object); - GUPnPDLNAGstAudioInformationPrivate *priv = info->priv; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -327,7 +344,8 @@ gupnp_dlna_gst_audio_information_get_property (GObject *object, { GUPnPDLNAGstAudioInformation *info = GUPNP_DLNA_GST_AUDIO_INFORMATION (object); - GUPnPDLNAGstAudioInformationPrivate *priv = info->priv; + GUPnPDLNAGstAudioInformationPrivate *priv = + gupnp_dlna_gst_audio_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -382,14 +400,6 @@ gupnp_dlna_gst_audio_information_class_init static void gupnp_dlna_gst_audio_information_init (GUPnPDLNAGstAudioInformation *self) { - GUPnPDLNAGstAudioInformationPrivate *priv = - gupnp_dlna_gst_audio_information_get_instance_private (self); - - priv->info = NULL; - priv->stream_list = NULL; - priv->audio_info = NULL; - priv->caps = NULL; - self->priv = priv; } GUPnPDLNAGstAudioInformation * diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.h index 4e8f8e1..d092314 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.h @@ -28,44 +28,29 @@ G_BEGIN_DECLS +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstAudioInformation, + gupnp_dlna_gst_audio_information, + GUPNP_DLNA, + GST_AUDIO_INFORMATION, + GUPnPDLNAAudioInformation) + #define GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION \ (gupnp_dlna_gst_audio_information_get_type()) -#define GUPNP_DLNA_GST_AUDIO_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION, \ - GUPnPDLNAGstAudioInformation)) - -#define GUPNP_DLNA_GST_AUDIO_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION, \ - GUPnPDLNAGstAudioInformationClass)) - -#define GUPNP_IS_DLNA_GST_AUDIO_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION)) - -#define GUPNP_IS_DLNA_GST_AUDIO_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION)) - -#define GUPNP_DLNA_GST_AUDIO_INFORMATION_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_AUDIO_INFORMATION, \ - GUPnPDLNAGstAudioInformationClass)) - -typedef struct _GUPnPDLNAGstAudioInformationPrivate - GUPnPDLNAGstAudioInformationPrivate; - -typedef struct { - GUPnPDLNAAudioInformation parent; - - GUPnPDLNAGstAudioInformationPrivate *priv; -} GUPnPDLNAGstAudioInformation; +// Backwards-compatible defines +/** + * GUPNP_IS_DLNA_GST_AUDIO_INFORMATION: (skip) + */ +#define GUPNP_IS_DLNA_GST_AUDIO_INFORMATION GUPNP_DLNA_IS_GST_AUDIO_INFORMATION +/** + * GUPNP_IS_DLNA_GST_AUDIO_INFORMATION_CLASS: (skip) + */ +#define GUPNP_IS_DLNA_GST_AUDIO_INFORMATION_CLASS \ + GUPNP_DLNA_IS_GST_AUDIO_INFORMATION_CLASS -typedef struct { +struct _GUPnPDLNAGstAudioInformationClass { GUPnPDLNAAudioInformationClass parent_class; -} GUPnPDLNAGstAudioInformationClass; +}; GType gupnp_dlna_gst_audio_information_get_type (void); diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.c index 22faa26..f245836 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.c @@ -30,6 +30,12 @@ struct _GUPnPDLNAGstContainerInformationPrivate { GstDiscovererStreamInfo *container_info; GstCaps *caps; }; +typedef struct _GUPnPDLNAGstContainerInformationPrivate + GUPnPDLNAGstContainerInformationPrivate; + +struct _GUPnPDLNAGstContainerInformation{ + GUPnPDLNAContainerInformation parent; +}; G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstContainerInformation, gupnp_dlna_gst_container_information, @@ -45,7 +51,9 @@ enum static GstDiscovererStreamInfo * get_container_info (GUPnPDLNAGstContainerInformation *gst_info) { - GUPnPDLNAGstContainerInformationPrivate *priv = gst_info->priv; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + gst_info); if (!priv->container_info) { priv->container_info = @@ -58,7 +66,9 @@ get_container_info (GUPnPDLNAGstContainerInformation *gst_info) static GstCaps * get_caps (GUPnPDLNAGstContainerInformation *gst_info) { - GUPnPDLNAGstContainerInformationPrivate *priv = gst_info->priv; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + gst_info); if (!priv->caps) { priv->caps = gst_discoverer_stream_info_get_caps @@ -74,9 +84,11 @@ get_int_value (GUPnPDLNAGstContainerInformation *gst_info, { GstCaps *caps = get_caps (gst_info); GstDiscovererStreamInfo *stream = get_container_info (gst_info); - GstDiscovererInfo *info = gst_info->priv->info; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + gst_info); - return gupnp_dlna_gst_get_int_value (caps, stream, info, name); + return gupnp_dlna_gst_get_int_value (caps, stream, priv->info, name); } static GUPnPDLNAStringValue @@ -85,9 +97,11 @@ get_string_value (GUPnPDLNAGstContainerInformation *gst_info, { GstCaps *caps = get_caps (gst_info); GstDiscovererStreamInfo *stream = get_container_info (gst_info); - GstDiscovererInfo *info = gst_info->priv->info; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + gst_info); - return gupnp_dlna_gst_get_string_value (caps, stream, info, name); + return gupnp_dlna_gst_get_string_value (caps, stream, priv->info, name); } static GUPnPDLNABoolValue @@ -96,9 +110,11 @@ get_bool_value (GUPnPDLNAGstContainerInformation *gst_info, { GstCaps *caps = get_caps (gst_info); GstDiscovererStreamInfo *stream = get_container_info (gst_info); - GstDiscovererInfo *info = gst_info->priv->info; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + gst_info); - return gupnp_dlna_gst_get_bool_value (caps, stream, info, name); + return gupnp_dlna_gst_get_bool_value (caps, stream, priv->info, name); } static GUPnPDLNAIntValue @@ -160,7 +176,9 @@ gupnp_dlna_gst_container_information_dispose (GObject *object) { GUPnPDLNAGstContainerInformation *info = GUPNP_DLNA_GST_CONTAINER_INFORMATION (object); - GUPnPDLNAGstContainerInformationPrivate *priv = info->priv; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + info); GObjectClass *parent_class = G_OBJECT_CLASS (gupnp_dlna_gst_container_information_parent_class); @@ -179,7 +197,9 @@ gupnp_dlna_gst_container_information_set_property (GObject *object, { GUPnPDLNAGstContainerInformation *info = GUPNP_DLNA_GST_CONTAINER_INFORMATION (object); - GUPnPDLNAGstContainerInformationPrivate *priv = info->priv; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + info); switch (property_id) { case PROP_INFO: @@ -203,7 +223,9 @@ gupnp_dlna_gst_container_information_get_property (GObject *object, { GUPnPDLNAGstContainerInformation *info = GUPNP_DLNA_GST_CONTAINER_INFORMATION (object); - GUPnPDLNAGstContainerInformationPrivate *priv = info->priv; + GUPnPDLNAGstContainerInformationPrivate *priv = + gupnp_dlna_gst_container_information_get_instance_private ( + info); switch (property_id) { case PROP_INFO: @@ -253,8 +275,6 @@ static void gupnp_dlna_gst_container_information_init (GUPnPDLNAGstContainerInformation *self) { - self->priv = gupnp_dlna_gst_container_information_get_instance_private - (self); } GUPnPDLNAGstContainerInformation * diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.h index c480ca6..2f827bb 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.h @@ -28,45 +28,28 @@ G_BEGIN_DECLS +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstContainerInformation, + gupnp_dlna_gst_container_information, + GUPNP_DLNA, + GST_CONTAINER_INFORMATION, + GUPnPDLNAContainerInformation) + #define GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION \ (gupnp_dlna_gst_container_information_get_type()) +// Backwards-compatible defines +/** + * GUPNP_IS_GST_DLNA_CONTAINER_INFORMATION: (skip) + */ +#define GUPNP_IS_GST_DLNA_CONTAINER_INFORMATION GUPNP_DLNA_IS_GST_CONTAINER_INFORMATION +/** + * GUPNP_IS_GST_DLNA_CONTAINER_INFORMATION_CLASS: (skip) + */ +#define GUPNP_IS_GST_DLNA_CONTAINER_INFORMATION_CLASS \ + GUPNP_DLNA_IS_GST_CONTAINER_INFORMATION_CLASS -#define GUPNP_DLNA_GST_CONTAINER_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST \ - ((obj), \ - GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION, \ - GUPnPDLNAGstContainerInformation)) - -#define GUPNP_DLNA_GST_CONTAINER_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION, \ - GUPnPDLNAGstContainerInformationClass)) - -#define GUPNP_IS_DLNA_GST_CONTAINER_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION)) - -#define GUPNP_IS_DLNA_GST_CONTAINER_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION)) - -#define GUPNP_DLNA_GST_CONTAINER_INFORMATION_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_CONTAINER_INFORMATION, \ - GUPnPDLNAGstContainerInformationClass)) - -typedef struct _GUPnPDLNAGstContainerInformationPrivate - GUPnPDLNAGstContainerInformationPrivate; - -typedef struct { - GUPnPDLNAContainerInformation parent; - - GUPnPDLNAGstContainerInformationPrivate *priv; -} GUPnPDLNAGstContainerInformation; - -typedef struct { +struct _GUPnPDLNAGstContainerInformationClass { GUPnPDLNAContainerInformationClass parent_class; -} GUPnPDLNAGstContainerInformationClass; +}; GType gupnp_dlna_gst_container_information_get_type (void); diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.c index e594fff..733e7c1 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.c @@ -31,6 +31,12 @@ struct _GUPnPDLNAGstImageInformationPrivate { GstDiscovererVideoInfo *image_info; GstCaps *caps; }; +typedef struct _GUPnPDLNAGstImageInformationPrivate + GUPnPDLNAGstImageInformationPrivate; + +struct _GUPnPDLNAGstImageInformation { + GUPnPDLNAImageInformation parent; +}; G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstImageInformation, gupnp_dlna_gst_image_information, @@ -46,7 +52,9 @@ enum static GstDiscovererVideoInfo * get_image_info (GUPnPDLNAGstImageInformation *gst_info) { - GUPnPDLNAGstImageInformationPrivate *priv = gst_info->priv; + GUPnPDLNAGstImageInformationPrivate *priv = + gupnp_dlna_gst_image_information_get_instance_private ( + gst_info); if (!priv->image_info) { GList *iter; @@ -78,7 +86,9 @@ get_image_info (GUPnPDLNAGstImageInformation *gst_info) static GstCaps * get_caps (GUPnPDLNAGstImageInformation *gst_info) { - GUPnPDLNAGstImageInformationPrivate *priv = gst_info->priv; + GUPnPDLNAGstImageInformationPrivate *priv = + gupnp_dlna_gst_image_information_get_instance_private ( + gst_info); if (!priv->caps) priv->caps = gst_discoverer_stream_info_get_caps @@ -153,7 +163,8 @@ gupnp_dlna_gst_image_information_dispose (GObject *object) { GUPnPDLNAGstImageInformation *info = GUPNP_DLNA_GST_IMAGE_INFORMATION (object); - GUPnPDLNAGstImageInformationPrivate *priv = info->priv; + GUPnPDLNAGstImageInformationPrivate *priv = + gupnp_dlna_gst_image_information_get_instance_private (info); GObjectClass *parent_class = G_OBJECT_CLASS (gupnp_dlna_gst_image_information_parent_class); g_clear_pointer (&priv->info, gupnp_dlna_gst_discoverer_info_unref); @@ -173,7 +184,8 @@ gupnp_dlna_gst_image_information_set_property (GObject *object, { GUPnPDLNAGstImageInformation *info = GUPNP_DLNA_GST_IMAGE_INFORMATION (object); - GUPnPDLNAGstImageInformationPrivate *priv = info->priv; + GUPnPDLNAGstImageInformationPrivate *priv = + gupnp_dlna_gst_image_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -197,7 +209,8 @@ gupnp_dlna_gst_image_information_get_property (GObject *object, { GUPnPDLNAGstImageInformation *info = GUPNP_DLNA_GST_IMAGE_INFORMATION (object); - GUPnPDLNAGstImageInformationPrivate *priv = info->priv; + GUPnPDLNAGstImageInformationPrivate *priv = + gupnp_dlna_gst_image_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -244,7 +257,6 @@ gupnp_dlna_gst_image_information_class_init static void gupnp_dlna_gst_image_information_init (GUPnPDLNAGstImageInformation *self) { - self->priv = gupnp_dlna_gst_image_information_get_instance_private (self); } GUPnPDLNAGstImageInformation * diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.h index 457ea61..2d4caa9 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.h @@ -31,44 +31,26 @@ G_BEGIN_DECLS #define GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION \ (gupnp_dlna_gst_image_information_get_type()) -#define GUPNP_DLNA_GST_IMAGE_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION, \ - GUPnPDLNAGstImageInformation)) - -#define GUPNP_DLNA_GST_IMAGE_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION, \ - GUPnPDLNAGstImageInformationClass)) - -#define GUPNP_IS_DLNA_GST_IMAGE_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION)) - -#define GUPNP_IS_DLNA_GST_IMAGE_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION)) - -#define GUPNP_DLNA_GST_IMAGE_INFORMATION_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_IMAGE_INFORMATION, \ - GUPnPDLNAGstImageInformationClass)) - -typedef struct _GUPnPDLNAGstImageInformationPrivate - GUPnPDLNAGstImageInformationPrivate; - -typedef struct { - GUPnPDLNAImageInformation parent; +// Backwards-compatible defines +/** + * GUPNP_IS_GST_DLNA_IMAGE_INFORMATION: (skip) + */ +#define GUPNP_IS_GST_DLNA_IMAGE_INFORMATION GUPNP_DLNA_IS_IMAGE_INFORMATION +/** + * GUPNP_IS_GST_DLNA_IMAGE_INFORMATION_CLASS: (skip) + */ +#define GUPNP_IS_GST_DLNA_IMAGE_INFORMATION_CLASS \ + GUPNP_DLNA_IS_IMAGE_INFORMATION_CLASS - GUPnPDLNAGstImageInformationPrivate *priv; -} GUPnPDLNAGstImageInformation; +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstImageInformation, + gupnp_dlna_gst_image_information, + GUPNP_DLNA, + GST_IMAGE_INFORMATION, + GUPnPDLNAImageInformation) -typedef struct { +struct _GUPnPDLNAGstImageInformationClass { GUPnPDLNAImageInformationClass parent_class; -} GUPnPDLNAGstImageInformationClass; - -GType -gupnp_dlna_gst_image_information_get_type (void); +}; GUPnPDLNAGstImageInformation * gupnp_dlna_gst_image_information_new_from_discoverer_info diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.c index 08f1efa..205f8d0 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.c @@ -33,6 +33,12 @@ struct _GUPnPDLNAGstInformationPrivate { GstDiscovererInfo* info; }; +typedef struct _GUPnPDLNAGstInformationPrivate GUPnPDLNAGstInformationPrivate; + +struct _GUPnPDLNAGstInformation { + GUPnPDLNAInformation parent; +}; + G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstInformation, gupnp_dlna_gst_information, GUPNP_TYPE_DLNA_INFORMATION) @@ -47,7 +53,8 @@ static void gupnp_dlna_gst_information_dispose (GObject *object) { GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (object); - GUPnPDLNAGstInformationPrivate *priv = info->priv; + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); g_clear_pointer (&priv->info, gupnp_dlna_gst_discoverer_info_unref); G_OBJECT_CLASS @@ -61,7 +68,8 @@ gupnp_dlna_gst_information_set_property (GObject *object, GParamSpec *pspec) { GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (object); - GUPnPDLNAGstInformationPrivate *priv = info->priv; + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -86,7 +94,8 @@ gupnp_dlna_gst_information_get_property (GObject *object, GParamSpec *pspec) { GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (object); - GUPnPDLNAGstInformationPrivate *priv = info->priv; + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); switch (property_id) { case PROP_INFO: @@ -104,47 +113,56 @@ gupnp_dlna_gst_information_get_property (GObject *object, GUPnPDLNAAudioInformation * backend_get_audio_information (GUPnPDLNAInformation *self) { - GUPnPDLNAGstInformation *gst_info = GUPNP_DLNA_GST_INFORMATION (self); - - if (gst_info == NULL) + if (!GUPNP_DLNA_IS_GST_INFORMATION (self)) return NULL; - return GUPNP_DLNA_AUDIO_INFORMATION - (gupnp_dlna_gst_audio_information_new_from_discoverer_info - (gst_info->priv->info)); + GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (self); + + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); + + return GUPNP_DLNA_AUDIO_INFORMATION ( + gupnp_dlna_gst_audio_information_new_from_discoverer_info ( + priv->info)); } GUPnPDLNAContainerInformation * backend_get_container_information (GUPnPDLNAInformation *self) { - GUPnPDLNAGstInformation *gst_info = GUPNP_DLNA_GST_INFORMATION (self); - - if (gst_info == NULL) + if (!GUPNP_DLNA_IS_GST_INFORMATION (self)) return NULL; + GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (self); + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); + return GUPNP_DLNA_CONTAINER_INFORMATION (gupnp_dlna_gst_container_information_new_from_discoverer_info - (gst_info->priv->info)); + (priv->info)); } GUPnPDLNAImageInformation * backend_get_image_information (GUPnPDLNAInformation *self) { - GUPnPDLNAGstInformation *gst_info = GUPNP_DLNA_GST_INFORMATION (self); + GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (self); + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); - return GUPNP_DLNA_IMAGE_INFORMATION - (gupnp_dlna_gst_image_information_new_from_discoverer_info - (gst_info->priv->info)); + return GUPNP_DLNA_IMAGE_INFORMATION ( + gupnp_dlna_gst_image_information_new_from_discoverer_info ( + priv->info)); } GUPnPDLNAVideoInformation * backend_get_video_information (GUPnPDLNAInformation *self) { - GUPnPDLNAGstInformation *gst_info = GUPNP_DLNA_GST_INFORMATION (self); + GUPnPDLNAGstInformation *info = GUPNP_DLNA_GST_INFORMATION (self); + GUPnPDLNAGstInformationPrivate *priv = + gupnp_dlna_gst_information_get_instance_private (info); - return GUPNP_DLNA_VIDEO_INFORMATION - (gupnp_dlna_gst_video_information_new_from_discoverer_info - (gst_info->priv->info)); + return GUPNP_DLNA_VIDEO_INFORMATION ( + gupnp_dlna_gst_video_information_new_from_discoverer_info ( + priv->info)); } static void @@ -179,7 +197,6 @@ gupnp_dlna_gst_information_class_init static void gupnp_dlna_gst_information_init (GUPnPDLNAGstInformation *self) { - self->priv = gupnp_dlna_gst_information_get_instance_private (self); } GUPnPDLNAGstInformation * diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.h index fb17b44..c051257 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.h @@ -30,45 +30,26 @@ G_BEGIN_DECLS +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstInformation, + gupnp_dlna_gst_information, + GUPNP_DLNA, + GST_INFORMATION, + GUPnPDLNAInformation) #define GUPNP_TYPE_DLNA_GST_INFORMATION (gupnp_dlna_gst_information_get_type()) -#define GUPNP_DLNA_GST_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GUPNP_TYPE_DLNA_GST_INFORMATION, \ - GUPnPDLNAGstInformation)) - -#define GUPNP_DLNA_GST_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_INFORMATION, \ - GUPnPDLNAGstInformationClass)) - -#define GUPNP_IS_DLNA_GST_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - GUPNP_TYPE_DLNA_GST_INFORMATION)) - -#define GUPNP_IS_DLNA_GST_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - GUPNP_TYPE_DLNA_GST_INFORMATION)) - -#define GUPNP_DLNA_GST_INFORMATION_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_INFORMATION, \ - GUPnPDLNAGstInformationClass)) - -typedef struct _GUPnPDLNAGstInformationPrivate GUPnPDLNAGstInformationPrivate; - -typedef struct { - GUPnPDLNAInformation parent; - - GUPnPDLNAGstInformationPrivate *priv; -} GUPnPDLNAGstInformation; +// Backwards-compatible defines +/** + * GUPNP_IS_GST_DLNA_INFORMATION: (skip) + */ +#define GUPNP_IS_GST_DLNA_INFORMATION GUPNP_DLNA_IS_GST_IMAGE_INFORMATION +/** + * GUPNP_IS_GST_DLNA_INFORMATION_CLASS: (skip) + */ +#define GUPNP_IS_GST_DLNA_INFORMATION_CLASS GUPNP_DLNA_IS_GST_IMAGE_INFORMATION_CLASS -typedef struct { +struct _GUPnPDLNAGstInformationClass { GUPnPDLNAInformationClass parent_class; -} GUPnPDLNAGstInformationClass; - -GType -gupnp_dlna_gst_information_get_type (void); +}; GUPnPDLNAGstInformation * gupnp_dlna_gst_information_new_from_discoverer_info (const gchar *uri, diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.c index 702d634..9c4d4f9 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.c @@ -26,19 +26,37 @@ #include "gupnp-dlna-gst-information.h" #include "gupnp-dlna-gst-utils.h" -struct _GUPnPDLNAGstMetadataExtractorPrivate { - gpointer placeholder; +typedef struct _GUPnPDLNAGstMetadataExtractorPrivate + GUPnPDLNAGstMetadataExtractorPrivate; + +/** + * GUPnPDLNAGstMetadataExtractor: + * + * The top-level object used to for metadata extraction. + */ +struct _GUPnPDLNAGstMetadataExtractor { + GUPnPDLNAMetadataExtractor parent; + + GUPnPDLNAGstMetadataExtractorPrivate *priv; }; +// Backwards-compatible defines +/** + * GUPNP_IS_DLNA_GST_METADATA_BACKEND: (skip) + */ +#define GUPNP_IS_GST_DLNA_METADATA_BACKEND GUPNP_DLNA_IS_GST_METADATA_BACKEND +/** + * GUPNP_IS_GST_DLNA_METADATA_BACKEND_CLASS: (skip) + */ +#define GUPNP_IS_GST_DLNA_METADATA_BACKEND_CLASS GUPNP_DLNA_IS_GST_METADATA_BACKEND_CLASS -G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstMetadataExtractor, - gupnp_dlna_gst_metadata_extractor, - GUPNP_TYPE_DLNA_METADATA_EXTRACTOR) +G_DEFINE_TYPE (GUPnPDLNAGstMetadataExtractor, + gupnp_dlna_gst_metadata_extractor, + GUPNP_TYPE_DLNA_METADATA_EXTRACTOR) static gboolean unref_discoverer_in_idle (GstDiscoverer *discoverer) { - if (discoverer) - g_object_unref (discoverer); + g_clear_object (&discoverer); return FALSE; } @@ -142,7 +160,6 @@ gupnp_dlna_gst_metadata_extractor_class_init static void gupnp_dlna_gst_metadata_extractor_init (GUPnPDLNAGstMetadataExtractor *self) { - self->priv = gupnp_dlna_gst_metadata_extractor_get_instance_private (self); } GUPnPDLNAGstMetadataExtractor * diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.h index f1bd6ca..dcef839 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.h @@ -33,49 +33,16 @@ G_BEGIN_DECLS #define GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR \ (gupnp_dlna_gst_metadata_extractor_get_type()) -#define GUPNP_DLNA_GST_METADATA_EXTRACTOR(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR, \ - GUPnPDLNAGstMetadataExtractor)) +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstMetadataExtractor, + gupnp_dlna_gst_metadata_extractor, + GUPNP_DLNA, + GST_METADATA_EXTRACTOR, + GUPnPDLNAMetadataExtractor) -#define GUPNP_DLNA_GST_METADATA_EXTRACTOR_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR, \ - GUPnPDLNAGstMetadataExtractorClass)) -#define GUPNP_IS_DLNA_GST_METADATA_EXTRACTOR(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR)) - -#define GUPNP_IS_DLNA_GST_METADATA_EXTRACTOR_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR)) - -#define GUPNP_DLNA_GST_METADATA_EXTRACTOR_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_METADATA_EXTRACTOR, \ - GUPnPDLNAGstMetadataExtractorClass)) - -typedef struct _GUPnPDLNAGstMetadataExtractorPrivate - GUPnPDLNAGstMetadataExtractorPrivate; - -/** - * GUPnPDLNAGstMetadataExtractor: - * - * The top-level object used to for metadata extraction. - */ -typedef struct { - GUPnPDLNAMetadataExtractor parent; - - GUPnPDLNAGstMetadataExtractorPrivate *priv; -} GUPnPDLNAGstMetadataExtractor; - -typedef struct { +struct _GUPnPDLNAGstMetadataExtractorClass { GUPnPDLNAMetadataExtractorClass parent_class; -} GUPnPDLNAGstMetadataExtractorClass; - -GType -gupnp_dlna_gst_metadata_extractor_get_type (void); +}; GUPnPDLNAGstMetadataExtractor * gupnp_dlna_gst_metadata_extractor_new (void); diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.c b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.c index aee6a36..f35c1e1 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.c +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.c @@ -32,6 +32,14 @@ struct _GUPnPDLNAGstVideoInformationPrivate { GstCaps *caps; }; +typedef struct _GUPnPDLNAGstVideoInformationPrivate GUPnPDLNAGstVideoInformationPrivate; + +struct _GUPnPDLNAGstVideoInformation { + GUPnPDLNAVideoInformation parent; + + GUPnPDLNAGstVideoInformationPrivate *priv; +}; + G_DEFINE_TYPE_WITH_PRIVATE (GUPnPDLNAGstVideoInformation, gupnp_dlna_gst_video_information, GUPNP_TYPE_DLNA_VIDEO_INFORMATION) diff --git a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.h b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.h index 93ebbce..ecb2b9b 100644 --- a/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.h +++ b/libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.h @@ -30,40 +30,25 @@ G_BEGIN_DECLS #define GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION gupnp_dlna_gst_video_information_get_type() -#define GUPNP_DLNA_GST_VIDEO_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION, \ - GUPnPDLNAGstVideoInformation)) - -#define GUPNP_DLNA_GST_VIDEO_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION, \ - GUPnPDLNAGstVideoInformationClass)) - -#define GUPNP_IS_DLNA_GST_VIDEO_INFORMATION(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION)) - -#define GUPNP_IS_DLNA_GST_VIDEO_INFORMATION_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION)) - -#define GUPNP_DLNA_GST_VIDEO_INFORMATION_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - GUPNP_TYPE_DLNA_GST_VIDEO_INFORMATION, \ - GUPnPDLNAGstVideoInformationClass)) - -typedef struct _GUPnPDLNAGstVideoInformationPrivate GUPnPDLNAGstVideoInformationPrivate; - -typedef struct { - GUPnPDLNAVideoInformation parent; +// Backwards-compatible defines +/** + * GUPNP_IS_DLNA_VIDEO_INFORMATION: (skip) + */ +#define GUPNP_IS_DLNA_GST_VIDEO_INFORMATION GUPNP_DLNA_IS_GST_VIDEO_INFORMATION +/** + * GUPNP_IS_DLNA_VIDEO_INFORMATION_CLASS: (skip) + */ +#define GUPNP_IS_DLNA_GST_VIDEO_INFORMATION_CLASS GUPNP_DLNA_IS_GST_VIDEO_INFORMATION_CLASS - GUPnPDLNAGstVideoInformationPrivate *priv; -} GUPnPDLNAGstVideoInformation; +G_DECLARE_FINAL_TYPE (GUPnPDLNAGstVideoInformation, + gupnp_dlna_gst_video_information, + GUPNP_DLNA, + GST_VIDEO_INFORMATION, + GUPnPDLNAVideoInformation) -typedef struct { +struct _GUPnPDLNAGstVideoInformationClass { GUPnPDLNAVideoInformationClass parent_class; -} GUPnPDLNAGstVideoInformationClass; - -GType gupnp_dlna_gst_video_information_get_type (void); +}; GUPnPDLNAGstVideoInformation * gupnp_dlna_gst_video_information_new_from_discoverer_info (GstDiscovererInfo *info); |