From e5b485d7768cba749d1abcd08ffbed28927c3225 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 18 Aug 2014 18:41:50 +0200 Subject: [PATCH] validate: Document the API with gtk-doc --- validate/Makefile.am | 1 + validate/configure.ac | 3 + validate/docs/Makefile.am | 9 ++ validate/docs/validate/Makefile.am | 101 +++++++++++++ validate/docs/validate/gst-validate-docs.sgml | 37 +++++ validate/docs/validate/gst-validate-sections.txt | 68 +++++++++ validate/docs/validate/gst-validate.types | 9 ++ validate/docs/version.entities | 1 + validate/docs/version.entities.in | 1 + validate/gst/validate/gst-validate-internal.h | 4 + .../gst/validate/gst-validate-monitor-factory.c | 19 +++ validate/gst/validate/gst-validate-runner.c | 43 +++++- validate/gst/validate/gst-validate-scenario.c | 157 +++++++++++++++++++++ validate/gst/validate/gst-validate-scenario.h | 57 +++++++- validate/gst/validate/validate.c | 11 ++ 15 files changed, 516 insertions(+), 5 deletions(-) create mode 100644 validate/docs/Makefile.am create mode 100644 validate/docs/validate/Makefile.am create mode 100644 validate/docs/validate/gst-validate-docs.sgml create mode 100644 validate/docs/validate/gst-validate-sections.txt create mode 100644 validate/docs/validate/gst-validate.types create mode 100644 validate/docs/version.entities create mode 100644 validate/docs/version.entities.in diff --git a/validate/Makefile.am b/validate/Makefile.am index 7edf6dc..514c383 100644 --- a/validate/Makefile.am +++ b/validate/Makefile.am @@ -6,6 +6,7 @@ SUBDIRS = \ gst \ tools \ pkgconfig \ + docs \ po DIST_SUBDIRS = $(SUBDIRS) diff --git a/validate/configure.ac b/validate/configure.ac index dbfcb30..55de2d3 100644 --- a/validate/configure.ac +++ b/validate/configure.ac @@ -282,6 +282,9 @@ tools/Makefile tools/launcher/Makefile tools/launcher/apps/Makefile tools/launcher/apps/validate/Makefile +docs/Makefile +docs/version.entities +docs/validate/Makefile ]) AC_OUTPUT diff --git a/validate/docs/Makefile.am b/validate/docs/Makefile.am new file mode 100644 index 0000000..f923501 --- /dev/null +++ b/validate/docs/Makefile.am @@ -0,0 +1,9 @@ +SUBDIRS = validate +DIST_SUBDIRS = validate + +upload: + @if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi + +libs: validate + +include $(top_srcdir)/common/parallel-subdirs.mak diff --git a/validate/docs/validate/Makefile.am b/validate/docs/validate/Makefile.am new file mode 100644 index 0000000..8659f76 --- /dev/null +++ b/validate/docs/validate/Makefile.am @@ -0,0 +1,101 @@ +GST_DOC_SCANOBJ = $(top_srcdir)/common/gstdoc-scangobj +## Process this file with automake to produce Makefile.in + +# The name of the module, e.g. 'glib'. +MODULE=gst-validate +DOC_MODULE=gst-validate + +# don't want $(DOC_MODULE)-scan.c to be built with -Werror +ERROR_CFLAGS= + +# for upload-doc.mak +DOC=gst-validate +FORMATS=html +html: html-build.stamp +include $(top_srcdir)/common/upload-doc.mak + +# The top-level SGML file. Change it if you want. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml + +# The directory containing the source code. +# gtk-doc will search all .c & .h files beneath here for inline comments +# documenting functions and macros. +DOC_SOURCE_DIR=$(top_srcdir)/gst/validate/ + +# Extra options to supply to gtkdoc-scan. +SCAN_OPTIONS=--deprecated-guards="GST_DISABLE_DEPRECATED" + +# Extra options to supply to gtkdoc-mkdb. +MKDB_OPTIONS=--sgml-mode --output-format=xml + +# Extra options to supply to gtkdoc-fixref. +FIXXREF_OPTIONS=--extra-dir=$(top_builddir)/docs/gst/html \ + --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \ + --extra-dir=$(datadir)/gtk-doc/html + +# Used for dependencies. +HFILE_GLOB=$(top_srcdir)/gst/validate/gst-validate-scenario.h +CFILE_GLOB=$(top_srcdir)/gst/validate/gst-validate-scenario.c + +# Extra options to pass to gtkdoc-scanobj or gtkdoc-scangobj. +SCANOBJ_OPTIONS=--type-init-func="gst_init(&argc,&argv); gst_validate_init()" + +# Header files to ignore when scanning. +IGNORE_HFILES = \ + gettext.h \ + gst-validate-internal.h \ + gst-validate-monitor.h \ + gst-validate-bin-monitor.h \ + gst-validate-element-monitor.h \ + gst-validate-pad-monitor.h \ + gst-validate-override.h \ + gst-validate-override-registry.h \ + gst-validate-utils.h \ + gst-validate-media-info.h \ + gst-validate-report.h \ + media-descriptor.h \ + media-descriptor-parser.h \ + media-descriptor-writer.h \ + gst-validate-i18n-lib.h + +IGNORE_CFILES = \ + gst-validate-monitor.c \ + gst-validate-bin-monitor.c \ + gst-validate-pad-monitor.c \ + gst-validate-element-monitor.c \ + gst-validate-override.c \ + gst-validate-override-registry.c \ + gst-validate-utils.c \ + gst-validate-report.c \ + gst-validate-media-info.c \ + media-descriptor.c \ + media-descriptor-parser.c \ + media-descriptor-writer.c \ + gst-validate-i18n-lib.c + +# Images to copy into HTML directory. +# HTML_IMAGES = gdp-header.png + +# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). +content_files = + +# Other files to distribute. +extra_files = + +# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib +# contains GtkObjects/GObjects and you want to document signals and properties. +GTKDOC_CFLAGS = -I$(top_srcdir) $(GST_PBUTILS_CFLAGS) $(GST_BASE_CFLAGS) \ + $(GST_CFLAGS) $(GIO_CFLAGS) $(GCOV_CFLAGS) +GTKDOC_LIBS = \ + $(top_builddir)/gst/validate/libgstvalidate-@GST_API_VERSION@.la \ + $(GST_BASE_LIBS) $(GST_LIBS) $(GIO_LIBS) $(GCOV_LIBS) + +GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC) +GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC) + +# If you need to override some of the declarations, place them in this file +# and uncomment this line. +DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt + +include $(top_srcdir)/common/gtk-doc.mak + diff --git a/validate/docs/validate/gst-validate-docs.sgml b/validate/docs/validate/gst-validate-docs.sgml new file mode 100644 index 0000000..da40722 --- /dev/null +++ b/validate/docs/validate/gst-validate-docs.sgml @@ -0,0 +1,37 @@ + + +]> + + + gst-validate Reference Manual + + for GstValidate &GST_API_VERSION; + + + + + GstValidate documentation + + + + + + + + Object Hierarchy + + + + API Index + + + + Index of deprecated API + + + + + diff --git a/validate/docs/validate/gst-validate-sections.txt b/validate/docs/validate/gst-validate-sections.txt new file mode 100644 index 0000000..174fcc7 --- /dev/null +++ b/validate/docs/validate/gst-validate-sections.txt @@ -0,0 +1,68 @@ +
+validate +Initialization +gst_validate_init +
+ +
+gst-validate-monitor-factory +GstValidate monitoring system +gst_validate_monitor_factory_create +
+ +
+gst-validate-runner +GstValidateRunner +GstValidateRunner +GstValidateRunnerClass +gst_validate_runner_new +gst_validate_runner_get_reports_count +gst_validate_runner_printf + +gst_validate_runner_get_reports +gst_validate_runner_add_report + +GST_IS_VALIDATE_RUNNER +GST_VALIDATE_RUNNER_CAST +GST_VALIDATE_RUNNER_CLASS_CAST +GST_IS_VALIDATE_RUNNER_CLASS +GST_TYPE_VALIDATE_RUNNER +GST_VALIDATE_RUNNER +GST_VALIDATE_RUNNER_CLASS +GST_VALIDATE_RUNNER_GET_CLASS +gst_validate_runner_get_type +
+ +
+gst-validate-scenario +GstValidateScenario +GstValidateExecuteAction +GstValidateAction +GstValidateActionParameter +GstValidateScenario +GstValidateScenarioClass +gst_validate_print_action_types +gst_validate_list_scenarios +gst_validate_add_action_type +gst_validate_action_get_clocktime +gst_validate_scenario_execute_seek +GstValidateActionType + +gst_validate_scenario_factory_create + +GST_IS_VALIDATE_ACTION +GST_IS_VALIDATE_ACTION_TYPE +GST_IS_VALIDATE_SCENARIO +GST_IS_VALIDATE_SCENARIO_CLASS +GST_TYPE_VALIDATE_ACTION +GST_TYPE_VALIDATE_ACTION_TYPE +GST_TYPE_VALIDATE_SCENARIO +GST_VALIDATE_ACTION_TYPE +GST_VALIDATE_SCENARIO +GST_VALIDATE_SCENARIO_CLASS +GST_VALIDATE_SCENARIO_GET_CLASS +GstValidateScenarioPrivate +gst_validate_action_get_type +gst_validate_action_type_get_type +gst_validate_scenario_get_type +
diff --git a/validate/docs/validate/gst-validate.types b/validate/docs/validate/gst-validate.types new file mode 100644 index 0000000..499a1e4 --- /dev/null +++ b/validate/docs/validate/gst-validate.types @@ -0,0 +1,9 @@ +#include +#include + +gst_validate_action_get_type +gst_validate_action_type_get_type +gst_validate_report_get_type +gst_validate_reporter_get_type +gst_validate_runner_get_type +gst_validate_scenario_get_type diff --git a/validate/docs/version.entities b/validate/docs/version.entities new file mode 100644 index 0000000..5d99c99 --- /dev/null +++ b/validate/docs/version.entities @@ -0,0 +1 @@ + diff --git a/validate/docs/version.entities.in b/validate/docs/version.entities.in new file mode 100644 index 0000000..b66183d --- /dev/null +++ b/validate/docs/version.entities.in @@ -0,0 +1 @@ + diff --git a/validate/gst/validate/gst-validate-internal.h b/validate/gst/validate/gst-validate-internal.h index f3e1247..3f7beec 100644 --- a/validate/gst/validate/gst-validate-internal.h +++ b/validate/gst/validate/gst-validate-internal.h @@ -30,6 +30,7 @@ GST_DEBUG_CATEGORY_EXTERN (gstvalidate_debug); typedef struct _GstValidateScenario GstValidateScenario; typedef struct _GstValidateAction GstValidateAction; typedef struct _GstValidateActionParameter GstValidateActionParameter; +typedef struct _GstValidateActionType GstValidateActionType; typedef gboolean (*GstValidateExecuteAction) (GstValidateScenario * scenario, GstValidateAction * action); struct _GstValidateActionType @@ -48,6 +49,9 @@ struct _GstValidateActionType gpointer _gst_reserved[GST_PADDING_LARGE]; }; + +GST_EXPORT GType _gst_validate_action_type_type; + void init_scenarios (void); #endif diff --git a/validate/gst/validate/gst-validate-monitor-factory.c b/validate/gst/validate/gst-validate-monitor-factory.c index e184521..5c2334d 100644 --- a/validate/gst/validate/gst-validate-monitor-factory.c +++ b/validate/gst/validate/gst-validate-monitor-factory.c @@ -21,6 +21,15 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gst-validate-monitor-factory + * @short_description: Lets you start monitoring a #GstObject with GstValidate + * + * To start monitoring and thus run GstValidate tests on a #GstPipeline, the only thing to + * do is to instanciate a #GstValidateRunner and then attach a #GstValidateMonitor + * to it with #gst_validate_monitor_factory_create + */ + #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -30,6 +39,16 @@ #include "gst-validate-pad-monitor.h" #include "gst-validate-override-registry.h" +/** + * gst_validate_monitor_factory_create: + * @target: The #GstObject to create a #GstValidateMonitor for + * @runner: The #GstValidateRunner to use for the new monitor + * @parent: (optional): The parent of the new monitor + * + * Create a new monitor for @target and starts monitoring it. + * + * Returns: The newly created #GstValidateMonitor + */ GstValidateMonitor * gst_validate_monitor_factory_create (GstObject * target, GstValidateRunner * runner, GstValidateMonitor * parent) diff --git a/validate/gst/validate/gst-validate-runner.c b/validate/gst/validate/gst-validate-runner.c index bb1cb4e..815d00e 100644 --- a/validate/gst/validate/gst-validate-runner.c +++ b/validate/gst/validate/gst-validate-runner.c @@ -35,7 +35,25 @@ * SECTION:gst-validate-runner * @short_description: Class that runs Gst Validate tests for a pipeline * - * TODO + * Allows you to test a pipeline within GstValidate. It is the object where + * all issue reporting is done. + * + * In the tools using GstValidate the only minimal code to be able to monitor + * your pipelines is: + * + * |[ + * GstPipeline *pipeline = gst_pipeline_new ("monitored-pipeline"); + * GstValidateRunner *runner = gst_validate_runner_new (); + * GstValidateMonitor *monitor = gst_validate_monitor_factory_create ( + * GST_OBJECT (pipeline), runner, NULL); + * + * // Run the pipeline and do whatever you want with it + * + * // In that same order + * gst_object_unref (pipeline); + * gst_object_unref (runner); + * gst_object_unref (monitor); + * ]| */ #define gst_validate_runner_parent_class parent_class @@ -86,6 +104,10 @@ gst_validate_runner_init (GstValidateRunner * runner) /** * gst_validate_runner_new: + * + * Create a new #GstValidateRunner + * + * Returns: A newly created #GstValidateRunner */ GstValidateRunner * gst_validate_runner_new (void) @@ -102,6 +124,14 @@ gst_validate_runner_add_report (GstValidateRunner * runner, g_signal_emit (runner, _signals[REPORT_ADDED_SIGNAL], 0, report); } +/** + * gst_validate_runner_get_reports_count: + * @runner: The $GstValidateRunner to get the number of report from + * + * Get the number of reports present in the runner: + * + * Returns: The number of report present in the runner. + */ guint gst_validate_runner_get_reports_count (GstValidateRunner * runner) { @@ -117,6 +147,17 @@ gst_validate_runner_get_reports (GstValidateRunner * runner) return runner->reports; } +/** + * gst_validate_runner_printf: + * @runner: The #GstValidateRunner to print all the reports for + * + * Prints all the report on the terminal or on wherever set + * on the #GST_VALIDATE_FILE env variable. + * + * Retrurns: 0 if no critical error has been found and 18 if a critical + * error as been detected. That return value is usually to be used as + * exit code of the application. + * */ int gst_validate_runner_printf (GstValidateRunner * runner) { diff --git a/validate/gst/validate/gst-validate-scenario.c b/validate/gst/validate/gst-validate-scenario.c index 81488e3..0077ae6 100644 --- a/validate/gst/validate/gst-validate-scenario.c +++ b/validate/gst/validate/gst-validate-scenario.c @@ -20,6 +20,103 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gst-validate-scenario + * @short_description: A GstValidateScenario represents a set of actions to be executed on a pipeline. + * + * A #GstValidateScenario represents the scenario that will be executed on a #GstPipeline. + * It is basically an ordered list of #GstValidateAction that will be executed during the + * execution of the pipeline. + * + * To be able to simply define that list of actions, a dedicated file format is used. This + * file format is based on the #GstStructure serialized format which is a basic, type aware, + * key value format. It takes the type of the action as first coma separeted field, and then + * the key values pair of the form 'parameter=value' are separated by comas. The values + * type will be guessed if not casted as in 'parameter=(string)value'. You can force the type + * guessing system to actually know what type you want by giving it the right hints. For example + * to make sure the value is a double, you should add a decimal (ie '1' will be concidered as a + * int, but '1.0' will be concidered as a double and '"1.0"' will be concidered as a string) + * + * For example to represent a seek action, you should add the following line in the '.scenario' + * file. + * + * |[ + * seek, playback_time=10.0, start=0.0, flags=accurate+flush + * ]| + * + * + * The files to be used as scenario should have a '.scenario' extension and + * should be placed either in $USER_DATA_DIR/gstreamer-1.0/validate-scenario , + * $GST_DATADIR/gstreamer-1.0/validate-scenario or in a path defined in the + * $GST_VALIDATE_SCENARIOS_PATH environment variable. + * + * Each line in the '.scenario' file represent an action (you can also use \ at the end of a line + * write a single action on multiple lines). Usually you should start you scenario with a 'description' + * "config" action in order for the user to have more information about the scenario. It can contain + * a 'summary' field which is a string explaning what the scenario does and then several info fields + * about the scenario. You can find more info about it running: + * + * |[ + * gst-validate-1.0 --list-action-types description + * ]| + * + * So a basic scenario file that will seek three times and stop would look like: + * + * |[ + * + * description, summary="Seeks at 1.0 to 2.0 then at \ + * 3.0 to 0.0 and then seeks at \ + * 1.0 to 2.0 for 1.0 second (between 2.0 and 3.0).", \ + * seek=true, duration=5.0, min-media-duration=4.0 + * seek, playback_time=1.0, rate=1.0, start=2.0, flags=accurate+flush + * seek, playback_time=3.0, rate=1.0, start=0.0, flags=accurate+flush + * seek, playback_time=1.0, rate=1.0, start=2.0, stop=3.0, flags=accurate+flush + * ]| + * + * Many action types have been implemented to help users define their own scenarios. + * For example there are: + * Action type examples: + * + * seek: Seeks into the stream + * + * + * play: Set the pipeline state to GST_STATE_PLAYING + * + * + * pause: Set the pipeline state to GST_STATE_PAUSED + * + * + * stop: Stop the execution of the pipeline. NOTE: That action actually post a + * #GST_MESSAGE_REQUEST_STATE (requesting #GST_STATE_NULL) message on the bus and + * the application should quit. + * + * + * ... + * + * + * + * To get all the details about the registered action types, you can list them all with: + * + * |[ + * gst-validate-1.0 --list-action-types + * ]| + * + * and (includes transcoding specific action types): + * + * |[ + * gst-validate-transcoding-1.0 --list-action-types + * ]| + * + * You can also register new types yourself thanks to #gst_validate_add_action_type. And you will be able + * to print the action types details thanks to the #gst_validate_print_action_types function in your own + * tool. + * + * Many scenarios are distributed with gst-validate, you can list them all using: + * + * |[ + * gst-validate-1.0 --list-scenarios + * ]| + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -249,6 +346,25 @@ _set_variable_func (const gchar * name, double *value, gpointer user_data) return FALSE; } +/** + * gst_validate_action_get_clocktime: + * @scenario: The #GstValidateScenario from which to get a time + * for a parameter of an action + * @action: The action from which to retrieve the time for @name + * parameter. + * @name: The name of the parameter for which to retrive a time + * @retval: (out): The return value for the wanted time + * + * + * Get a time value for the @name parameter of an action. This + * method should be called to retrived and compute a timed value of a given + * action. It will first try to retrieve the value as a double, + * then get it as a string and execute any formula taking into account + * the 'position' and 'duration' variables. And it will always convert that + * value to a GstClockTime. + * + * Returns: %TRUE if the time value could be retrieved/computed or %FALSE otherwize + */ gboolean gst_validate_action_get_clocktime (GstValidateScenario * scenario, GstValidateAction * action, const gchar * name, GstClockTime * retval) @@ -283,6 +399,26 @@ gst_validate_action_get_clocktime (GstValidateScenario * scenario, return TRUE; } +/** + * gst_validate_scenario_execute_seek: + * @scenario: The #GstValidateScenario for which to execute a seek action + * @action: The seek action to execute + * @rate: The playback rate of the seek + * @format: The #GstFormat of the seek + * @flags: The #GstSeekFlags of the seek + * @start_type: The #GstSeekType of the start value of the seek + * @start: The start time of the seek + * @stop_type: The #GstSeekType of the stop value of the seek + * @stop: The stop time of the seek + * + * Executes a seek event on the scenario' pipeline. You should always use + * that method when you want to execute a seek inside a new action types + * so that the scenario state is updated taking into account that seek. + * + * For more information you should have a look at #gst_event_new_seek + * + * Returns: %TRUE if the seek could be executed, %FALSE otherwize + */ gboolean gst_validate_scenario_execute_seek (GstValidateScenario * scenario, GstValidateAction * action, gdouble rate, GstFormat format, @@ -1835,6 +1971,18 @@ done: return res; } +/** + * gst_validate_add_action_type: + * @type_name: The name of the new action type to add + * @function: (scope notified): The function to be called to execute the action + * @parameters: The #GstValidateActionParameter usable as parameter of the type + * @description: A description of the new type + * @is_config: Whether the action is a config action or not. A config action will + * be executed even before the pipeline starts processing + * + * Register a new action type to the action type system. If the action type already + * exists, it will be overriden by that new definition + */ void gst_validate_add_action_type (const gchar * type_name, GstValidateExecuteAction function, @@ -1892,6 +2040,15 @@ gst_validate_list_action_types (void) return NULL; } +/** + * gst_validate_print_action_types: + * @wanted_types: (array length=num_wanted_types): (optional): List of types to be printed + * @num_wanted_types: (optional): Length of @wanted_types + * + * Prints the action types details wanted in @wanted_types + * + * Returns: True if all types could be printed + */ gboolean gst_validate_print_action_types (gchar ** wanted_types, gint num_wanted_types) { diff --git a/validate/gst/validate/gst-validate-scenario.h b/validate/gst/validate/gst-validate-scenario.h index aa07722..e4d19a2 100644 --- a/validate/gst/validate/gst-validate-scenario.h +++ b/validate/gst/validate/gst-validate-scenario.h @@ -40,24 +40,46 @@ typedef struct _GstValidateScenario GstValidateScenario; typedef struct _GstValidateScenarioClass GstValidateScenarioClass; typedef struct _GstValidateScenarioPrivate GstValidateScenarioPrivate; typedef struct _GstValidateAction GstValidateAction; -typedef struct _GstValidateActionType GstValidateActionType; typedef struct _GstValidateActionParameter GstValidateActionParameter; +GST_EXPORT GType _gst_validate_action_type; + +/** + * GstValidateExecuteAction: + * @scenario: The #GstValidateScenario from which the @action is executed + * @action: The #GstValidateAction being executed + * + * + * This function that executes a #GstValidateAction + * + * Returns: %True if the action could be executed %FALSE otherwise + */ typedef gboolean (*GstValidateExecuteAction) (GstValidateScenario * scenario, GstValidateAction * action); -GST_EXPORT GType _gst_validate_action_type; -GST_EXPORT GType _gst_validate_action_type_type; +/** + * GstValidateAction: + * @type: The type of the #GstValidateAction, which is the name of the + * GstValidateActionType registered with + * #gst_validate_add_action_type + * @name: The name of the action, set from the user in the scenario + * @structure: the #GstStructure defining the action + * + * The GstValidateAction defined to be executed as part of a scenario + */ struct _GstValidateAction { GstMiniObject mini_object; + /*< public > */ const gchar *type; const gchar *name; + GstStructure *structure; + + /* < private > */ guint action_number; gint repeat; GstClockTime playback_time; - GstStructure *structure; gpointer _gst_reserved[GST_PADDING_LARGE]; }; @@ -73,6 +95,24 @@ GType gst_validate_action_type_get_type (void); gboolean gst_validate_print_action_types (gchar ** wanted_types, gint num_wanted_types); +/** + * GstValidateActionParameter: + * @name: The name of the parameter + * @description: The description of the parameter + * @mandatory: Whether the parameter is mandatory for + * a specific action type + * @types: The types the parameter can take described as a + * string. It can be precisely describing how the typing works + * using '\n' between the various acceptable types. + * @possible_variables: The name of the variables that can be + * used to compute the value of the parameter. + * For example for the start value of a seek + * action, we will accept to take 'duration' + * which will be replace by the total duration + * of the stream on which the action is executed. + * @def: The default value of a parametter as a string, should be %NULL + * for mandatory streams. + */ struct _GstValidateActionParameter { const gchar *name; @@ -90,14 +130,23 @@ struct _GstValidateScenarioClass { GObjectClass parent_class; + /*< public >*/ + /*< private >*/ gpointer _gst_reserved[GST_PADDING]; }; +/** + * GstValidateScenario: + * @pipeline: The #GstPipeline on which the scenario is being executed. + */ struct _GstValidateScenario { GObject parent; + /*< public >*/ GstElement *pipeline; + + /*< private >*/ GstValidateScenarioPrivate *priv; gpointer _gst_reserved[GST_PADDING]; diff --git a/validate/gst/validate/validate.c b/validate/gst/validate/validate.c index a0fe1c2..1a0376c 100644 --- a/validate/gst/validate/validate.c +++ b/validate/gst/validate/validate.c @@ -20,6 +20,10 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION:validate + * @short_description: Initialize GstValidate + */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -30,6 +34,13 @@ GST_DEBUG_CATEGORY (gstvalidate_debug); +/** + * gst_validate_init: + * + * Initializes GstValidate, call that before any usage of GstValidate. + * You should take care of initilizing GStreamer before calling this + * function. + */ void gst_validate_init (void) { -- 2.7.4