Commit graph

694 commits

Author SHA1 Message Date
Stefan Sauer
cd1f50a971 info: start adding gstreamer discoverer 2013-09-15 19:50:28 +02:00
Stefan Sauer
076bfdceb6 mi: code style 2013-09-15 19:50:28 +02:00
Stefan Sauer
c10728a7a9 info,app: move label to separate info class
Info class will run discover and have the detailed UI.
2013-09-15 19:50:28 +02:00
Stefan Sauer
ae703c4f47 README: add sample discover output 2013-09-15 19:50:28 +02:00
Stefan Sauer
83de6725a2 app: add basic widget and do basic preview
Add a menu bar and a file browser. Set up a preview callback.
2013-09-15 19:50:28 +02:00
Stefan Sauer
36ec12dc9c po: add LINGUAS file and handle generated files under po/ 2013-09-15 19:50:27 +02:00
Stefan Sauer
9d662a51d2 build: tweak autogen.sh
Generate autoregen.sh, run configure.
2013-09-15 19:50:27 +02:00
Stefan Sauer
4c1567a368 *: initial boilerplate 2013-09-15 19:50:27 +02:00
Stefan Sauer
49a97a3553 docs: start collecting ideas 2013-09-15 19:50:27 +02:00
Thibault Saunier
8a9e9a7fd7 data: Port remaning scenario files to new format
And add support to user declared timestamps -1.0 as GST_CLOCK_TIME_NONE
2013-09-13 12:03:44 -03:00
Thibault Saunier
ea1f0a64f2 scenario: Rework scenarios to be: 1- Simpler to write them, 2- extendible
Make the scenario files a list of GstStructure-s as strings
2013-09-09 19:31:21 -03:00
Thibault Saunier
711946879e bin-monitor: Add a way to specify pipelines on which to set scenarios
When used with LD_PRELOAD,  the application might use various pipelines
for several different thing, we need to make it possible to spcify a
specific pipeline (or set of pipelines) on which to run the scenario.

The format is in the form of:
            scenario_name:pipelinename_pattern*
2013-09-09 19:07:32 -03:00
Thibault Saunier
5cea134655 scenario: Try to run scenarios in development first 2013-09-09 19:01:44 -03:00
Edward Hervey
4dfecb6ee1 Adapt submodule usage for gst-devtools 2013-09-09 17:40:36 +02:00
Edward Hervey
746b6f41b2 tools: Update .gitignore for tools move 2013-09-09 15:36:15 +02:00
Thiago Santos
24b6284d17 pad-monitor: avoid false positives when a seek fails
Remove the expected seqnums for events when a seek fails, preventing
false positives at the final report
2013-09-05 16:15:40 -03: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
Thiago Santos
789ea6e9d5 pad-monitor: fix typo on macro usage
Pass the correct variable to macro
2013-09-05 11:47:21 -03:00
Thiago Santos
1860712098 pad-monitor: allow flushing flow returns when pad is flushing
It should always be acceptable to return GST_FLOW_FLUSHING when the
pad is flushing
2013-09-05 11:46:46 -03:00
Thiago Santos
a1775e75e5 pad-monitor: removing bad check
Elements are allowed to accumulate segments, they don't have to push
1:1 segments as they receive
2013-09-04 08:51:54 -03:00
Thiago Santos
25c55501a0 pad-monitor: buffer timestamp ranges check
Improve buffer timestamp range check:

* Only do it for encoders or decoders
* Audio has an acceptable tolerance of 100ms

To do this, keep track of the caps on the pad and store
if it is dealing with audio or video
2013-09-03 15:35:36 -03:00
Thiago Santos
26cff77b72 pad-monitor: move caps check to common event handling
Allows both src and sink pad to keep track of the current caps, but
the duplicated caps check is still only applied to sink pads as
src pads can push the same caps multiple times when it isn't linked
2013-09-03 15:17:05 -03:00
Thiago Santos
bd0f19c105 pad-monitor: fix reference handling for expired events list 2013-09-02 20:41:35 -03:00
Thiago Santos
7154f280b5 docs: update and improve
Thanks to Thibault Saunier for most of the explanatory texts
2013-09-02 16:09:07 -03:00
Thiago Santos
2e216818bd Replacing mentions of qa with validate 2013-09-02 13:22:51 -03:00
Edward Hervey
cc65145eb1 pad-monitor: Check if iterator exists before trying to use it 2013-09-02 12:18:07 -03:00
Edward Hervey
788054bda7 pad-monitor: make debug log more readable
Use pad as the debug object to make logs more meaningful.

Also adds a FIXME note
2013-09-02 12:15:24 -03:00
Edward Hervey
fb58e16c5a element-monitor: protect agains elements that have no klass 2013-09-02 12:11:25 -03:00
Thiago Santos
ea903da1c7 pad-monitor: use activate-mode function to detect when to clear pad data
Clear as much as a flush-stop when pad is deactivated
2013-09-02 12:05:46 -03:00
Edward Hervey
d2edb59a24 WIP: pad-monitor: Fix serialized event order check 2013-09-02 10:47:32 -03:00
Thiago Santos
fef4eba9a2 pad-monitor: also track eos event that should be emitted after a seek
When seeking out of the media file length, the element should push an
EOS with the same seqnum of the seek event
2013-09-02 10:46:55 -03:00
Thiago Santos
390b54f40d scenario: add missing space 2013-09-02 10:46:42 -03:00
Edward Hervey
78e1cb82da validate: prettify output of results
Makes the result a bit more readable than a compact multi-line list.

FIXME: Figure out how to print the description of the issues (which can
spawn multiple lines) in a nice way.
2013-09-02 10:03:07 -03:00
Thiago Santos
adca72b069 scenario: add missing line break after print 2013-08-29 14:27:34 -03:00
Thiago Santos
713da78201 pad-monitor: avoid tracking tag events
Tag events are hard to track and check if properly serialized because
they mutate too much inside elements. There is no reliable way currently
to match a tag event pushed into an element and another tag event
leaving the element (other than if the pointers are actually the same).
2013-08-29 14:26:05 -03:00
Thiago Santos
1c874d175e pad-monitor: only do combined return checks for demuxers
Seems like the only place that gstreamer elements should really
care about it
2013-08-29 11:48:33 -03:00
Thiago Santos
a426198916 pad-monitor: add two useful macros for readability
Avoids using long macros and having to check for pad-monitor parent
existance
2013-08-29 11:47:58 -03:00
Vincent Penquerc'h
f5f4635d0e media-info: add a track switching test
This test will find the first input selector with more than one
sink pad, and cycle through them till it gets back to the original
one. Five seconds between switches. The test checks that some data
was sent from the input selector when each of the sink pads was
selected.
2013-08-29 10:43:03 -03:00
Thibault Saunier
f893bb7534 scenario: Print on stdout when we seek 2013-08-28 19:14:31 -03:00
Thibault Saunier
1dcfaea37f validate: Report an issue result of query state that position > duration 2013-08-28 19:00:58 -03:00
Thibault Saunier
78d2fde632 scenario: Execute action whenever we pass the expected position
We know are sequential so whenever the wanted position is passed we
should execute the action.

This avoid issue with the tolerance when we have high rate playback
2013-08-28 18:55:55 -03:00
Thibault Saunier
5953b71907 validate: Dump pipeline for each state change
Ala gst-launch
2013-08-28 18:54:18 -03:00
Thibault Saunier
beb537d10b transcoding: Print duration regularly 2013-08-28 18:53:46 -03:00
Thibault Saunier
80702884f0 validate: Print state changes to help debugging 2013-08-28 18:51:53 -03:00
Thiago Santos
1dd93bea2a licenses: improving licensing info on all files 2013-08-28 16:58:11 -03:00
Thiago Santos
5f261269f8 pad-monitor: fix typo when acessing parents data 2013-08-28 16:49:07 -03:00
Thiago Santos
103bf74768 pad-monitor: reset buffer timestamp data after a flush
As the pad/element also clears its internal state
2013-08-27 18:26:14 -03:00