summaryrefslogtreecommitdiff
path: root/libgupnp-dlna/metadata-backends/gstreamer
diff options
context:
space:
mode:
Diffstat (limited to 'libgupnp-dlna/metadata-backends/gstreamer')
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.c44
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-audio-information.h51
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.c46
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-container-information.h53
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.c24
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-image-information.h52
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.c61
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-information.h51
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.c33
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-metadata-extractor.h47
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.c8
-rw-r--r--libgupnp-dlna/metadata-backends/gstreamer/gupnp-dlna-gst-video-information.h47
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);