Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
GstObject parent;
GssimPrivate *priv;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
} Gssim;
typedef struct {
GstObjectClass parent;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
} GssimClass;
#define GSSIM_TYPE (gssim_get_type ())
GstObject parent;
GstValidateSsimPrivate *priv;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
} GstValidateSsim;
typedef struct {
GstObjectClass parent;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
} GstValidateSsimClass;
#define GST_VALIDATE_SSIM_TIME_FORMAT "u-%02u-%02u.%09u"
/*< private >*/
gulong element_added_id;
gulong element_removed_id;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/**
*/
struct _GstValidateBinMonitorClass {
GstValidateElementMonitorClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
gboolean is_demuxer;
gboolean is_converter;
gboolean is_sink;
+
+ gpointer _gst_reserved[GST_PADDING];
};
/**
*/
struct _GstValidateElementMonitorClass {
GstValidateMonitorClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
G_GNUC_INTERNAL gboolean gst_validate_extra_checks_init (void);
G_GNUC_INTERNAL gboolean gst_validate_flow_init (void);
G_GNUC_INTERNAL gboolean is_tty (void);
+
+/* MediaDescriptor structures */
+
+typedef struct
+{
+ /* Children */
+ /* GstValidateMediaTagNode */
+ GList *tags;
+
+ gchar *str_open;
+ gchar *str_close;
+} GstValidateMediaTagsNode;
+
+/* Parsing structures */
+struct _GstValidateMediaFileNode
+{
+ /* Children */
+ /* GstValidateMediaStreamNode */
+ GList *streams;
+ /* GstValidateMediaTagsNode */
+ GstValidateMediaTagsNode *tags;
+
+ /* attributes */
+ guint64 id;
+ gchar *uri;
+ GstClockTime duration;
+ gboolean frame_detection;
+ gboolean skip_parsers;
+ gboolean seekable;
+
+ GstCaps *caps;
+
+ gchar *str_open;
+ gchar *str_close;
+};
+
+struct _GstValidateMediaTagNode
+{
+ /* Children */
+ GstTagList *taglist;
+
+ /* Testing infos */
+ gboolean found;
+
+ gchar *str_open;
+ gchar *str_close;
+};
+
+typedef struct
+{
+ /* Children */
+ /* GstValidateMediaFrameNode */
+ GList *frames;
+
+ /* GstValidateMediaTagsNode */
+ GstValidateMediaTagsNode *tags;
+
+ /* Attributes */
+ GstCaps *caps;
+ GList * segments;
+ gchar *id;
+ gchar *padname;
+
+ /* Testing infos */
+ GstPad *pad;
+ GList *cframe;
+
+ gchar *str_open;
+ gchar *str_close;
+} GstValidateMediaStreamNode;
+
+typedef struct
+{
+ /* Attributes */
+ guint64 id;
+ guint64 offset;
+ guint64 offset_end;
+ GstClockTime duration;
+ GstClockTime pts, dts;
+ GstClockTime running_time;
+ gboolean is_keyframe;
+
+ GstBuffer *buf;
+
+ gchar *checksum;
+ gchar *str_open;
+ gchar *str_close;
+} GstValidateMediaFrameNode;
+
+typedef struct
+{
+ gint next_frame_id;
+
+ GstSegment segment;
+
+ gchar *str_open;
+ gchar *str_close;
+} GstValidateSegmentNode;
+
#endif
gboolean discover_only;
GstValidateStreamInfo *stream_info;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
GST_VALIDATE_API
struct _GstMockDecryptor
{
GstBaseTransform element;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
struct _GstMockDecryptorClass
{
GstBaseTransformClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
G_GNUC_INTERNAL GType gst_mockdecryptor_get_type (void);
GHashTable *reports;
GstValidateVerbosityFlags verbosity;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/**
GstElement *(* get_element) (GstValidateMonitor * monitor);
void (*set_media_descriptor) (GstValidateMonitor * monitor,
GstValidateMediaDescriptor * media_descriptor);
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
GQueue name_overrides;
GQueue gtype_overrides;
GQueue klass_overrides;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
} GstValidateOverrideRegistry;
GST_VALIDATE_API
GstValidateMonitor * monitor);
void (*attached)(GstValidateOverride * override);
+
+ gpointer _gst_reserved[GST_PADDING];
};
struct _GstValidateOverride
/*<private>*/
GstValidateOverridePrivate *priv;
+
+ gpointer _gst_reserved[GST_PADDING];
};
GST_VALIDATE_API
GstClockTime min_buf_freq_interval_ts;
GstClockTime min_buf_freq_first_buffer_ts;
GstClockTime min_buf_freq_start;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/**
*/
struct _GstValidatePadMonitorClass {
GstValidateMonitorClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
GList *streams_selected;
gulong deep_notify_id;
+
+ gpointer _gst_reserved[GST_PADDING];
};
/**
*/
struct _GstValidatePipelineMonitorClass {
GstValidateBinMonitorClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
gchar *trace;
gchar *dotfile_name;
- gpointer _gst_reserved[GST_PADDING - 2];
+ gpointer _gst_reserved[GST_PADDING];
};
GST_VALIDATE_API
} GstValidateInterceptionReturn;
/**
- * GstValidateReporter:
+ * GstValidateReporterInterface:
+ * @parent: parent interface type.
+ *
*/
struct _GstValidateReporterInterface
{
GTypeInterface parent;
- GstValidateInterceptionReturn (*intercept_report) (GstValidateReporter * reporter,
- GstValidateReport * report);
- GstValidateReportingDetails (*get_reporting_level) (GstValidateReporter * reporter);
- GstPipeline * (*get_pipeline) (GstValidateReporter *reporter);
+ GstValidateInterceptionReturn (*intercept_report) (GstValidateReporter * reporter,
+ GstValidateReport * report);
+ GstValidateReportingDetails (*get_reporting_level) (GstValidateReporter * reporter);
+ GstPipeline * (*get_pipeline) (GstValidateReporter *reporter);
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
GST_VALIDATE_API
/* <private> */
GstValidateRunnerPrivate *priv;
+
+ gpointer _gst_reserved[GST_PADDING];
};
/**
*/
struct _GstValidateRunnerClass {
GstTracerClass parent_class;
+
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
};
/* normal GObject stuff */
typedef struct _GstValidateActionPrivate GstValidateActionPrivate;
-#define GST_VALIDATE_ACTION_LINENO(action) (((GstValidateAction*) action)->ABI.abi.lineno)
-#define GST_VALIDATE_ACTION_FILENAME(action) (((GstValidateAction*) action)->ABI.abi.filename)
-#define GST_VALIDATE_ACTION_DEBUG(action) (((GstValidateAction*) action)->ABI.abi.debug)
-#define GST_VALIDATE_ACTION_N_REPEATS(action) (((GstValidateAction*) action)->ABI.abi.n_repeats)
-#define GST_VALIDATE_ACTION_RANGE_NAME(action) (((GstValidateAction*) action)->ABI.abi.rangename)
+#define GST_VALIDATE_ACTION_LINENO(action) (((GstValidateAction*) action)->lineno)
+#define GST_VALIDATE_ACTION_FILENAME(action) (((GstValidateAction*) action)->filename)
+#define GST_VALIDATE_ACTION_DEBUG(action) (((GstValidateAction*) action)->debug)
+#define GST_VALIDATE_ACTION_N_REPEATS(action) (((GstValidateAction*) action)->n_repeats)
+#define GST_VALIDATE_ACTION_RANGE_NAME(action) (((GstValidateAction*) action)->rangename)
/**
* GstValidateAction:
gint repeat;
GstClockTime playback_time;
+ gint lineno;
+ gchar *filename;
+ gchar *debug;
+ gint n_repeats;
+ const gchar *rangename;
+
GstValidateActionPrivate *priv;
- union {
- gpointer _gst_reserved[GST_PADDING_LARGE - 1]; /* ->priv */
- struct {
- gint lineno;
- gchar *filename;
- gchar *debug;
- gint n_repeats;
- const gchar *rangename;
- } abi;
- } ABI;
+ gpointer _gst_reserved[GST_PADDING];
};
GST_VALIDATE_API
/*< private >*/
GstValidateScenarioPrivate *priv;
- union {
- gpointer _gst_reserved[GST_PADDING];
- struct {
- GMutex eos_handling_lock;
- } abi;
- } ABI;
+ GMutex eos_handling_lock;
+
+ gpointer _gst_reserved[GST_PADDING];
};
/* Some actions may trigger EOS during their execution. Unlocked this
* lock. Actions expecting to cause an EOS can hold the lock for their
* duration so that they are guaranteed to finish before the EOS
* terminates the test. */
-#define GST_VALIDATE_SCENARIO_EOS_HANDLING_LOCK(scenario) (g_mutex_lock(&(scenario)->ABI.abi.eos_handling_lock))
-#define GST_VALIDATE_SCENARIO_EOS_HANDLING_UNLOCK(scenario) (g_mutex_unlock(&(scenario)->ABI.abi.eos_handling_lock))
+#define GST_VALIDATE_SCENARIO_EOS_HANDLING_LOCK(scenario) (g_mutex_lock(&(scenario)->eos_handling_lock))
+#define GST_VALIDATE_SCENARIO_EOS_HANDLING_UNLOCK(scenario) (g_mutex_unlock(&(scenario)->eos_handling_lock))
GST_VALIDATE_API
GType gst_validate_scenario_get_type (void);
#include "media-descriptor-parser.h"
#include <string.h>
+#include "gst-validate-internal.h"
+
struct _GstValidateMediaDescriptorParserPrivate
{
gchar *xmlpath;
GstValidateMediaDescriptorParserPrivate *priv;
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptorParser;
typedef struct {
GstValidateMediaDescriptorClass parent;
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptorParserClass;
GST_VALIDATE_API
#include "media-descriptor-writer.h"
#include <string.h>
+#include "gst-validate-internal.h"
+
struct _GstValidateMediaDescriptorWriterPrivate
{
GstElement *pipeline;
GstValidateMediaDescriptorWriterPrivate *priv;
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptorWriter;
typedef struct {
GstValidateMediaDescriptorClass parent;
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptorWriterClass;
/**
#include <string.h>
#include "media-descriptor.h"
+#include "gst-validate-internal.h"
+
struct _GstValidateMediaDescriptorPrivate
{
gpointer dummy;
#define GST_VALIDATE_UNKNOWN_BOOL - 1
-typedef struct
-{
- /* Children */
- /* GstValidateMediaTagNode */
- GList *tags;
-
- gchar *str_open;
- gchar *str_close;
-} GstValidateMediaTagsNode;
-
-/* Parsing structures */
-typedef struct
-{
- /* Children */
- /* GstValidateMediaStreamNode */
- GList *streams;
- /* GstValidateMediaTagsNode */
- GstValidateMediaTagsNode *tags;
-
- /* attributes */
- guint64 id;
- gchar *uri;
- GstClockTime duration;
- gboolean frame_detection;
- gboolean skip_parsers;
- gboolean seekable;
-
- GstCaps *caps;
-
- gchar *str_open;
- gchar *str_close;
-} GstValidateMediaFileNode;
-
-typedef struct
-{
- /* Children */
- GstTagList *taglist;
-
- /* Testing infos */
- gboolean found;
-
- gchar *str_open;
- gchar *str_close;
-} GstValidateMediaTagNode;
-
-typedef struct
-{
- /* Children */
- /* GstValidateMediaFrameNode */
- GList *frames;
-
- /* GstValidateMediaTagsNode */
- GstValidateMediaTagsNode *tags;
-
- /* Attributes */
- GstCaps *caps;
- GList * segments;
- gchar *id;
- gchar *padname;
-
- /* Testing infos */
- GstPad *pad;
- GList *cframe;
-
- gchar *str_open;
- gchar *str_close;
-} GstValidateMediaStreamNode;
-
-typedef struct
-{
- /* Attributes */
- guint64 id;
- guint64 offset;
- guint64 offset_end;
- GstClockTime duration;
- GstClockTime pts, dts;
- GstClockTime running_time;
- gboolean is_keyframe;
-
- GstBuffer *buf;
-
- gchar *checksum;
- gchar *str_open;
- gchar *str_close;
-} GstValidateMediaFrameNode;
-
-typedef struct
-{
- gint next_frame_id;
-
- GstSegment segment;
-
- gchar *str_open;
- gchar *str_close;
-} GstValidateSegmentNode;
+typedef struct _GstValidateMediaFileNode GstValidateMediaFileNode;
+typedef struct _GstValidateMediaTagNode GstValidateMediaTagNode;
GST_VALIDATE_API
void gst_validate_filenode_free (GstValidateMediaFileNode *
GMutex lock;
+ /*< private >*/
GstValidateMediaDescriptorPrivate *priv;
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptor;
typedef struct
{
GstObjectClass parent;
+ /*< private >*/
+ gpointer _gst_reserved[GST_PADDING];
+
} GstValidateMediaDescriptorClass;
GST_VALIDATE_API