Commit graph

54 commits

Author SHA1 Message Date
Guillaume Desmottes
08a9034576 validate: fix string arguments leaks
We are responsible of freeing the string arguments parsed by GOptionContext.
2015-03-20 12:15:03 +01:00
Thibault Saunier
bee292f548 validate: Wait for switch-track to complete before executing next action
This action type can take some time, we need to make sure that the
combiner/input-selector element properly pushed a buffer marked
as DISCONT to concider the action is done.

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
1bc32a888f validate: Avoid assert removing an already removed signal handler
And, make sure that we set the return value != 0 when we receive
SIGINT
2014-12-05 20:51:44 +01:00
Thibault Saunier
130a2892b1 validate: print execution of set_subtitles actions 2014-12-05 19:23:43 +01:00
Thibault Saunier
c5dfd9c8c8 validate: Add a way to pass a MediaDescriptor around monitors
And add an option in gst-validate so that the user can define what
media descriptor file to use.

https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
02ab99fcbb validate: Rename gst_validate_add_action_type to gst_validate_register_action_type
The _register naming corresponds much better to what the method does
and makes it more similar to how we refer to this kind of action in
GStreamer.

It is a last minute API change, but that API should not change anymore
after 1.4 is released.
2014-10-12 20:10:19 +02:00
Thibault Saunier
8289f64904 validate: Rename --list-action-types to --inspect-action-type
Making clearer the meaning of the parameter and closer to the
usual naming in the GStreamer land.
2014-10-12 19:46:39 +02:00
Thibault Saunier
3755581fd3 validate: Take a const gchar ** in gst_validate_print_action_types
This is what we actually need and thus is cleaner.
2014-09-05 23:15:29 +02:00
Thibault Saunier
69165a9f04 validate: Implement the notion of implementer namespace to the action types
This allows users to know who implements an action type.

+ Enhance the printing of all action making it readable.
2014-09-05 23:03:58 +02:00
Thibault Saunier
15f52d4fa3 validate: Add informations on the switch-track action overrided for playbin 2014-09-05 19:30:52 +02:00
Thibault Saunier
34fd5af840 validate: docs: Add some GstValidate usage documentation
+ Fix minor issues in the gst-validate and gst-validate-transcoding
tools documentation
2014-09-05 19:00:23 +02:00
Thibault Saunier
4fd1939b21 validate: Rework the action parameter API
Making it possible to properly define parameters, and describe them.

+ Document all action types!
2014-09-05 19:00:23 +02:00
Thibault Saunier
d29a8e4a77 validate: Add an option to print all avalaible actions with details
+ Cleanup actions descriptions
+ Make GstValidateActionType internal only and only expose the structure
2014-09-05 19:00:23 +02:00
Thibault Saunier
45e6d86c92 validate: Use the buffering mode to see if pipeline is live or not 2014-09-05 19:00:23 +02:00
Anuj Jaiswal
eb16061fa9 gst-validate: fix some minor memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=735099
2014-08-23 11:57:12 +01:00
Thibault Saunier
161610c26e validate: Print when we set pipeline state because of buffering 2014-08-12 13:17:20 +02:00
Thiago Santos
d7c3d652d0 gst-validate: properly set pipeline to null before unref
In case it fails when going ready->paused it will remain in ready state
and be unref'd in ready, leading to an assertion
2014-07-21 22:01:27 -03:00
Thibault Saunier
7d695fbed4 validate: Dot the pipeline on interuption 2014-07-19 09:48:17 +02:00
Thibault Saunier
f6884a5a54 validate: Do not auto flush pipeline bus
We want to see all messages in our async handler

And flush it when we are done.
2014-07-17 12:17:31 +02:00
Thibault Saunier
87ae465c77 validate: Let scenarios tell the apps about whether it handles states
The user only needs to add handles-states=true in the description line
of the scenario
2014-07-07 11:27:34 +02:00
Thibault Saunier
3607fd8deb validate: Print the return value at the end
Making it easier to know whether the test passed or not.
2014-07-07 11:27:34 +02:00
Thibault Saunier
5c85e4500d validate:tools: Dot the pipeline on usefull places
Meaning on warning and state changes.
2014-07-07 11:27:34 +02:00
Edward Hervey
ca44a11429 validate: Run gst-indent on all code
so whitespace. much indent. spacing !
2014-06-03 10:05:25 +02:00
Thibault Saunier
49ab41743b validate: The 'buffering' variable needs to be static
We need its value between bus_callback calls to be the same
2014-05-04 09:30:16 +02:00
Luis de Bethencourt
eabcf8f106 gst-validate: some static variables can be local
buffering is only used inside the bus_callback, so it can have that local
scope. same thing with ret which is only used in the main function.
2014-05-02 17:25:07 -04:00
Luis de Bethencourt
0b01b578ce gst-validate: small typo in usage summary 2014-05-02 16:53:51 -04:00
Thibault Saunier
5d200f8819 validate: Add a scenario that disable subtitles
+ Clean the sythax to define switch-track action that actually
desactivate the track
2014-05-02 18:30:23 +02:00
Thibault Saunier
1ffb6b4e1c validate: Allow specifying scenarios to parse when lisiting them
It used to only handle the scenario present in proper paths, we
also need to handle special scenarios provided by users on the fly
2014-05-02 18:30:22 +02:00
Thibault Saunier
f165fb41d0 validate: Handle ERROR on the bus when monitoring the pipeline
This way the user get a  clear information in the report about the issue

+ sensibly cleanup code
2014-05-02 18:30:22 +02:00
Thibault Saunier
a62560bc81 validate: Add an action to set an external URI file on playbin at runtime 2014-05-02 18:30:22 +02:00
Thibault Saunier
2a9e0824b2 validate: Override switch_track action when using a playbin
And use the playbin feature for that when the pipeline is based on playbin
2014-05-02 18:30:22 +02:00
Thibault Saunier
2d7d03d2f7 validate: Add a 'stop' action to stop a pipeline
It uses the GST_MESSAGE_REQUEST state with the scenario as a source
so that application can stop running when they receive it on the bus.
2014-04-25 14:33:06 +02:00
Thibault Saunier
38eda37341 validate: Handle position printing at the monitor level
Instead of replicating that code all around
2014-04-23 11:27:44 +02:00
Thibault Saunier
7f54c5dba8 validate:launcher: Always set sync=True on fakesink on playback pipelines
This way we are in closer condition of real sink playback.

+ some minor cleanup in gst-validate.c
2014-04-22 09:42:59 +02:00
Thibault Saunier
ad25b4d160 validate: Handle g_log errors at the gst-validate level 2014-04-17 12:23:04 +02:00
Thibault Saunier
6d8ff8a92a tools:validate: Start printing position on ASYNC_DONE
As this is what is done in the scenarios.
2014-03-19 17:45:36 +01:00
Thibault Saunier
4467b27b9f validate: Add a way to save details about avalaible scenarios in a file 2014-02-18 21:07:31 +01:00
Thibault Saunier
9e66ac00f6 validate: Add a way to add a "description" to scenario files
Print details about the descriptions when listing scenario in a KeyFile
format

The description can contain any information about the scenario such as its duration before
EOS, how long the pipeline needs to be so the scenario can be applied...etc
2014-02-18 21:07:31 +01:00
Thibault Saunier
8b8562ea85 validate:tools: Implement Buffering support in the various tools 2014-02-12 11:23:23 +01:00
Thibault Saunier
677e111f0b validate: tools: Do not dot the pipeline every 50ms, it is a bit exessive 2014-02-06 12:02:58 +01:00
Thibault Saunier
d485180074 validate:tools: Return an exit code != 0 if pipeline can't go to playing
And give some information to the user about why the return code is !=0
everywhere it happens
2014-02-06 12:02:58 +01:00
Thibault Saunier
d8fc68479c validate:tools: Print position every 50ms in gst-validate 2014-02-06 12:02:57 +01:00
Thibault Saunier
b51e143fdf validate: tools: Unref the pipeline before the runner and monitor
Avoids segfault in some cases, and monitors and runners have week ref on
their targets.
2014-02-06 12:02:57 +01:00
Thibault Saunier
1c3340ecbb tools: Simplify the setting of action scenario vs config scenario
This make it easier for user to understand the difference between
the two concepts and avoids confusion.

Change-Id: Ib42913722c93a1e7e3c8b156173c458230946592

Conflicts:
	validate/tools/gst-validate-transcoding.c
	validate/tools/gst-validate.c
2013-11-25 16:55:25 -03:00
Thibault Saunier
9dfee4dffa scenario: Do not execute anything when listing scenarios 2013-11-25 16:55:25 -03:00
Olivier Crête
3a6f42bf67 gst-validate: Don't use the GOptionContext after freeing it 2013-09-30 09:52:07 -04:00
Vincent Penquerc'h
fefc5ffb41 monitor-preload: schedule a report printout at exit
Conflicts:
	tools/gst-validate.c
2013-09-05 13:40:41 -03:00
Vincent Penquerc'h
7223b183f3 gst-validate: ensure the top level element is a pipeline
For instance, "fakesrc" will return a fakesrc, not a pipeline.

This is similar to what gst-launch does, and avoids calling
pipeline API on a non pipeline object (and thus asserting).
2013-09-05 13:40:39 -03:00
Vincent Penquerc'h
9cf4857776 gst-validate: do not try to use a pipeline which failed to create
Instead, error out properly with the actual error, if available.
2013-09-05 13:40:35 -03:00
Vincent Penquerc'h
3019586677 gst-validate: initialize gst/glib before use in scenario listing
Also ensure that if just -l is passed, we don't try creating a
non existent pipeline.

This makes gst-validate -l work properly again.
2013-09-05 13:37:39 -03:00