mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +00:00
validate: Cleanup ABI and make it ready to be stabilized this cycle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
This commit is contained in:
parent
5089139e57
commit
1a5d2ce98c
22 changed files with 214 additions and 124 deletions
|
@ -36,10 +36,16 @@ typedef struct {
|
||||||
GstObject parent;
|
GstObject parent;
|
||||||
|
|
||||||
GssimPrivate *priv;
|
GssimPrivate *priv;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
} Gssim;
|
} Gssim;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
GstObjectClass parent;
|
GstObjectClass parent;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
} GssimClass;
|
} GssimClass;
|
||||||
|
|
||||||
#define GSSIM_TYPE (gssim_get_type ())
|
#define GSSIM_TYPE (gssim_get_type ())
|
||||||
|
|
|
@ -41,10 +41,16 @@ typedef struct {
|
||||||
GstObject parent;
|
GstObject parent;
|
||||||
|
|
||||||
GstValidateSsimPrivate *priv;
|
GstValidateSsimPrivate *priv;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
} GstValidateSsim;
|
} GstValidateSsim;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
GstObjectClass parent;
|
GstObjectClass parent;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
} GstValidateSsimClass;
|
} GstValidateSsimClass;
|
||||||
|
|
||||||
#define GST_VALIDATE_SSIM_TIME_FORMAT "u-%02u-%02u.%09u"
|
#define GST_VALIDATE_SSIM_TIME_FORMAT "u-%02u-%02u.%09u"
|
||||||
|
|
|
@ -61,6 +61,9 @@ struct _GstValidateBinMonitor {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
gulong element_added_id;
|
gulong element_added_id;
|
||||||
gulong element_removed_id;
|
gulong element_removed_id;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,6 +74,9 @@ struct _GstValidateBinMonitor {
|
||||||
*/
|
*/
|
||||||
struct _GstValidateBinMonitorClass {
|
struct _GstValidateBinMonitorClass {
|
||||||
GstValidateElementMonitorClass parent_class;
|
GstValidateElementMonitorClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -68,6 +68,8 @@ struct _GstValidateElementMonitor {
|
||||||
gboolean is_demuxer;
|
gboolean is_demuxer;
|
||||||
gboolean is_converter;
|
gboolean is_converter;
|
||||||
gboolean is_sink;
|
gboolean is_sink;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,6 +80,9 @@ struct _GstValidateElementMonitor {
|
||||||
*/
|
*/
|
||||||
struct _GstValidateElementMonitorClass {
|
struct _GstValidateElementMonitorClass {
|
||||||
GstValidateMonitorClass parent_class;
|
GstValidateMonitorClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -71,4 +71,103 @@ G_GNUC_INTERNAL GList * gst_validate_get_test_file_expected_issues (void);
|
||||||
G_GNUC_INTERNAL gboolean gst_validate_extra_checks_init (void);
|
G_GNUC_INTERNAL gboolean gst_validate_extra_checks_init (void);
|
||||||
G_GNUC_INTERNAL gboolean gst_validate_flow_init (void);
|
G_GNUC_INTERNAL gboolean gst_validate_flow_init (void);
|
||||||
G_GNUC_INTERNAL gboolean is_tty (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
|
#endif
|
||||||
|
|
|
@ -60,6 +60,9 @@ struct _GstValidateMediaInfo {
|
||||||
gboolean discover_only;
|
gboolean discover_only;
|
||||||
|
|
||||||
GstValidateStreamInfo *stream_info;
|
GstValidateStreamInfo *stream_info;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -47,11 +47,17 @@ G_BEGIN_DECLS
|
||||||
struct _GstMockDecryptor
|
struct _GstMockDecryptor
|
||||||
{
|
{
|
||||||
GstBaseTransform element;
|
GstBaseTransform element;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GstMockDecryptorClass
|
struct _GstMockDecryptorClass
|
||||||
{
|
{
|
||||||
GstBaseTransformClass parent_class;
|
GstBaseTransformClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
G_GNUC_INTERNAL GType gst_mockdecryptor_get_type (void);
|
G_GNUC_INTERNAL GType gst_mockdecryptor_get_type (void);
|
||||||
|
|
|
@ -100,6 +100,9 @@ struct _GstValidateMonitor {
|
||||||
GHashTable *reports;
|
GHashTable *reports;
|
||||||
|
|
||||||
GstValidateVerbosityFlags verbosity;
|
GstValidateVerbosityFlags verbosity;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -115,6 +118,9 @@ struct _GstValidateMonitorClass {
|
||||||
GstElement *(* get_element) (GstValidateMonitor * monitor);
|
GstElement *(* get_element) (GstValidateMonitor * monitor);
|
||||||
void (*set_media_descriptor) (GstValidateMonitor * monitor,
|
void (*set_media_descriptor) (GstValidateMonitor * monitor,
|
||||||
GstValidateMediaDescriptor * media_descriptor);
|
GstValidateMediaDescriptor * media_descriptor);
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -37,6 +37,9 @@ typedef struct {
|
||||||
GQueue name_overrides;
|
GQueue name_overrides;
|
||||||
GQueue gtype_overrides;
|
GQueue gtype_overrides;
|
||||||
GQueue klass_overrides;
|
GQueue klass_overrides;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
} GstValidateOverrideRegistry;
|
} GstValidateOverrideRegistry;
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -57,6 +57,8 @@ struct _GstValidateOverrideClass
|
||||||
GstValidateMonitor * monitor);
|
GstValidateMonitor * monitor);
|
||||||
|
|
||||||
void (*attached)(GstValidateOverride * override);
|
void (*attached)(GstValidateOverride * override);
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GstValidateOverride
|
struct _GstValidateOverride
|
||||||
|
@ -73,6 +75,8 @@ struct _GstValidateOverride
|
||||||
|
|
||||||
/*<private>*/
|
/*<private>*/
|
||||||
GstValidateOverridePrivate *priv;
|
GstValidateOverridePrivate *priv;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -131,6 +131,9 @@ struct _GstValidatePadMonitor {
|
||||||
GstClockTime min_buf_freq_interval_ts;
|
GstClockTime min_buf_freq_interval_ts;
|
||||||
GstClockTime min_buf_freq_first_buffer_ts;
|
GstClockTime min_buf_freq_first_buffer_ts;
|
||||||
GstClockTime min_buf_freq_start;
|
GstClockTime min_buf_freq_start;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -141,6 +144,9 @@ struct _GstValidatePadMonitor {
|
||||||
*/
|
*/
|
||||||
struct _GstValidatePadMonitorClass {
|
struct _GstValidatePadMonitorClass {
|
||||||
GstValidateMonitorClass parent_class;
|
GstValidateMonitorClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -72,6 +72,8 @@ struct _GstValidatePipelineMonitor {
|
||||||
GList *streams_selected;
|
GList *streams_selected;
|
||||||
|
|
||||||
gulong deep_notify_id;
|
gulong deep_notify_id;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,6 +84,9 @@ struct _GstValidatePipelineMonitor {
|
||||||
*/
|
*/
|
||||||
struct _GstValidatePipelineMonitorClass {
|
struct _GstValidatePipelineMonitorClass {
|
||||||
GstValidateBinMonitorClass parent_class;
|
GstValidateBinMonitorClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -235,7 +235,7 @@ struct _GstValidateReport {
|
||||||
gchar *trace;
|
gchar *trace;
|
||||||
gchar *dotfile_name;
|
gchar *dotfile_name;
|
||||||
|
|
||||||
gpointer _gst_reserved[GST_PADDING - 2];
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -99,7 +99,9 @@ typedef enum
|
||||||
} GstValidateInterceptionReturn;
|
} GstValidateInterceptionReturn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstValidateReporter:
|
* GstValidateReporterInterface:
|
||||||
|
* @parent: parent interface type.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
struct _GstValidateReporterInterface
|
struct _GstValidateReporterInterface
|
||||||
{
|
{
|
||||||
|
@ -109,6 +111,9 @@ struct _GstValidateReporterInterface
|
||||||
GstValidateReport * report);
|
GstValidateReport * report);
|
||||||
GstValidateReportingDetails (*get_reporting_level) (GstValidateReporter * reporter);
|
GstValidateReportingDetails (*get_reporting_level) (GstValidateReporter * reporter);
|
||||||
GstPipeline * (*get_pipeline) (GstValidateReporter *reporter);
|
GstPipeline * (*get_pipeline) (GstValidateReporter *reporter);
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -60,6 +60,8 @@ struct _GstValidateRunner {
|
||||||
|
|
||||||
/* <private> */
|
/* <private> */
|
||||||
GstValidateRunnerPrivate *priv;
|
GstValidateRunnerPrivate *priv;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,6 +72,9 @@ struct _GstValidateRunner {
|
||||||
*/
|
*/
|
||||||
struct _GstValidateRunnerClass {
|
struct _GstValidateRunnerClass {
|
||||||
GstTracerClass parent_class;
|
GstTracerClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* normal GObject stuff */
|
/* normal GObject stuff */
|
||||||
|
|
|
@ -112,11 +112,11 @@ typedef GstValidateExecuteActionReturn (*GstValidatePrepareAction) (GstValidateA
|
||||||
|
|
||||||
typedef struct _GstValidateActionPrivate GstValidateActionPrivate;
|
typedef struct _GstValidateActionPrivate GstValidateActionPrivate;
|
||||||
|
|
||||||
#define GST_VALIDATE_ACTION_LINENO(action) (((GstValidateAction*) action)->ABI.abi.lineno)
|
#define GST_VALIDATE_ACTION_LINENO(action) (((GstValidateAction*) action)->lineno)
|
||||||
#define GST_VALIDATE_ACTION_FILENAME(action) (((GstValidateAction*) action)->ABI.abi.filename)
|
#define GST_VALIDATE_ACTION_FILENAME(action) (((GstValidateAction*) action)->filename)
|
||||||
#define GST_VALIDATE_ACTION_DEBUG(action) (((GstValidateAction*) action)->ABI.abi.debug)
|
#define GST_VALIDATE_ACTION_DEBUG(action) (((GstValidateAction*) action)->debug)
|
||||||
#define GST_VALIDATE_ACTION_N_REPEATS(action) (((GstValidateAction*) action)->ABI.abi.n_repeats)
|
#define GST_VALIDATE_ACTION_N_REPEATS(action) (((GstValidateAction*) action)->n_repeats)
|
||||||
#define GST_VALIDATE_ACTION_RANGE_NAME(action) (((GstValidateAction*) action)->ABI.abi.rangename)
|
#define GST_VALIDATE_ACTION_RANGE_NAME(action) (((GstValidateAction*) action)->rangename)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstValidateAction:
|
* GstValidateAction:
|
||||||
|
@ -148,18 +148,15 @@ struct _GstValidateAction
|
||||||
gint repeat;
|
gint repeat;
|
||||||
GstClockTime playback_time;
|
GstClockTime playback_time;
|
||||||
|
|
||||||
GstValidateActionPrivate *priv;
|
|
||||||
|
|
||||||
union {
|
|
||||||
gpointer _gst_reserved[GST_PADDING_LARGE - 1]; /* ->priv */
|
|
||||||
struct {
|
|
||||||
gint lineno;
|
gint lineno;
|
||||||
gchar *filename;
|
gchar *filename;
|
||||||
gchar *debug;
|
gchar *debug;
|
||||||
gint n_repeats;
|
gint n_repeats;
|
||||||
const gchar *rangename;
|
const gchar *rangename;
|
||||||
} abi;
|
|
||||||
} ABI;
|
GstValidateActionPrivate *priv;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
@ -336,12 +333,9 @@ struct _GstValidateScenario
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
GstValidateScenarioPrivate *priv;
|
GstValidateScenarioPrivate *priv;
|
||||||
|
|
||||||
union {
|
|
||||||
gpointer _gst_reserved[GST_PADDING];
|
|
||||||
struct {
|
|
||||||
GMutex eos_handling_lock;
|
GMutex eos_handling_lock;
|
||||||
} abi;
|
|
||||||
} ABI;
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Some actions may trigger EOS during their execution. Unlocked this
|
/* Some actions may trigger EOS during their execution. Unlocked this
|
||||||
|
@ -352,8 +346,8 @@ struct _GstValidateScenario
|
||||||
* lock. Actions expecting to cause an EOS can hold the lock for their
|
* lock. Actions expecting to cause an EOS can hold the lock for their
|
||||||
* duration so that they are guaranteed to finish before the EOS
|
* duration so that they are guaranteed to finish before the EOS
|
||||||
* terminates the test. */
|
* 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_LOCK(scenario) (g_mutex_lock(&(scenario)->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_UNLOCK(scenario) (g_mutex_unlock(&(scenario)->eos_handling_lock))
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
GType gst_validate_scenario_get_type (void);
|
GType gst_validate_scenario_get_type (void);
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include "media-descriptor-parser.h"
|
#include "media-descriptor-parser.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "gst-validate-internal.h"
|
||||||
|
|
||||||
struct _GstValidateMediaDescriptorParserPrivate
|
struct _GstValidateMediaDescriptorParserPrivate
|
||||||
{
|
{
|
||||||
gchar *xmlpath;
|
gchar *xmlpath;
|
||||||
|
|
|
@ -49,12 +49,18 @@ typedef struct {
|
||||||
|
|
||||||
GstValidateMediaDescriptorParserPrivate *priv;
|
GstValidateMediaDescriptorParserPrivate *priv;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptorParser;
|
} GstValidateMediaDescriptorParser;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
||||||
GstValidateMediaDescriptorClass parent;
|
GstValidateMediaDescriptorClass parent;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptorParserClass;
|
} GstValidateMediaDescriptorParserClass;
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include "media-descriptor-writer.h"
|
#include "media-descriptor-writer.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "gst-validate-internal.h"
|
||||||
|
|
||||||
struct _GstValidateMediaDescriptorWriterPrivate
|
struct _GstValidateMediaDescriptorWriterPrivate
|
||||||
{
|
{
|
||||||
GstElement *pipeline;
|
GstElement *pipeline;
|
||||||
|
|
|
@ -50,12 +50,18 @@ typedef struct {
|
||||||
|
|
||||||
GstValidateMediaDescriptorWriterPrivate *priv;
|
GstValidateMediaDescriptorWriterPrivate *priv;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptorWriter;
|
} GstValidateMediaDescriptorWriter;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
||||||
GstValidateMediaDescriptorClass parent;
|
GstValidateMediaDescriptorClass parent;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptorWriterClass;
|
} GstValidateMediaDescriptorWriterClass;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "media-descriptor.h"
|
#include "media-descriptor.h"
|
||||||
|
|
||||||
|
#include "gst-validate-internal.h"
|
||||||
|
|
||||||
struct _GstValidateMediaDescriptorPrivate
|
struct _GstValidateMediaDescriptorPrivate
|
||||||
{
|
{
|
||||||
gpointer dummy;
|
gpointer dummy;
|
||||||
|
|
|
@ -33,101 +33,8 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_VALIDATE_UNKNOWN_BOOL - 1
|
#define GST_VALIDATE_UNKNOWN_BOOL - 1
|
||||||
|
|
||||||
typedef struct
|
typedef struct _GstValidateMediaFileNode GstValidateMediaFileNode;
|
||||||
{
|
typedef struct _GstValidateMediaTagNode GstValidateMediaTagNode;
|
||||||
/* 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;
|
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
void gst_validate_filenode_free (GstValidateMediaFileNode *
|
void gst_validate_filenode_free (GstValidateMediaFileNode *
|
||||||
|
@ -163,13 +70,19 @@ typedef struct
|
||||||
|
|
||||||
GMutex lock;
|
GMutex lock;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
GstValidateMediaDescriptorPrivate *priv;
|
GstValidateMediaDescriptorPrivate *priv;
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptor;
|
} GstValidateMediaDescriptor;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GstObjectClass parent;
|
GstObjectClass parent;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
|
||||||
} GstValidateMediaDescriptorClass;
|
} GstValidateMediaDescriptorClass;
|
||||||
|
|
||||||
GST_VALIDATE_API
|
GST_VALIDATE_API
|
||||||
|
|
Loading…
Reference in a new issue